额外的对齐标签已更改为 \cr。} 使用表格、表格和调整大小框

额外的对齐标签已更改为 \cr。} 使用表格、表格和调整大小框

我查看了关于这个主题的所有其他帖子,但还是没能搞清楚。这肯定是我完全没注意到什么。

我收到上述错误“额外的对齐标签已更改为 \cr。}”

这是一个完整的可重现的代码片段

\begin{table}[h!]
    \resizebox{5in}{!}{
        \begin{tabular}[h!]{|c||c|c|c|||c|c|c|}
            \hline
            \multicolumn{}{|c||}{Dataset} &
            \multicolumn{3}{c|||}{A} &
            \multicolumn{3}{c|}{B} &  
            \hline


            \bfseries Year & \bfseries parameter & \bfseries gof & \bfseries p-value & \bfseries parameter & \bfseries gof & \bfseries p-value \\
            \hline


1998 & 1.2661         & 0.4046   & 0.57         & 1.2889            & 0.3214      & 0.7             \\ \hline
1999 & 1.2685         & 0.4049   & 0.58         & 1.2913            & 0.3225      & 0.71            \\ \hline
2000 & 1.2681         & 0.4053   & 0.57         & 1.2942            & 0.321       & 0.71            \\ \hline
2001 & 1.2679         & 0.4082   & 0.56         & 1.2896            & 0.3208      & 0.71            \\ \hline
2002 & 1.2666         & 0.4098   & 0.55         & 1.2907            & 0.321       & 0.71            \\ \hline
2003 & 1.2673         & 0.4096   & 0.55         & 1.2849            & 0.3203      & 0.71            \\ \hline
2004 & 1.2678         & 0.409    & 0.57         & 1.2866            & 0.3187      & 0.72            \\ \hline

        \end{tabular}
    }
    \caption[stuff]{morestuff}
    \label{table:all.models}
\end{table}

谁能看到我没看到的东西?

先感谢您!

答案1

错误消息的直接来源是以下行

\multicolumn{3}{c|}{B} &

它应该是

\multicolumn{3}{c|}{B} \\

另外两点观察:

  • \multicolumn{}{|c||}{Dataset}也不正确。它应该是\multicolumn{1}{|c||}{Dataset},或者更简单地说,Dataset

  • [h!]中的选项\begin{tabular}[h!]毫无意义,直接被忽略。有效选项为t("top")、c("center" - 默认) 和b("bottom")。


附录:如果这是我的表格,我会努力让它看起来更加开放,主要是通过省略所有垂直线,使用更少但间隔适当的水平线。没有必要使用\resizebox“大锤”。tabular*而是使用环境。我也不会粗体标题单元格,我会为表格的标题材料提供更多结构,并将数字列中的数字与各自的小数点标记对齐。

这些想法在下面的第二张表中实现。

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx}

\usepackage{booktabs,siunitx}
\begin{document}
\begin{table}[h!]
\resizebox{5in}{!}{%
\begin{tabular}[h!]{|c||c|c|c||c|c|c|}
\hline
Dataset &
\multicolumn{3}{c||}{A} &
\multicolumn{3}{c|}{B} \\  
\hline
\bfseries Year & \bfseries parameter & 
\bfseries gof & \bfseries p-value & 
\bfseries parameter & \bfseries gof & 
\bfseries p-value \\
\hline
1998 & 1.2661 & 0.4046 & 0.57 & 1.2889 & 0.3214 & 0.7  \\ \hline
1999 & 1.2685 & 0.4049 & 0.58 & 1.2913 & 0.3225 & 0.71 \\ \hline
2000 & 1.2681 & 0.4053 & 0.57 & 1.2942 & 0.321  & 0.71 \\ \hline
2001 & 1.2679 & 0.4082 & 0.56 & 1.2896 & 0.3208 & 0.71 \\ \hline
2002 & 1.2666 & 0.4098 & 0.55 & 1.2907 & 0.321  & 0.71 \\ \hline
2003 & 1.2673 & 0.4096 & 0.55 & 1.2849 & 0.3203 & 0.71 \\ \hline
2004 & 1.2678 & 0.409  & 0.57 & 1.2866 & 0.3187 & 0.72 \\ \hline
\end{tabular}
}% end of scope of \resizebox instruction
\caption[stuff]{morestuff}
\label{table:all.models}
\end{table}

