禁則処理について

禁則処理について

- n k の投稿
返信数: 7
こんにちは.私のTeXでタイプすると禁則処理がおかしいです.カンマやピリオド,スポ”ー”ツの伸ばす記号が文頭に来たり,開き括弧”(”だけが文末に来たりします.禁則処理のペナルティ数値は正常でした.
何か原因で思い当たることがあればお教えください.

ちなみにこれが私だけの問題なのかそうでないのか調べるために,もし宜しければ以下をタイプセットしてみて頂けませんか.私の環境ではいずれも禁則処理がおかしくなるものです.

\documentclass[11pt,A4paper,dvipdfmx]{jsarticle}
\usepackage[top=25truemm,bottom=15truemm,left=18truemm,right=18truemm]{geometry}
\setlength{\parindent}{0pt}
\usepackage{amsmath,amssymb,ascmac,tikz,mleftright}

\begin{document}

$列\left\lbrace a_n\right\rbrace _1を作る.なおここでは1つの項も数列と考える.\left\lbrace a_n\right\rbrace _1がD数列であれば\left\lbrace a_n\right\rbrace _1にも操作\text{T}を行い,\ 数列\left\lbrace a_n\right\rbrace _2を作る.$\\ \\

$線l:y=-xと接し,\ 第2象限の点$Q$で直線m:y=2xと接する.C,\ l,\ x軸で囲まれる部分の面積を,\ S,\ C,\ m,\ x軸で囲まれる$\\ \\

{\Large IV}\ \ \ $自然数m,\ nに対し,\ 演算※を次のように定める.mとnが両方とも偶数または両方とも奇数の場合,\ m※n=m+nとする.$\\ \\

{\Large 36}.\ \ \ $ x^3+\framebox[0.5cm]{\rule{0pt}{2ex}}\framebox[0.5cm]{\rule{0pt}{2ex}}\framebox[0.5cm]{\rule{0pt}{2ex}}x^2+\framebox[0.5cm]{\rule{0pt}{2ex}}\framebox[0.5cm]{\rule{0pt}{2ex}}\framebox[0.5cm]{\rule{0pt}{2ex}}x+64=0は異なる3つの実数解を持ち,それらは等比数列をなす.(答)-13-52 $\\ \\

$ (U,0)の領域は\left\lbrace (u_1,f(u_1)) | 0 \leqq u_1 \leqq m_1 \right\rbrace で表される.fは[0,m_1]で微分可能で狭義に単調減少である.\ (→なぜ?) $\\ \\

$ \textcircled1 の上の式は,\ プレイヤー1の利得を1回目の利得で固定したとき,\ 変動ゲームを繰り返すたびにプレイヤー2の利得は上がっていくことを示している.$\\ \\

$ g_i^\epsilon(x_1,x_2)=x_i h^\epsilon (x_1,x_2)をx_iで微分する.1 \times h^\epsilon (x_1,x_2) + x_i \times ((8.12)の下の式を微分したもの)が(8.13)式. $

\end{document}

どうぞよろしくお願い致します.
n k への返信

Re: 禁則処理について

- m c の投稿
行内数式($〜$間)に数式要素以外のもの,具体的には日本語の文章が入っていることが
原因と思います.
TeXは$〜$間に入っているものを全て数式要素とみなしますので,日本語の文字も数式記号
と判断して組版しますから禁則処理は効きません.
日本語(というか文章)は数式記号の外に出してください.
(例)列$\left\lbrace a_n\right\rbrace _1$を作る.
m c への返信

Re: 禁則処理について

- n k の投稿
ご回答ありがとうございます.仰せの通り$ $内に数式要素だけにしてみたところ,

$ (U,0) $の領域は$ \left\lbrace (u_1,f(u_1)) | 0 \leqq u_1 \leqq m_1 \right\rbrace $ で表される.$ f $は$ [0,m_1] $で微分可能で狭義に単調減少である.\ $ ( $→なぜ?$ ) $ \\ \\

ここだけはやはり下線を引いた開き括弧だけが行末に来てしまいますが,それ以外はとりあえず正常になりました.ありがとうございました.

あの,重ねてお伺いしたいのですが,我々は日本語と半角の数式要素の入り混じった文書を書くことが大半だと思いますが,そもそも皆さんは数式要素の部分ごとに$ $で囲う,ということをされているのですか?それがTeXの普通の使い方なんでしょうか.
面倒臭すぎませんか?
n k への返信

Re: 禁則処理について

- 北見 けん の投稿
> そもそも皆さんは数式要素の部分ごとに$ $で囲う,ということをされているのですか?それがTeXの普通の使い方なんでしょうか.
> 面倒臭すぎませんか?

皆さんそうしていると思います。
初心者向けに TeX を紹介しているサイトや書籍などで掲げられている例を見ても、
みなそうなっているのじゃないかと思います。
なのでおそらく、全体を$ $の中に入れてしまう書き方はご自身で思いつかれたのですよね。
私も入門したての頃にその方が簡単じゃないかと思いついてやったことがありましたが、
TeX の動作について詳しくなると、
そのような入力では正しい組版ができないと了解するようになって、やめました。
(追記:数式まじりの日本語組版では伝統的に文中の数式と隣接する日本語との間に一定の空白が挟まれます。その一方で、「面積=底辺\times 高さ」のように数式中に直に日本語を使うことが必要な場面もあります。数式部分ごとに $ $ で囲んでおかないと、TeX が空白を挟むべきかどうか自動では判別できないわけです。)

たしかに半角と全角の切り替えは慣れないと面倒なので、
なにかの入力補完機能のついたエディタを使う人も多いでしょう。
私は入力補完は使わずにいちいち切り替えていますが、もうすっかり慣れました。
北見 けん への返信

Re: 禁則処理について

- n k の投稿
なるほど,そうなのですね.皆さんそうされてるんですね…
私は特に何も考えずTeXstudioを使ってますが,エディタもちょっと考えてみた方がよさそうですね.

詳しくありがとうございました.
n k への返信

Re: 禁則処理について

- m c の投稿
北見さんのおっしゃるとおりだと思います.

私見ですが,書き手の意図を明確にTeXに指示するという点では極めて合理的だと思っています.
日本語では確かに面倒ですが,TeXworksのように入力支援機能として持っているエディタもあり
ますので,そこは個々の利用者が考えれば良いことだと思います.

日本語だけを組版するものではなく英語(あるいは他の言語)で書くこともありますし,もちろ
ん世界中で利用されるわけですから,ワールドワイドで命令が統一されていることはプログラミ
ング言語と同様に重要な要素かと思います.

TeXは一種のプログラミング言語と思った方が良いかもしれません:これも私見
n k への返信

Re: 禁則処理について

- m c の投稿
> ここだけはやはり下線を引いた開き括弧だけが行末に来てしまいます

この原因は,その開き括弧が$で囲まれていて単一の文中数式とみなされているからです.
数式なので,禁則処理は効きません.
m c への返信

Re: 禁則処理について

- n k の投稿
これについても変な空白が入っていて,それを消したら正常に禁則処理されました.

お二方ともどうもありがとうございました.