LaTeX メモ - ディスプレイスタイルの数式について
まとまりがないけれども,\displaystyle に関することについて聞かれたことがあったので,ここにメモしておきたい.\displaystyle と \limits, \nolimits については改めてまとめて書いたほうがいいかもしれない.なお,下記では amsmath パッケージを使っていることを仮定する.
指数部に \sum を使う場合
LaTeX において,行中に書くことを想定したテキストスタイルの数式 ($ ... $ で囲まれた数式) は,いまひとつ見栄えが良くない.そこで,数式を強制的にディスプレイスタイルにする \displaystyle というコマンドがよく使われるが,これを使えば必ず美しい数式が書けるというものでもない.
たとえば,変数 x のべき乗について,その指数部分に,和 (summation) 記号 \sum を使う場合を考えてみる.これを普通に LaTeX で書くと,図1のようになる.
図1
私はこれで問題ないと思うのだが,範囲を表す式(「j = 1」と「n」の部分)を \sum の上下に書けないか,つまり,ディスプレイ数式のように書けないか,という質問があった.この場合,単純には \displaystyle を使って強制的にディスプレイスタイルの数式にすればよいように思える.しかし,これではバランスが良くない(図2参照).
図2
こういうときには,\limits や \nolimits を使って範囲を表す式を制御するほうがよい(図3).
図3
分数を使う場合
テキストスタイルの数式で,見栄えの良くないものの一つに,分数式(\frac) がある.典型的な例として,たとえば,(\pmatrix などを用いて)行列の要素に分数式を使うような状況がある(図4).
図4
そこで,強制的に \displaystyle を使うことが考えられるが,amsmath パッケージでは,特に,ディスプレイスタイルの分数式として,\dfrac というコマンドがある.これは,\displaystyle\frac と同じ働きをする.ディスプレイスタイルにする数式として,他にも \dbinom などがある.
しかしながら,\dfrac は,単純に分数式をディスプレイスタイルにするだけなので,前後の行の行間がつまりすぎてしまうことがある(図5参照).
図5
この場合は,明示的に行間を制御するとよいと思われる.あまり知られてないかもしれないが,line break を行うコマンド「\\」は引数をとることができる.すなわち,\\[2ex] などとすることによって,行間を明示的に制御することができる.これを使って上の例の行間を指定すると,図6のようになる.
図6
なお,LaTeX の本によっては,行列の行間を制御するために,\\ に続いて \noalign{\vskip 1.5ex} を使うことをすすめているものもあるが,\\[1.5ex] で特に問題ないようだ.
注意すべきこと
国際会議や論文誌では論文スタイルがそれぞれ統一されており,論文における行間や余白の使い方には制限が課せられている場合が多いので,行間を著者が指定することは好まれないことがある.そういう場合では,テキストスタイル数式を使うべきところで \dfrac 等,ディスプレイスタイルの数式は使うべきではないかもしれない.
また,LaTeX において,\\(line break) と空行 (empty line) は異なる意味を持つ.前者は強制的に改行を加えるものであり,後者はパラグラフの終わりを意味する.LaTeX を使い始めたばかりの人は,\\ を使いたがる傾向があり,空行を使うべきところもすべて \\ を使うようなケースを良く見かける.LaTeX は文書の構造を表現するものであり,特にこれらは区別して使うべきである.
コメント
コメントを投稿