8.1 マクロ

既に紹介したように、プリアンブルに
gradient 作用素の記号を定義する
\newcommand{\grad}{\mathop{\mathrm{grad}}\nolimits}
と書いておくと、\grad というコマンドが定義できる。 これは TEX のマクロという機能を使っている。

マクロは、簡単な部分だけでも、便利に使うことが出来る。例えば \displaystyle コマンドや \varepsilon コマンドのように、 長くて入力が面倒なコマンドに、 短い別名をつけるために使うことが出来る。 そのためには、プリアンブルに例えば
\displaystyle, \varepsilon を手短に \dsp, \eps
\newcommand{\dsp}{\displaystyle}
\newcommand{\eps}{\varepsilon}
のように書けば良い。

マクロでは、いわゆる引数を用いることができる。 $ 2\times 2$ の行列 $ \left(\begin{array}{cc}1 & 2 \\
3 & 4\end{array}\right)$ は、 例えば
 \left(
 \begin{array}{cc}
  1 & 2 \\
  3 & 4
 \end{array}
 \right)
として組版できるが、
$ 2\times 2$行列用のマクロ
\newcommand{\gyouretsu}[4]{
 \left(
 \begin{array}{cc}
  {#1} & {#2}\\
  {#3} & {#4}
 \end{array}
 \right)
}
とマクロ \gyouretsu を定義しておくと (行列の$ 4$つの成分が引数として与えられる)、
\gyouretsu{1}{2}{3}{4}+\gyouretsu{5}{6}{7}{8}=
\gyouretsu{6}{8}{10}{12}
$ \left(
\begin{array}{cc}
{1} & {2}\\
{3} & {4}
\end{array} \right)
+
\le...
...
=\left(
\begin{array}{cc}
{6} & {8}\\
{10} & {12}
\end{array} \right)
$ が組版できる。


なお、マクロの名前には、ローマ字のみが使えます (gyouretu22 のような文字列は使えません)。


実は、通常使っている LATEX そのものが、 膨大なマクロの集成に他なりません。

桂田 祐史
2020-09-14