추가 정렬 탭이 \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}

관련 정보