6

我是 LaTeX 的新手,我必须说我真的很挣扎。我发现 \newcommand 命令有点像常规编程语言中的函数/方法。你可以给它论据和一切。

不过我想知道,我可以以某种方式在 LaTeX 中进行迭代吗?基本上,我想做的是创建一个包含 N+1 列的表,其中第一行只包含一个空白单元格,然后在其他列中包含数字 1、2、...、N。我只想将 N 作为这个“函数”(新命令)的参数。

这是一个可能看起来像我正在寻找的东西的示例(尽管显然这不起作用):

\newcommand{\mytable}[2]{  
\begin{tabular}{l|*{#1}{c|}} % 表,第一个参数+1 列  
  for(int i = 1; i <= #1; i++) "& i" % 'output' 不同列中的数字  
  \\\hline  
  字母 & #2 % 第二个参数应该包含行的实际内容  
  \\\hline  
\end{表格}  
}

调用它:

\mytable{3}{a & b & c}

输出应该是:

        | 1 | 2 | 3 |
--------+---+---+---+
字母 | 一个 | 乙 | c |
--------+---+---+---+

有谁知道这样的事情是否可能?

谢谢!

4

5 回答 5

4

只需将以下内容放入一个新命令并确保使用 package 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}
于 2008-12-31T03:03:51.720 回答
3

谷歌阿姨说的。

于 2008-12-31T02:07:24.410 回答
3

您可以使用\loopor\repeat标记。或者multido包裹。

于 2008-12-31T02:11:44.027 回答
2

当然有可能。你也可以复发。eplain 中有迭代宏,请参见,例如,here

于 2008-12-31T02:08:13.317 回答
2

另一种可能性(如果你像我一样懒惰)是perltex

于 2009-04-20T04:18:00.643 回答