북탭 테이블, 여러 열 헤더 밑줄

북탭 테이블, 여러 열 헤더 밑줄

두 가지 주요 부분("Immigrants" 및 "Locals")으로 구성된 회귀 테이블이 있습니다. Immigrants 아래에 첫 번째 모델이 시작되는 지점("장애")부터 마지막 ​​모델이 끝나는 지점("rate")까지의 작은 선을 넣고 "Locals" 아래에 같은 길이의 또 다른 선을 추가하고 싶습니다. 내 의도는 테이블의 두 부분을 더 잘 분리하는 것입니다. 그게 가능할까요? 내가 어떻게 해? 코드와 스크린샷을 추가하고 있습니다. 매우 감사합니다!

    \begin{table}[H]\centering
    \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
    \caption{Health}
    \begin{tabular}{l*{5}{c}}
    \toprule
    &\multicolumn{2}{c}{Immigrants}  & & \multicolumn{2}{c}{Locals}                                     \\
    \addlinespace
    &\multicolumn{1}{c}{Disability}&\multicolumn{1}{c}{Offspring survival rate}& & \multicolumn{1}{c}{Disability}&\multicolumn{1}{c}{Offspring survival rate}\\
     \midrule
    Low         &    -0.00190         &    -0.00525         & &     0.00185          &    -0.00186         \\
        &     (-0.43)         &     (-0.40)         & &       (0.83)         &     (-0.36)         \\
   \addlinespace
    High        &    -0.00865         &     0.00429         & &    -0.00413         &     -0.0207\sym{*}  \\
        &     (-1.21)         &      (0.20)         & &     (-1.01)         &     (-2.24)         \\

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

(또한 알 수 있듯이 더 많은 공간을 만들기 위해 그 사이에 추가 빈 열이 있습니다.)

답변1

\cline다음에서 제공하는 것과 동등한 것을 사용하십시오 .booktabs:

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

\documentclass{article}

\usepackage{booktabs}

\begin{document}

\begin{table}
  \centering
  \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}%
  \begin{tabular}{l*{4}{c}}
    \toprule
    & \multicolumn{2}{c}{Immigrants}  & \multicolumn{2}{c}{Non-immigrants} \\
    \cmidrule(lr){2-3}\cmidrule(lr){4-5}
    & \multicolumn{1}{c}{Disability} & \multicolumn{1}{c}{Offspring survival rate} & 
      \multicolumn{1}{c}{Disability} & \multicolumn{1}{c}{Offspring survival rate} \\
    \midrule
    Low    &  -0.00190    &  -0.00525    &  0.00185     &  -0.00186       \\
           &   (-0.43)    &   (-0.40)    &   (0.83)     &  (-0.36)        \\
    \addlinespace
    High   &  -0.00865    &  0.00429     &  -0.00413    &  -0.0207\sym{*} \\
           &   (-1.21)    &   (0.20)     &   (-1.01)    &  (-2.24)        \\
    \bottomrule
  \end{tabular}
\end{table}

\end{document}

그만큼선택 과목 (lr)인수는 왼쪽과 오른쪽 \cmidrule의 줄을 잘라내어 열 3과 4 사이를 분리합니다.lr

답변2

\cline첫 번째 테이블 행 대신 또는 뒤에 명령 을 추가합니다 \midrule(실제로 원하는 내용에 따라 다름). 예를 들어

& \multicolumn{2}{c}{Immigrants} & & \multicolumn{2}{c}{Locals} \\ \cline{2-3} \cline{5-6}

i-j명령 의 숫자는 \cline{i-j}"밑줄"을 그어야 하는 열을 지정합니다. 즉, 행은 열에서 시작하여 i열에서 끝납니다 j.

편집하다: 패키지를 사용하는 경우 @Werner가 제안한 대로 booktabs동등한 명령을 대신 사용하십시오 . \cmidrule그러나 패키지 booktabs는 기본 테이블 모양을 수정하며 원본 테이블의 일부 기능은 더 이상 만족스러운 결과(예: 수직 테이블 규칙)를 생성하지 않습니다. 즉, booktabs일반적으로 사용하는 것이 더 나은 선택입니다.

답변3

booktabs테이블에 "개방형" 모양을 제공하기 위해 패키지 의 일부 선 그리기 매크로를 사용하는 것 외에도 다음 사항을 수행해야 합니다.

  • 표가 텍스트 블록의 너비를 초과하지 않도록 합니다. 이는 tabularx문자열에 줄 바꿈을 삽입하는 환경을 사용하여 수행할 수 있습니다.Offspring survival rate

  • 숫자 데이터를 해당 소수점 표시에 정렬하고 -음수에는 대시 대신 적절한(빼기) 기호를 사용합니다. 이는 패키지를 로드 dcolumn하고 D열 유형을 사용하여 수행할 수 있습니다.

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

\documentclass{article}
\usepackage{booktabs,tabularx,dcolumn}
\newcolumntype{d}[1]{D..{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mc[1]{\multicolumn{1}{C}{#1}} % shortcut macro
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}

\begin{document}

\begin{table}
\caption{Health}
\begin{tabularx}{\textwidth}{ l *{4}{d{2.5}} }
\toprule
& \multicolumn{2}{c}{Immigrants}  & \multicolumn{2}{c}{Non-immigrants} \\
\cmidrule(lr){2-3}\cmidrule(l){4-5}
& \mc{Disability} & \mc{Offspring survival rate} 
& \mc{Disability} & \mc{Offspring survival rate} \\
\midrule
Low   &-0.00190  & -0.00525 &  0.00185 &  -0.00186     \\
      & (-0.43)  & (-0.40)  &   (0.83) &  (-0.36)      \\
\addlinespace
High & -0.00865 &  0.00429 &  -0.00413 & -0.0207\sym{*} \\
     &  (-1.21) &  (0.20)  &  (-1.01)  &  (-2.24)       \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}

관련 정보