라텍스로 여러 열 테이블 그리기

라텍스로 여러 열 테이블 그리기

ieeetran latex에서 다중 열 테이블을 그리는 데 문제가 있습니다.

제가 그리고 싶은 것은 다음과 같습니다. 여기에 이미지 설명을 입력하세요

그러나 나는 그것을 관리할 수 없었다. OBR 및 AR 행을 추가하는 데 문제가 있습니다. 몇 가지 코드를 시도했지만 아무 것도 작동하지 않았습니다. 내 마지막 시도는 다음과 같습니다

\begin{table}[!h]
\centering

    \caption{caption}     
    \label{tab:table}

    \begin{small}
    \begin{tabular}{|l|l|l|l|}
    \hline
    & \multicolumn{6} {c|} {\bfseries Dataset} & {\bfseries  A} &{\bfseries B}  & {\bfseries C}\\
    \cline{2-7}
    {\bfseries } & {\bfseries OBR} &{\bfseries AR}  & {\bfseries OBR} &{\bfseries AR} & {\bfseries OBR} &{\bfseries AR}\\
    \hline
    D1        & 2.1\%   &   2.1\%   2.1\%  & 2.1\%  &   2.1\%   2.1\%   \\
    \hline
    D2         & 11.6\% &11.6\% & 11.6\%  & 2.1\%   &   2.1\%   2.1\%\\
    \hline
    D3          & 5.5\%     &   5.5\%   & 5.5\%   & 2.1\%   &   2.1\%   2.1\%  \\
    \hline
    \end{tabular}
    \end{small} 
\end{table}

이 표를 그리는 데 도움을 줄 수 있는 사람이 있나요? 나는 매우 감사할 것이다.

답변1

몇 가지 초기 의견:

  • 나는 당신이multirow패키지를 사용하여 여러 열을 인쇄하려고 합니다(말하지는 않았지만 자연스러운 선택인 것 같습니다).

  • 나는siunitx테이블의 소수점을 정렬하는 패키지입니다.

  • 그만큼booktabs패키지에는 문서에 LaTeX의 멋진 테이블에 대한 좋은 조언이 있습니다. 아래에서 사용했지만 , 및 를 교체하여 종속성을 제거 \toprule\midrule\bottomrule있습니다 \hline.

현재 예제가 컴파일되지 않는 이유는 다음과 같습니다.

  • tabular이 충분하지 않습니다. {|l|l|l|l|}왼쪽에 정렬된 4개의 열과 각 열 사이에 수직 막대가 있는 옵션을 전달했습니다 . 가장 넓은 경우 원본 테이블에는 7개의 열이 있으며 이를 모두 고려해야 합니다. 따라서 이것은 다음과 같이 변경되어야 합니다 {|l|l|l|l|l|l|l|}.

    을 사용하는 경우 siunitx다음을 사용하십시오 {lSSSSSS}. 는 데이터의 소수점을 정렬하는 S옵션입니다 . siunitx이 패키지를 사용하고 싶지 않거나 사용할 수 없는 경우 자유롭게 이를 다시 변경하세요.

  • 소요 multicolumn{6} {c|}됩니다데이터 세트제목을 입력하고 6개의 열을 채우면 3개의 열이 더 생깁니다.,그리고. 이는 이 행에 필요한 것보다 많은 9개의 열이 있다는 것을 의미합니다.

    대신 다음과 같은 것을 원합니다.

    \multirow{2}{*}{Dataset} &
      \multicolumn{2}{c}{A} &
      \multicolumn{2}{c}{B} &
      \multicolumn{2}{c|}{C} \\
    

    c|마지막에 최종 수직선이 나오도록 마지막 기둥을 만들어야 합니다 .

  • 두 번째 행에서는 첫 번째 셀(이전 행의 **Dataset*에 의해 채워짐)을 건너뛰고 나머지는 정상적으로 채웁니다.

    & O.B.R & A.R & O.B.R & A.R & O.B.R & A.R \\
    

    를 사용하는 경우 siunitx마침표가 소수점으로 읽히지 않도록 이를 중괄호로 묶어야 합니다. 그렇지 않으면 이 숫자를 정렬할 수 없기 때문에 오류가 발생합니다.

    & {O.B.R} & {A.R} & {O.B.R} & {A.R} & {O.B.R} & {A.R} \\
    

이러한 제안을 염두에 두고 코드를 수정하면 다음과 같은 결과가 나타납니다.

\documentclass{article}

\usepackage{multirow}

\begin{document}

\begin{table}
  \begin{tabular}{|l|l|l|l|l|l|l|}
    \hline
    \multirow{2}{*}{Dataset} &
      \multicolumn{2}{c}{A} &
      \multicolumn{2}{c}{B} &
      \multicolumn{2}{c|}{C} \\
    & O.B.R & A.R & O.B.R & A.R & O.B.R & A.R \\
    \hline
    D1 & 2.1\% & 2.1\% & 2.1\% & 2.1\% & 2.1\% & 2.1\% \\
    \hline
    D2 & 11.6\% & 11.6\% & 11.6\% & 11.6\% & 11.6\% & 11.6\% \\
    \hline
    D3 & 5.5\% & 5.5\% & 5.5\% & 5.5\% & 5.5\% & 5.5\% \\
    \hline
  \end{tabular}
\end{table}

\end{document}

결과는 다음과 같습니다.

여기에 이미지 설명을 입력하세요

siunitx다음은 and를 포함하는 예입니다 booktabs(가독성을 높이기 위해 헤더에 % 기호도 넣었습니다).

\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{siunitx}

\begin{document}

\begin{table}
  \begin{tabular}{lSSSSSS}
    \toprule
    \multirow{2}{*}{Dataset} &
      \multicolumn{2}{c}{A (\%)} &
      \multicolumn{2}{c}{B (\%)} &
      \multicolumn{2}{c}{C (\%)} \\
      & {O.B.R} & {A.R} & {O.B.R} & {A.R} & {O.B.R} & {A.R} \\
      \midrule
    D1 & 2.1 & 2.1 & 2.1 & 2.1 & 2.1 & 2.1 \\
    D2 & 11.6 & 11.6 & 11.6 & 11.6 & 11.6 & 11.6 \\
    D3 & 5.5 & 5.5 & 5.5 & 5.5 & 5.5 & 5.5 \\
    \bottomrule
  \end{tabular}
\end{table}

\end{document}

이는 다음과 같이 컴파일됩니다.

여기에 이미지 설명을 입력하세요

답변2

 \begin{tabular}{|l|l|l|l|l|l|l|}
    \hline 
   \multicolumn{1}{|c|}{Std} &
      \multicolumn{2}{c|}{1.5} &
      \multicolumn{2}{c|}{2} &
      \multicolumn{2}{c|}{3} \\ 
      \hline
    d& Mean & Std & Mean & Std & Mean & Std \\
    \hline
    D1 & 2.1\% & 2.1\% & 2.1\% & 2.1\% & 2.1\% & 2.1\% \\
    \hline
    D2 & 11.6\% & 11.6\% & 11.6\% & 11.6\% & 11.6\% & 11.6\% \\
    \hline
    D3 & 5.5\% & 5.5\% & 5.5\% & 5.5\% & 5.5\% & 5.5\% \\
    \hline
  \end{tabular}

관련 정보