表格中的额外对齐标签已更改为 \cr

表格中的额外对齐标签已更改为 \cr

请问这个表格有什么问题?它给出了一个错误 额外的对齐标签已更改为 \cr & 的数量错误在哪里?

\documentclass[11pt,a4paper]{report}

\usepackage{multirow, tabularx}

\begin{document}
\begin{table}[h!]
\centering
\small
\caption{Comparison}
\label{comp}
\begin{tabularx}{\textwidth}{cccc|cccc}
\hline\hline\noalign{\smallskip}

\multicolumn{4}{c}{\textbf{A}} &&&& \multicolumn{4}{c}{\textbf{B}} &&&\\

\hline
 
\end{tabularx}
\end{table}

答案1

该表存在两个严重问题。

  • 首先,tabularx环境定义为有 8 列,但指令

    \multicolumn{4}{c}{\textbf{A}} &&&& \multicolumn{4}{c}{\textbf{B}} &&& \\
    

    要求将表定义为具有 14 [!] 列。如果表只包含 8 列,则可能应该写

    \multicolumn{4}{c}{\textbf{A}} & \multicolumn{4}{c}{\textbf{B}} \\
    

    这就是导致“额外的对齐标签已更改为 \cr”这一有点神秘的消息的直接原因。

  • 其次,tabularx除非您实际为至少一列使用了列类型,否则使用环境毫无意义X。如果您打算X为所有 8 列使用居中类型的版本,我建议使用以下代码

    %% in the preamble:
    \usepackage{tabularx}
    \newcolumntype{C}{>{\centering\arraybackslash}X}
    ...
    %% in the body of document:
    \begin{table}
    \begin{tabularx}{\textwidth}{CCCC|CCCC}
    \multicolumn{4}{c}{\textbf{A}} & \multicolumn{4}{c}{\textbf{B}} \\
    \hline
    ...
    \end{tabularx}
    \end{table}
    

相关内容