%%
%% tex-004.tex
%%

\documentclass[a4paper]{jsarticle}

%%
%% 
%%

\begin{document}

%%
%%
%%

\TeX といえば数式です。例えば、次のような数式が綺麗にかけます。

\[
\sum_{i=1}^{n} a_i = a_1 + \cdots + a_i + \cdots + a_n
\]

そこで、これと良く「似た」別の数式を考えます。

\[
\sum_{j=1}^{n} a_j = a_1 + \cdots + a_j + \cdots + a_n
\]

これは、添字を表す変数文字が $i$ から $j$ に変化したものです。
もちろん、同様にして $i$ を $k$ にかえたものなども考えられますが、
「文字列の一部だけを変更して」再利用したい場合があります。

このような場合は、「引数付きマクロ」を定義します。

\newcommand{\SumX}[1]{%
\sum_{#1=1}^{n} a_{#1} = a_1 + \cdots + a_{#1} + \cdots + a_n%
}

これを利用すれば、簡単に、一部を差し替えた式がかけます。

\[
\SumX{i}=\SumX{j}
\]

ポイントは三つあります。
内二つは、マクロ定義にあり、
その一つは\verb|[1]| の部分で、これは「このマクロは一つの引数を持つ」
という意味です。
もう一つは、マクロ定義の内容の中の\verb|#1|の部分でこれは、
引数の内容に置き換わるということです。
そして、最後の一つは、マクロを利用する時に、
マクロ名の後ろに追加された引数です。
マクロが展開されるときに、マクロの内容に含まれている\verb|#1|が
この引数に差し替えられます。

もちろん、この引数は複数にもできます。
例えば、次の例は、更に、数列の項目名や上限まで変更できる版
(なので三つの引数を持つ..)です。

\newcommand{\SumXAN}[3]{%
\sum_{#1=1}^{#3} #2_{#1} = #2_1 + \cdots + #2_{#1} + \cdots + #2_n%
}

\[
\SumXAN{k}{b}{m}
\]

もしかしたら、初項が $1$ でなく $0$ にしたい場合もあるかもしれません。
このような場合も対応可能な四つの引数を持つマクロを考えてみましょう。

%%
%%
%%

\end{document}
