8. 数式の微調整
数式を構築するために必要な機能のほとんどはすでに説明しました。しかし、まだいくつかの細かな点が残っており、これらを活用すると、本や論文の全体的な外観と可読性を向上させる、非常に美しい数式を作成できます。
8.1. 句読点
一般的なルールは次のとおりです。式の後に句点、コンマ、セミコロン、コロン、疑問符、感嘆符などが続く場合、式が文章中にあるときは $ の前に句読点を置き、ディスプレイ数式の場合は $ の後に置きます。例えば、
1If $x<0$, we have shown that $y=f(x).$したがって、次のように入力すべきではありません。
1for $x = a, b$, or $c$.正しくは
1for $x = a$, $b$, $c$.最初の場合、TeX は $x = a, b を単一の数式として組版し、コンマと b の間に細いスペースを挿入します。このスペースはコンマと c の間のスペースとは異なり、単語間のスペースは常に細いスペースより大きいため、見た目が悪くなりますが、2 番目の場合は間隔が適切に見えます。
また、TeX は式中のコンマと b の間のスペースで段落の改行を行わないことも重要です。式中のコンマの後で改行することは通常誤りです。例えば、式 $x = f(x, a) のように。
このように、段落内での改行の可能性が抑制され、組版された文書の外観が悪くなることがあります。言い換えれば、句読点が文の一部であり数式の一部でない場合は、$ の外側に置いてください。
8.2. 斜体でない文字
「log」などの一般的な数学関数は常にローマン体で設定されます。これらのオブジェクトを数式に含める最良の方法は、以下のコマンドを使用することです。

以下の例ではこれらのコマンドのいくつかが使用されています。

最後の 2 つの表示された数式は、いくつかのコマンドが TeX によって総和記号のような上限・下限を持つ大きな演算子として扱われることを示しています。また、\max の下添え字は \log の下添え字とは扱いが異なります。添え字と上添え字は、ディスプレイスタイルで \det, \gcd, \inf, \lim, \liminf, \limsup, \max, \min, \Pr, \sup に付くと、上限・下限として表示されます。
上記に一覧されていない、頻繁に使用する関数や演算子でローマン体が必要な場合は、簡単に独自のコマンドを定義できます。例えば、上限付きの演算子 \oper を定義したい場合、プリアンブルに次の定義を追加します。
1\def\oper{\mathop{\rm oper}}
演算子に上限を付けたくない場合は、次のように定義します。
1\def\oper{\mathop{\rm oper}\nolimits}単一の使用だけでローマン体が必要な場合は、次のように \rm に切り替える方が簡単です。

最後の場合で使用されている \ に注意してください。これがないと、普通の空白が無視され、lower order terms が「lowerorderterms」のように組版されてしまいます。
「mod」という語も数式中では通常ローマン体で設定されますが、使用方法が二通りあるため注意が必要です。LaTeX は、二項演算として「mod」を使用する場合は \bmod、式の末尾で括弧内に「mod」が現れる場合は \pmod を提供します。

\pmod は自動的に括弧を挿入します。括弧内の数量は単一の記号でない限り、波括弧で囲む必要があります。
\rm と同様の方法で他の書体も取得できます。例えば、\bf は太字にします。

+や=が依然としてローマン体であることに気付くでしょう。LaTeX は、\rm や \bf といったコマンドが大文字 A〜Z、小文字 a〜z、数字 0〜9、大文字ギリシャ文字 \Gamma〜\Omega、および \hat や \tilde のような数式アクセントにのみ影響するよう設定しています。ちなみに、この例では波括弧は使用していません。
8.3. 数式間のスペース
ディスプレイに複数の数式が含まれることはよくあります。たとえば、方程式に副条件が添えられることがあります。

このような場合、コンマの後にどれだけのスペースを入れるか TeX に指示する必要があります。通常の慣習では式が詰まりがちになるからです。次のように入力します。
1$F_{n}=F_{n-1}+F_{n-2},\qquad n\ge2$.ここで、\qquad は「ダブルクアド」を表し、quad は印刷業界で一般的に使用されるスペース量を指します。したがって \quad は水平方向の印刷クアドのスペースを意味します。通常の慣習と異なる間隔が必要なときは、\quad や \qquad といったコマンドを明示的に使用して指定しなければなりません。
かつてはクアドは 1 em の幅と高さを持つ正方形の空白文字(大文字 M の大きさに相当)でしたが、LaTeX のクアドは高さを持ちません。
段落内のテキストでは、数式はコンマだけでなく単語で区切られた方が見栄えが良くなります。どうしてもテキストが入らない場合は、少なくとも数式間にスペースを入れるべきです。次を比較してください。
1The Fibonacci numbers satisfy $F_{n}=F_{n-1}+F_{n-2}$, $n\ge2$.と
1The Fibonacci numbers satisfy $F_{n}=F_{n-1}+F_{n-2}$, \ $n\ge2$.これらは次のように表示されます。

