我查看了关于这个主题的所有其他帖子,但还是没能搞清楚。这肯定是我完全没注意到什么。
我收到上述错误“额外的对齐标签已更改为 \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}