追加の配置タブは \cr に変更されました。} テーブル、タブラー、および resizebox の使用

追加の配置タブは \cr に変更されました。} テーブル、タブラー、および resizebox の使用

このトピックに関する他のスレッドをすべて確認しましたが、解決できませんでした。私が完全に見逃している何かがあるに違いありません。

上記のエラー「余分な配置タブが \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} \\

追加の観察事項が 2 つあります。

  • \multicolumn{}{|c||}{Dataset}も正しくありません。\multicolumn{1}{|c||}{Dataset}または 、もっと簡単に言えばのどちらかであるべきですDataset

  • [h!]のオプションは\begin{tabular}[h!]意味がないので無視されます。有効なオプションはt("top")、c("center" (デフォルト))、b("bottom") です。


補遺: もしこれが私のテーブルでは、縦線を全て省き、横線を少なく、間隔をあけて配置することで、より開放的な「見た目」にしようと努力します。\resizebox「スレッジハンマー」は必要ありません。代わりに環境を使用しますtabular*。また、太字ヘッダー セルを作成し、表のヘッダー マテリアルにさらに構造を与え、数値列の数字をそれぞれの小数点マーカーに揃えます。

これらのアイデアは、以下の 2 番目の表に実装されています。

ここに画像の説明を入力してください

\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}

関連情報