ここでの \ は視覚的な分離を与え、悪いスタイルをある程度補正します。
8.4. 数式内部のスペース
TeX が自動的に数式の間隔を調整し、ほとんどの場合に見た目を整えてくれることはすでに見てきました。しかし、可能な数式は膨大で、TeX の間隔規則は単純なため、例外が生じるのは自然なことです。そのような場合に備えて、\ 、\quad、\qquad では得られない細かい単位のスペースを手動で挿入できるようにしたいものです。
TeX が数式に挿入する基本的なスペース要素は 薄いスペース、中くらいのスペース、太いスペース と呼ばれます。TeX は自動的にこれらを挿入しますが、必要に応じて次のコマンドで独自の間隔を加えることができます。

微分の数式では、dx、dy、d… の前に余分な薄いスペースを入れると見た目が最良ですが、TeX は自動的には行いません。以下の例はその方法を示しています。

2 番目から最後の数式では、/ の後に \, は不要です。また最後の例では、*dt* が分数の分子だけに現れるため \, は必要ありません。これにより、式の残りの部分から視覚的に分離されます。
物理単位が数式に現れるときは、ローマン体で設定し、前の要素と薄いスペースで区切ります。

感嘆符(階乗記号)の後にも、次の文字が文字・数字・開き区切り文字の場合は薄いスペースを入れるべきです。

この他にも、記号が過度に詰まって見える、または余分な空白が目立つといったケースがたまにあります。形状の組み合わせが不運な場合、\ , や \! を上手に使うことで、間隔を広げたり狭めたりして、読者が数式の意味から注意を逸らさないようにできます。根号や多重積分はこうした微調整の対象になることが多いです。以下に注意すべき状況の例を示します。

| や \| が数式に現れるとき、TeX の間隔規則が失敗することがあります。これらは区切り記号としてではなく普通の記号として扱われるためです。次の式を考えてみましょう。

最初のケースでは、+ が | と *x* の和を計算していると TeX が誤解するため間隔が不適切になります。2 番目の例では \left と \right を使用することで正しい間隔が得られます。3 番目の例は、他の区切り記号では修正が不要であることを示しています。なぜなら、TeX はそれらが開きか閉じかを認識できるからです。
8.5. 省略記号
省略記号は高さの異なる 2 種類の点で表せます。伝統的にはこの二つを区別します。一般に次のように数式を作ります。

しかし、次のように作るのは誤りです。

低い点が欲しいときは \ldots、垂直に中央揃えされた点が欲しいときは \cdots を使用します。一般に、+、-、掛け算記号の間や、=、「≦」記号、部分集合記号などの関係記号の間では \cdots を使用するのが最適です。低い点はコンマの間や、全く記号が無い場合の連続に使用します。

ただし、式の末尾や閉じ括弧直前に \ldots や \cdots が現れると間隔が正しくなりません。このような場合は余分な薄いスペースが必要です。例えば次の文をご覧ください。

1Prove that $(1-x)^{-1}=1+x+x^2+\cdots\,$.\ , が無ければ、ピリオドが \cdots に非常に近づいてしまいます。
1Clearly $a_i<b_i$ for $i=1$,~2, $\ldots\,$,~$n$.ここではティア (~) が使用されており、余計な改行を防いでいます。この種の省略記号は数学的執筆のいくつかの形態で非常に一般的です。そのため LaTeX は \dots マクロを $\ldots\, の略記として提供しています。
8.6. 改行
段落中に数式があると、TeX は行間で数式を改行する必要が生じることがあります。TeX が数式を改行するのは、関係記号または二項演算記号の後で、かつそれが式の外側レベル({…} で囲まれていない)にある場合に限られます。例えば次のように入力したとします。
1$f(x,y) = x^2-y^2 = (x+y)(x-y)$この式が段落の途中にあると、TeX は = 記号の後(好ましい)や、緊急時には - や + の後で改行する可能性があります。しかし、コンマの後で改行されることは決してありません。なぜなら、コンマの後での改行は通常望ましくないからです。
コンマの後で改行させたくない場合は、次のように書くことができます。
1$f(x,y) = {x^2-y^2} = {(x+y)(x-y)}$この追加の波括弧は部分式を「凍結」し、分割不可能なボックスに入れるためです。実際に TeX が数式をひどく改行するケースは非常に稀なので、特に心配する必要はありません。
外側レベルでの改行を許可したい場合は \allowbreak を使用します。例えば次の数式が段落中に現れたとき、
1$(x_1,\ldots,x_m,\allowbreak y_1,\ldots,y_n)$TeX はそれを二つに分割して改行を許可します。

