ちょこっと MathJax: インライン数式と別行立て数式
前回からだいぶ間があいたけど,そろそろ続きを。
- ちょこっと MathJax: 初期設定
- ちょこっと MathJax: 基本的な数式表現
- ちょこっと MathJax: インライン数式と別行立て数式 ← イマココ
- ちょこっと MathJax 番外編: mathcomp パッケージの代替え
- ちょこっと MathJax 番外編: V4 へのアップグレード
インライン数式と別行立て数式
さて,初期設定の回でも少し言及したが,MathJax の数式の表示には2種類ある。
まず本文に埋め込まれる形で表示される数式。
これを「インライン数式(in-line math)」と呼ぶ。
インライン数式は \(...\) で囲んで記述する。
たとえば
エネルギーと質量には \(E=mc^2\) の関係がある。
と記述すると
のように表示される。
もうひとつは本文とは行を改めて表示される数式。
これを「別行立て数式(displayed equations)」と呼ぶ1。
別行立て数式は $$...$$ または \[...\] で囲んで記述する。
たとえば
エネルギーと質量には \[E=mc^2\] の関係がある。
と記述すると
のように表示される。
$\mathrm{\LaTeX}$ ではインライン数式については \(...\) ではなく $...$ を使う。
なので設定をいじって $...$ を有効にしてしまおう。
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']],
processEscapes: true // use \$ to produce a literal dollar sign (true is default)
}
};
Textstyle と Displaystyle
先程の例で挙げた数式 $E=mc^2$ ではインライン数式と別行立て数式表示に(表示位置以外は)さしたる違いは見られないが,数式によっては表示が明らかに異なる場合がある。
たとえば \sum_{k=1}^n a_k という記述について,インライン数式なら
となるが,別行立て数式では
となる。
インライン数式では,できるだけ数式が本文からはみ出ないように自動的に調節してくれているのである。
これを意図的に変えるには \textstyle, \displaystyle, \limits, \nolimits といったコマンドを使う。
以下に各コマンドを使った場合の表示の違いを挙げる。
| $\mathrm{TeX}$ 記法 | 表示 |
|---|---|
\textstyle\sum_{k=1}^n a_k |
$\textstyle\sum_{k=1}^n a_k$ |
\displaystyle\sum_{k=1}^n a_k |
$\displaystyle\sum_{k=1}^n a_k$ |
\textstyle\sum\limits_{k=1}^n a_k |
$\textstyle\sum\limits_{k=1}^n a_k$ |
\displaystyle\sum\nolimits_{k=1}^n a_k |
$\displaystyle\sum\nolimits_{k=1}^n a_k$ |
分数表記
もうひとつ。
インライン数式と別行立て数式で気をつけるべきなのが分数の表記である。
たとえば y=1/x を $\mathrm{TeX}$ 記法で記述する場合は y=\frac{1}{x} と書くが,インライン数式の場合は
y=1/x は $y=\frac{1}{x}$ と書く
となり,別行立て数式の場合は
y=1/x は \[y=\frac{1}{x}\] と書く
となる。
しかしインライン数式の場合,これでは文字が小さくなりすぎるし,結局は本文からハミ出してしまう。
なのでインライン数式では \frac を使うのではなくそのまま $y=1/x$ と書くのが良いとされている。
y=1/x は $y=1/x$ と書く
なお分数でも textstyle と displaystyle に相当する \tfrac と \dfrac がある。
| $\mathrm{TeX}$ 記法 | 表示 |
|---|---|
y=\tfrac{1}{x} |
$y=\tfrac{1}{x}$ |
y=\dfrac{1}{x} |
$y=\dfrac{1}{x}$ |
ちなみに MathJax でも連分数(\cfrac)が使える3。
\[
b_0 + \cfrac{c_1}{b_1 +
\cfrac{c_2}{b_2 +
\cfrac{c_3}{b_3 +
\cfrac{c_4}{b_4 + \cdots}}}}
\]
流石にこれはインライン数式じゃ無理だよね(笑)
インライン数式で高さを揃える。
インライン数式では $\sqrt{g}$ と $\sqrt{h}$ のように数式によって高さが不揃いになるものがある。
高さを揃えるには \mathstrut コマンドを使って以下のように記述する。
\mathstrut コマンドを使って $\sqrt{\mathstrut g}$ と $\sqrt{\mathstrut h}$ の高さを揃えてみる
\mathstrut コマンドを使って $\sqrt{\mathstrut g}$ と $\sqrt{\mathstrut h}$ の高さを揃えてみる
さらに \smash コマンドとも組み合わせて
\smash コマンドも使って $\sqrt{\smash[b]{\mathstrut g}}$ と $\sqrt{\smash[b]{\mathstrut h}}$ を揃えてみる
\smash コマンドも使って $\sqrt{\smash[b]{\mathstrut g}}$ と $\sqrt{\smash[b]{\mathstrut h}}$ を揃えてみる
とするともうちょっとだけいい感じになるようである4。 折角なのでマクロに組み込んでしまおう。
MathJax = {
tex: {
macros: {
ssqrt: ['\\sqrt{\\smash[b]{\\mathstrut #1}}', 1]
}
}
};
これで以下のように書けば
\smash コマンドも使って $\ssqrt{g}$ と $\ssqrt{h}$ を揃えてみる
同じ結果が得られる。
\smash コマンドも使って $\ssqrt{g}$ と $\ssqrt{h}$ を揃えてみる
別行立て数式に番号を振る
別行立て数式では数式に番号を振ることができる。たとえば \[E=mc^2\] に (a) をいう番号を振りたければ \tag コマンドを使って \[E=mc^2 \tag{a}\] とする。
この番号にはラベル \label を付けて参照することができる。
たとえば \[E=mc^2 \tag{b}\label{eq-b}\] としておいて
このラベルを参照するには \eqref{eq-b} でこのように →\eqref{eq-b}← 表示できる($...$ で囲まなくてもよい)5。
数式に通し番号を振る
ページ内で通し番号を振りたい場合は,以下のように設定を既定値(none)から変更する(オプション設定については初期設定の回を参照)。
MathJax = {
tex: {
tags: 'ams'
}
};
実際に番号を振るには数式を \[...\] で囲むのではなく \begin{equation}...\end{equation} で囲む。
自動で番号が振られるので \tag コマンドは不要である。
エネルギーと質量には
\begin{equation}
E=mc^2 \label{eq-1st}
\end{equation}
の関係がある。
参照も同様に →\eqref{eq-1st}← 表示できる。
余談だが \begin と \end で囲まれた領域を $\mathrm{\LaTeX}$ では「環境」と呼ぶ。
\begin{foober}...\end{foober} なら「foobar 環境」と呼んだりする。
equation にアスタリスクを付けた equation* 環境では,環境内の数式を自動採番の対象外にできる6。
エネルギーと質量には
\begin{equation*}
E=mc^2
\end{equation*}
の関係がある。
equation 環境以外にも align 環境や gather 環境なども自動採番の対象となる(自動採番を無効にするアスタリスクも有効)。
align 環境などで特定の式に番号を振りたくない場合は \notag コマンドを使って
\begin{align}
(a+b)^2 &= a^2+2ab+b^2 \\
(a-b)^2 &= a^2-2ab+b^2 \notag \\
(a+b)^3 &= a^3+3a^{2}b+3ab^2+b^3
\end{align}
とすればよい。
また複数の数式を split 環境や aligned 環境で囲むことで複数の数式の塊に一つの番号を振ることもできる7。
\begin{equation}
\begin{split}
(a+b)^2 &= a^2+2ab+b^2 \\
(a-b)^2 &= a^2-2ab+b^2 \\
(a+b)^3 &= a^3+3a^{2}b+3ab^2+b^3
\end{split}
\end{equation}
参考図書
- [改訂第9版]LaTeX美文書作成入門
- 奥村 晴彦 (著), 黒木 裕介 (著)
- 技術評論社 2023-12-09 (Release 2023-12-09)
- 単行本(ソフトカバー)
- 4297138891 (ASIN), 9784297138899 (EAN), 4297138891 (ISBN)
- 評価
2023年末に出てるのに気が付かなかった orz 今回は版元で PDF 版を買った。
-
「インライン数式」「別行立て数式」という言い回しは『LaTeX2ε美文書作成入門』を踏襲している。ちなみに “in-line math”, “displayed equations” は MathJax のドキュメントでの言い回し。 ↩︎
-
初期設定の回でも言及しているが
processEscapesはパラグラフ<p>...</p>内でのみ有効なようだ。つまりprocessEscapesが有効な状態では,パラグラフ内の\(...\)や\[...\]がエスケープされてしまうので注意すること。 ↩︎ -
出典は『LaTeX2ε美文書作成入門』より。 ↩︎
-
これも『LaTeX2ε美文書作成入門』を参考にした。いつもお世話になっています。 ↩︎
-
実は
\[...\]はequation*環境と等価である。 ↩︎ -
split環境は自動採番の対象外である。 ↩︎

