북탭을 사용하여 수동으로 테이블을 만드는 방법

북탭을 사용하여 수동으로 테이블을 만드는 방법

저는 LaTex를 처음 사용하는데 booktabs서식을 사용하여 이 표를 만드는 데 도움이 필요합니다. 나는 패키지를 사용 R하여 이상적으로 생성합니다 xtables. 그러나 나는 열에 걸친 문제를 다룰 수 없었습니다.

그래서 수동으로 \multicolumn명령을 삽입하려고 했습니다.

코드는 다음과 같습니다.

\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow}
\begin{document}


 \begin{table}[ht]
\centering
\begin{tabular}{@{\extracolsep{4pt}}llccccccc}
\toprule   
{} & {} & {Observations} & \multicolumn{3}{c}{Median}  & \multicolumn{3}{c}{SD}\\
 \cline{3-3} 
 \cline{4-6} 
 \cline{7-9} 
 Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\ 
   \hline
   \multirow{2}{*}{2012}
  & Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\ 
  & Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\ 
  \multirow{2}{*}{2016}
  & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\ 
  & Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\ 
 \hline
\end{tabular}
\caption{Mean by Year and Group} 
\end{table}
\end{document}

그런데 이 표는 표준에 따르지 않고 실제로 형식이 잘 구성되어 있지 않은 것 같습니다 booktabs. 디자인은 동일하지만 형식이 더 나은 테이블을 수동으로 만드는 방법은 무엇입니까?

감사합니다

답변1

테이블의 주요 문제점은 규칙을 사용하지 않고 booktabs대신 표준 테이블 형식 규칙( \hline\cline)과 booktabs규칙( \toprule)을 혼합하여 사용한다는 것입니다.

이러한 규칙을 booktabs버전( \midrule, \cmidrule\bottomrule)으로 바꾸면 원하는 형식을 얻을 수 있습니다.

물건 을 없앴습니다 multirow. 이렇게 하면 테이블에 아무것도 추가되지 않습니다. 해당 연도의 행 쌍 중 첫 번째 행에 연도를 넣는 것은 매우 명확합니다. 일반적으로 나는 multirow전혀 사용하지 않을 것입니다. 용도가 있지만 일반적으로 박스형 셀이 있는 형태와 같은 것에 사용됩니다. 표준 연구 테이블의 경우 거의 적합하지 않습니다.

PS 데이터가 만들어졌으면 좋겠어요! 당신의 N은 정말 작습니다 ... :)

\documentclass{article}

\usepackage{booktabs}
\begin{document}


 \begin{table}[ht]
\centering
\begin{tabular}{@{\extracolsep{4pt}}llccccccc}
\toprule   
{} & {} & {Observations} & \multicolumn{3}{c}{Median}  & \multicolumn{3}{c}{SD}\\
 \cmidrule{3-3} 
 \cmidrule{4-6} 
 \cmidrule{7-9} 
 Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\ 
\midrule
2012  & Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\ 
  & Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\ 
2016  & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\ 
  & Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\ 
\bottomrule
\end{tabular}
\caption{Mean by Year and Group} 
\end{table}
\end{document}

코드 출력

숫자 데이터 조판에 대한 몇 가지 의견

c숫자 데이터를 조판할 때 열 유형을 사용하는 것은 실제로 최선의 계획은 아닙니다. 일반적으로 우리는 숫자 데이터를 어떤 방식으로든 정렬하여 숫자의 크기가 다른 경우 올바르게 정렬되기를 원합니다.

소수점 데이터의 경우 소수점에 정렬하는 것이 일반적입니다. 소수가 아닌 데이터의 경우 간단한 오른쪽 정렬이 좋습니다.

소수점을 맞추려면 패키지 siunitx또는 dcolumn패키지를 사용할 수 있습니다. siunitx큰 숫자에 대한 숫자 그룹화를 포함하여 숫자 데이터의 형식을 자동으로 지정하는 많은 고급 기능이 있습니다. 또한 SI 단위를 적절하게 조판하는 방법도 제공합니다. 이 dcolumn패키지는 소수점 정렬을 위해 특별히 설계되었습니다. 차이점을 보여주는 예는 다음과 같습니다.

\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{siunitx}

% Shorthand for multicolumn
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\begin{document}
\begin{tabular}{ccrD{.}{.}{2.3}S}
\toprule
Center & Center & \mc{right} & \mc{D-column} & \mc{S-column}  \\
\midrule
1 & 32.6 & 1 & 32.6 & 32.6  \\
10 & 335.434 & 10 & 335.434 & 335.434  \\
100 & 0.99 & 100 & 0.99 & 0.99  \\
5 & 1 & 5 & 1 & 1  \\
\bottomrule
\end{tabular}
\end{document}

샘플 출력

답변2

먼저 모든 규칙은 booktabs테이블 규칙에 약간의 패딩을 추가하므로(종종 너무 빡빡한 기본 라텍스의 테이블 행)로 수행되어야 합니다.

둘째, 표 캡션은 다음과 같아야 합니다.~ 위에표는 페이지에 걸쳐 펼쳐질 수 있으므로 독자는 표의 내용을 알기 위해 페이지를 넘길 필요가 없습니다. 이를 위해 캡션이 유용합니다. 기본 라텍스는 캡션이 테이블 위에 있을 때 및 package값을 바꾸는 것을 잊어버립니다 .\abovecaptionskip\belowdisplayskip

Observations셋째, 그렇게 넓은 열 머리글을 가진 한 자릿수 열을 갖는 것이 보기 흉하기 때문에 약어로 바꾸겠습니다 .

넷째, 테이블 끝 부분에 3개의 열로 구성된 두 그룹에 대해 더 작은 열 사이 공간을 설정합니다. 또한 (lr)`\cmidrules에 대한 매개변수는 테이블의 일반적인 모양을 개선하는 데 유용합니다.

\documentclass{article}
\usepackage{array, multirow, caption, booktabs}

\begin{document}

 \begin{table}[ht]
\centering\setlength\extrarowheight{2pt}
\caption{Mean by Year and Group}
\begin{tabular}{@{\extracolsep{4pt}}llc*{2}{c@{\enspace}c@{\enspace}c}}
\toprule
{} & {} & {Obsv\textsuperscript{ns}} & \multicolumn{3}{c}{Median} & \multicolumn{3}{c}{SD}\\
 \cmidrule(lr){3-3}
 \cmidrule{4-6}
 \cmidrule(lr){7-9}
 Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\
   \midrule
   \multirow{2}{*}{2012}
  & Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\
  & Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\
\addlinespace
  \multirow{2}{*}{2016}
  & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\
  & Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\
 \bottomrule
\end{tabular}
\end{table}

\end{document} 

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

메모: `Observations'를 축약하지 않으려면 행과 열을 교환하여 테이블을 재구성하는 것을 고려해야 합니다.

관련 정보