これは、LaTeXでどのように実装できるかを示す配列です。
\documentclass{article}
\begin{document}
\newcounter{mycounter}
\setcounter{mycounter}{1}
% ary is any prefix you want, it should not exist as a command.
\expandafter\newcommand\csname ary\the\value{mycounter} \endcsname{myfirstelement}
\stepcounter{mycounter}
\expandafter\newcommand\csname ary\the\value{mycounter} \endcsname{mysecondelement}
\csname ary1 \endcsname
or
\newcounter{index}
\setcounter{index}{2}
\csname ary\the\value{index} \endcsname
\end{document}
これをLaTeX(latexmydoc.texまたはpdflatexmydoc.tex)で実行すると、出力が表示されます。
簡単な説明:これにより、ary1とary2の2つのコマンド(newcommandを使用)が作成されます。定義する必要はありませんが、 ...によって作成されたコマンドであるため、\expandafter
が必要です。次のトークン(この場合は制御シーケンス)をジャンプして、TeXがを認識する前に次のコマンドを実行します。つまり、新しいコマンドラインでTeXが最初に認識するのは...コンストラクトであり、TeXはそれを実行してから、 ...コンストラクトの結果を使用して実行します。 はと同じですが、 ...によって作成されたコマンドでは、任意の文字またはスペースを使用できます。newcommand
\csname
\csname
\endcsname
\expandafter
\newcommand
\newcommand
\csname
\endcsname
\newcommand
\csname
\endcsname
\csname foo\endcsname
\foo
\csname
\endcsname
これは些細なことではありません。ビクター・アイフハウトの素晴らしい本「トピック別のTeX」を参照してください:http: //eijkhout.net/texbytopic/texbytopic.html