错误:额外的对齐标签已更改为 \cr

错误:额外的对齐标签已更改为 \cr

我正在使用ACM SIG 模板并尝试创建一个包含 4 列的表格。

我遇到了问题标题中提到的错误。我知道发生此错误的标准原因。

但我的问题是:模板或文件是否可能.cls控制表中的最大列数? 如果是的话,我会得到与此不同的错误吗?

答案1

该错误可以通过以下方式重现:

\documentclass{article}

\begin{document}

\begin{tabular}{c|c}
one & two & three \\
\hline
one & two 
\end{tabular}
\end{document}

问题是由您尝试插入的额外列引起的。表格环境需要两列,但插入了三列。

答案2

并非所有extra alignment tab has been changed to \cr错误都是通过 Google 或 Bing 发现的。一些简单的事情,例如定义带有参数的宏并忘记第一个参数之前的参数,\\都会重现错误。

与 也一样\newcommand

例如,

\def\test#1#2{$\hbox to 4cm{#1}}$}
\begin{tabular}{cccc}
Oh & \test{tested}{} & Oh & \test{Oh} \\
   & \test{testing}{} &   & \test{Ohh}{} \\
\end{tabular} 

答案3

另一种获取! Extra alignment tab has been changed to \cr错误的方法是使用对齐命令\centering\raggedleft\raggedright)在环境的最后一行tabularp{}当然,使用格式化时)。

例如,此代码将会出现错误:

\begin{tabular}{|p{0.2\textwidth}|p{0.2\textwidth}|}
     A & \centering B \\
    C & D \\    
\end{tabular}

但是此代码不会:

\begin{tabular}{|p{0.2\textwidth}|p{0.2\textwidth}|}
     \centering A &  B \\
     \centering C & D \\    
\end{tabular}

在此处输入图片描述

我们可以使用环境center来克服这个问题,但需要注意的是,我们将有额外的垂直空间。(不用说,c如果您愿意放弃宽度控制,您可以更改为列格式;))

解决这个问题的快速方法是添加一个零宽度列例如,p{0pt}

快速修复解决方案:

\begin{tabular}{|p{0.2\textwidth}|p{0.2\textwidth}|p{0pt}}
     \centering A &  \centering B &\\
     \raggedleft C & \raggedright D &\\ 
\end{tabular}

在此处输入图片描述

答案4

这是您可能收到此错误的另一种方式(错误仍然是列太多,但如果您像我一样愚蠢,这并不明显):

由于某种原因,我使用的是&&而不是&。所以我的列数是我想的两倍。我很长时间都搞不清楚哪里出了问题,因为这里的所有答案都说“这个错误是由于列太多造成的!”而我当时想,“我的列数并不太多!”。

因此,如果有人和我一样有&&残疾,希望这个答案能够对你有所帮助:)

相关内容