fraction - yarakos95/LaTeX-for-math GitHub Wiki
amsmath では分数のような構造の数式を\genfrac
を用いて以下のように定義[^genfrac]している.
[^genfrac]: \over
,\overwithdelims
,\atop
,\atopwithdelims
,\above
,\abovewithdelims
(プリミティブな一般化された分数コマンド) をamsmath パッケージで使用することは出来ず,エラーメッセージが表示されるようだ.これは,technote.texで説明されている.
\genfrac{<左デリミタ>}{<右デリミタ>}{<括線の太さ>}{<数式スタイル>}{<分子>}{<分母>}
デリミタは\left ~\right
で対応させる必要はない.しかし,片側のみのデリミタを利用する場合には,\left ~\right
で対応させるときと同様に.
を用いて対応させる必要がある.
4つ目の引数には数式スタイルを0~3の数字で挿入する.
数式スタイル | ||
---|---|---|
0 | \displaystyle |
背が高い |
1 | \textstyle |
背が低い |
2 | \scriptstyle |
添え字のスタイル |
3 | \scriptscriptstyle |
添え字の添え字のスタイル |
この数式スタイルの引数を空にするとnormal の数式スタイルになる.
amsmath では以下のコマンドがすでに定義されている.
コマンド | スタイル | |
---|---|---|
\frac |
style にしたがう | normal な分数 |
\tfrac |
\textstyle |
背の低い分数 |
\dfrac |
\displaystyle |
背の高い分数 |
\binom |
styleにしたがう | normal な二項式 |
\tbinom |
\textstyle |
背の低い二項式 |
\dbinom |
\displaystyle |
背の高い二項式 |
これらは以下のように定義されている.
\newcommand{\frac}[2]{\genfrac{}{}{}{}{#1}{#2}}
\newcommand{\tfrac}[2]{\genfrac{}{}{}{1}{#1}{#2}}
\newcommand{\binom}[2]{\genfrac{(}{)}{0pt}{}{#1}{#2}}
\binom
では括線を“0pt”とすることで非表示としている.
以下のように\genfrac
を活用してみよう.
\newcommand{\fracd}[2]{\genfrac{}{}{}{}{\mathrm{d} #1}{\mathrm{d} #2}} % 分子分母に"#~" 以外を付け足すことも出来る
\newcommand{\fracdx}[1]{\genfrac{}{}{}{}{\mathrm{d} #1}{\mathrm{d} x}} % 引数を1つにも出来る
\newcommand{\fracpd}[2]{\genfrac{}{}{}{}{\partial #1}{\partial #2}}
\newcommand{\fracrvb}[2]{\genfrac{.}{\rvert}{}{}{#1}{#2}} % 右デリミタの縦線と"." を対応付ける
\genfrac
では括線や数式スタイルを決めることが出来ることがうま味になるだろう.その意味では,他の定義方法もある上のような例では活用しきれていないような気もする.