8.7. 波括弧
{ と } の記号はさまざまな表記で使用され、LaTeX はそれらを扱うためのコマンドを提供しています。
最も単純なケースは、波括弧が要素集合を示すときです。例えば {*a*, *b*, *c*} は要素 a、b、c の集合を表します。

集合は、一般的な要素に続いて特定の条件を付け加える形でも示せます。例えば、5 より大きいすべてのオブジェクト x の集合は次のように書けます。

これらは同じ集合を示す二つのバリエーションです。最初の表記では縦棒を得るために \mid を使いますが、二番目はコロンだけで済み、コロンは二項演算として扱われます。
区切り記号が大きくなると、\bigl、\bigm、\bigr を使用します。

さらに大きな区切り記号が必要な場合は、\Big、\bigg、\Bigg などのコマンドを使用します。
ディスプレイ数式で波括弧は、複数の選択肢を示す左波括弧としても使われます。

この構文は \case コマンドで入力できます。
1$|x|=\case{x,&if $x\ge0$;\cr
2 -x,&otherwise.\cr}$各ケースは & 記号で区切られた二つの部分からなります。& の左側は数式で暗黙的に $…$ で囲まれ、右側は通常テキストです。& の前後の空白は無視されます。ケースの数は任意ですが、一般的には二つです。各ケースの後には必ず \cr を付けます。
\overbrace や \underbrace を使用すると、ディスプレイ数式の一部の上部または下部に水平波括弧を設定できます。これらは \sum のような大演算子とみなされ、上付き・下付きで上限・下限を付けることができます。

8.8. 行列
行列は数学的数式で比較的頻繁に現れるオブジェクトで、行と列に配置された数式の長方形配列に過ぎません。LaTeX は最も一般的な行列を扱うために \matrix コマンドを提供しています。
例えば次のようなディスプレイを作りたいとします。

次のように入力すれば実現できます。
1$A=\left(\matrix{x-\lambda&1&0\cr
2 0&x-\lambda&1\cr
3 0&0&x-\lambda\cr}\right).$これは以前見た \cases 構文と非常に似ており、各行は \cr で区切られ、列の間は & で区切ります。ただし \cases とは異なり、行列全体を \left と \right で囲む必要があります。これは行列の構成によって使用する区切り記号が変わり得るためです。一方、丸括弧は他の区切り記号よりも頻繁に使用されるため、\pmatrix と書けば LaTeX が自動的に丸括弧を付けてくれます。
1$\pmatrix{x-\lambda&...&x-\lambda\cr}.$行列の各要素は通常その列の中央に配置され、列の幅は要素に合わせて自動的に拡張され、列間にはクアド幅の空白が入ります。列内で左寄せ・右寄せしたい場合は、要素の前後に \hfill を付けます。
行列の各要素は他の要素とは独立に処理され、テキストスタイルの数式として組版されます。したがって、ある要素で \rm を使用しても他の要素には影響しません。{\rm x&y} のような記述は無効です。
行列は省略記号で行や列が省かれた一般的なパターンとして現れることがよくあります。\ldots に加えて、\vdots(縦方向の点)や \ddots(対角線上の点)も利用できます。次の行列を例に取ります。

1$A=\pmatrix{a_{11}&a_{12}&\ldots&a_{1n}\cr
2 a_{21}&a_{22}&\ldots&a_{2n}\cr
3 \vdots&\vdots&\ddots&\vdots\cr
4 a_{m1}&a_{m2}&\ldots&a_{mn}\cr}$時には行列の上部と左側に、行や列のラベルになる式が付くことがあります。そのような場合のために LaTeX では \bordermatrix という特別なマクロが用意されています。例えば次のディスプレイは次のように作ります。

1$M=\bordermatrix{&C&I&C'\cr
2 C&1&0&0\cr
3 I&b&1-b&0\cr
4 C'&0&a&1-a\cr}$最初の行は大きな左・右括弧の上にラベルを付け、最初の列は左側にラベルを付けて左寄せで表示します。第一列と第一行の交点の要素は通常空白です。\pmatrix と同様に、\bordermatrix も独自の括弧を挿入します。
行列を段落中のテキストに直接入れることは通常推奨されません。行列は大きく、ディスプレイ表示の方が見栄えが良いためです。ただし、どうしてもテキスト中に小さな行列を入れたい場合は、\choose や \atop を使用できます。
