Я просмотрел все остальные темы по этой теме и не смог понять. Должно быть, я что-то совсем упустил.
Я получил сообщение об ошибке выше «Дополнительная вкладка выравнивания была изменена на \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!]
in\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}