He revisado todos los demás hilos sobre este tema y no he podido resolverlo. Debe ser algo que me falta por completo.
Recibí el error arriba "La pestaña de alineación adicional se ha cambiado a \cr. }"
Aquí hay un fragmento de código reproducible completo
\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}
¿Alguien puede ver algo que yo no veo?
¡Gracias de antemano!
Respuesta1
La fuente inmediata del mensaje de error es la línea
\multicolumn{3}{c|}{B} &
Debería ser
\multicolumn{3}{c|}{B} \\
Dos observaciones adicionales:
\multicolumn{}{|c||}{Dataset}
tampoco es correcto. Debería ser o\multicolumn{1}{|c||}{Dataset}
, mucho más simplemente,Dataset
.La opción
[h!]
in\begin{tabular}[h!]
no tiene sentido y simplemente se ignora. Las opciones válidas sont
("arriba"),c
("centro", el valor predeterminado) yb
("abajo").
Apéndice: Si esto fueramimesa, me esforzaría mucho para darle un "aspecto" mucho más abierto, principalmente omitiendo todas las líneas verticales y usando menos líneas horizontales, pero bien espaciadas. No es necesario el \resizebox
"mazo". Utilice un tabular*
entorno en su lugar. yo tampoco lo haríanegritalas celdas del encabezado, le daría más estructura al material del encabezado de la tabla y alinearía los números en las columnas numéricas con sus respectivos marcadores decimales.
Estas ideas se implementan en la segunda tabla a continuación.
\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}
Respuesta2
Fuera de contexto:
Diseñaría tu mesa de la siguiente manera:
(las líneas rojas indican los bordes del texto)
\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}