你能用 LaTeX 进行迭代吗?

问题描述 投票:0回答:5

我是 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 |
--------+---+---+---+

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

谢谢!

latex
5个回答
4
投票

只需将以下内容放入新命令中,并确保使用包

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}

3
投票

谷歌阿姨说是的


3
投票

您可以使用

\loop
\repeat
标记。或者
multido
套餐。


2
投票

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


2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.