我是 LaTeX 新手,我必须说我真的很挣扎。我发现了 ewcommand 命令有点像常规编程语言中的函数/方法。你可以给它论据和一切。
但我想知道,我可以以某种方式在 LaTeX 中进行迭代吗?基本上,我想做的是创建一个包含 N+1 列的表格,其中第一行仅包含一个空白单元格,然后其他列中包含数字 1, 2, ..., N。我只想将 N 作为这个“函数”(newcommand)的参数。
这是一个可能看起来像我正在寻找的东西的示例(尽管显然这行不通):
\newcommand{\mytable}[2]{
\begin{tabular}{l|*{#1}{c|}} % table with first argument+1 columns
for(int i = 1; i <= #1; i++) "& i" % 'output' numbers in different columns
\\\hline
letters & #2 % second argument should contain actual content for row
\\\hline
\end{tabular}
}
调用它:
\mytable{3}{a & b & c}
输出应该是:
| 1 | 2 | 3 | --------+---+---+---+ 字母|一个 |乙| c | --------+---+---+---+
有人知道这样的事情是否可能吗?
谢谢!
只需将以下内容放入新命令中,并确保使用包
ifthen
。
\begin{tabular}{l|*{10}{c|}}
\newcounter{count}
\whiledo{\value{count}<10}{
\ifthenelse{\value{count}=0}{}{\the\value{count}}
\ifthenelse{\value{count}<9}{&}{\\}
\stepcounter{count}
}
letters&a&b&c&d&e&f&g&h&i\\
\end{tabular}
谷歌阿姨说是的。
当然有可能。也可以复发。 eplain 中有迭代宏,请参见,例如,here。
另一种可能性(如果你像我一样懒)是perltex