\begin{table}[h!]
\setlength\tabcolsep{0pt}
\begin{tabular*}{5in}{@{\extracolsep{\fill}} l 
    *{2}{*{2}{S[table-format=1.4]}S[table-format=1.2]} }
\toprule
Year & \multicolumn{6}{c}{Dataset} \\
\cmidrule{2-7}
& \multicolumn{3}{c}{A} & \multicolumn{3}{c}{B} \\  
\cmidrule{2-4} \cmidrule{5-7}
& {Parameter} & {gof} & {p-value} & {Parameter} & {gof} & {p-value} \\
\midrule
1998 & 1.2661 & 0.4046 & 0.57 & 1.2889 & 0.3214 & 0.7  \\ 
1999 & 1.2685 & 0.4049 & 0.58 & 1.2913 & 0.3225 & 0.71 \\ 
2000 & 1.2681 & 0.4053 & 0.57 & 1.2942 & 0.321  & 0.71 \\ 
2001 & 1.2679 & 0.4082 & 0.56 & 1.2896 & 0.3208 & 0.71 \\ 
2002 & 1.2666 & 0.4098 & 0.55 & 1.2907 & 0.321  & 0.71 \\ 
2003 & 1.2673 & 0.4096 & 0.55 & 1.2849 & 0.3203 & 0.71 \\ 
2004 & 1.2678 & 0.409  & 0.57 & 1.2866 & 0.3187 & 0.72 \\ \bottomrule
\end{tabular*}
\caption{A much more ``open'' look}
\label{table:another_look}
\end{table}
\end{document}

答案2

无关:

我将按照以下方式设计您的表格:

在此处输入图片描述

(红线表示文本边框)

\documentclass{article}
\usepackage{booktabs, % for nicer horizontal rules (\toprule, \cmidrule, \midrule,\bottomrule)
            makecell} % for column headers (\thesd)
\renewcommand\theadfont{\bfseries\small}
\renewcommand\theadgape{}
\usepackage{siunitx}  % for S column type: numbers are aligned at decimal points

\begin{document}
    \begin{table}[h!]
    \setlength\tabcolsep{0pt}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}
                         c
                    *{2}{S[table-format=1.4]}
                         S[table-format=1.2]
                    *{2}{S[table-format=1.4]}
                         S[table-format=1.2]
                            }
    \toprule
Dataset & \multicolumn{3}{c}{A} & \multicolumn{3}{c}{B}     \\
    \cmidrule{2-4}\cmidrule{5-7}
\thead{Year}    & {\thead{parameter}} & {\thead{gof}} & {\thead{p-value}}
                & {\thead{parameter}} & {\thead{gof}} & {\thead{p-value}} \\
    \midrule
1998 & 1.2661   & 0.4046   & 0.57   & 1.2889    & 0.3214    & 0.7   \\
1999 & 1.2685   & 0.4049   & 0.58   & 1.2913    & 0.3225    & 0.71  \\
2000 & 1.2681   & 0.4053   & 0.57   & 1.2942    & 0.321     & 0.71  \\
2001 & 1.2679   & 0.4082   & 0.56   & 1.2896    & 0.3208    & 0.71  \\
2002 & 1.2666   & 0.4098   & 0.55   & 1.2907    & 0.321     & 0.71  \\
2003 & 1.2673   & 0.4096   & 0.55   & 1.2849    & 0.3203    & 0.71  \\
2004 & 1.2678   & 0.409    & 0.57   & 1.2866    & 0.3187    & 0.72  \\
    \bottomrule
    \end{tabular*}
\caption[stuff]{morestuff}
\label{table:all.models}
    \end{table}
\end{document}

相关内容