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.png

\genfrac では括線や数式スタイルを決めることが出来ることがうま味になるだろう.その意味では,他の定義方法もある上のような例では活用しきれていないような気もする.

⚠️ **GitHub.com Fallback** ⚠️