将 \multicolumn 放入 \forloop => “放错位置的 \omit”

将 \multicolumn 放入 \forloop => “放错位置的 \omit”

我想使用 a在同一行上\forloop迭代生成\multicolumn命令,但是我收到了“Misplaced \omit”错误,我无法弄清楚。

以下\multicolumn在一行中使用两个命令,但没有循环,效果很好:

\documentclass{article}
\begin{document}
Table A, \textbackslash{}multicolumn, but no loop
\bigskip

\begin{tabular}{|cc|cc|} 
1 & 2 & 3 & 4 \\
\multicolumn{2}{c}{A} & \multicolumn{2}{c}{B} \\
\end{tabular}
\end{document}

这将生成输出: 在此处输入图片描述

但是,我需要\multicolumns迭代地生成。这是我的尝试:我引入了一个新的计数器,,loopindex并创建了\forloop运行两次的,每次都发出,\multicolumn{2}{c}{A}然后发出&

\documentclass{article}
\usepackage{forloop}
\newcounter{loopindex}
\begin{document}
Table B, with loop but no \textbackslash{}ifthenelse
\bigskip

\begin{tabular}{|cc|cc|} 
1 & 2 & 3 & 4 \\
\forloop{loopindex}{1}{\value{loopindex}<3}{\multicolumn{2}{c}{A} &}
\end{tabular}
\end{document}

这会导致以下错误:“放错 \omit。 \multispan -> \omit \@multispan。

在此处输入图片描述

我意识到我的简单循环在第二次迭代中会产生一个额外的“&”,但是(a)我在定义中添加了第五列,tabular或者(b)我添加了一个ifthenelse仅在第一次迭代中打印“&”,所以我不认为额外的“&”是问题所在。

我究竟做错了什么?

forloop如果这就是问题所在,我愿意接受 的替代方案。但是,我的实际应用比简单地重复相同的\multicolumn n时间要求更高。我需要一个循环计数器,这样我就可以遍历数组arrayjobx以获取要放置在每个 中的内容\multicolumn

相关内容