其实需要的就是一个多维数组而已。简单描述一下就是:
a[M][N] = {...} % 以 1 起始
for (i=1; i<=M; i++)
for (j=1; j<=N; i++)
node(a[i][j]);只是在 LaTeX 中(包括 LaTeX3)并没有这样的数据结构。LuaTeX 倒是可以用 table 实现。
要使用宏来实现,简单的就是使用多个 seq 或 clist 或 prop。这样实现的话效率很低。
或者也可以直接用宏保存:
% \@namedef := \expandafter \def \csname #1\endcsname
\@namedef{data@1@1}{A}
\@namedef{data@1@2}{B}
\@namedef{data@2@1}{C}
\@namedef{data@2@2}{D}然后直接用
% \UseName := \csname #1\endcsname
\foreach \i .....
\foreach \j .....
{\node {\UseName{data@\i @\j}};}







问 关于使用 foreach 语法绘制一些 node 的问题