Tabularx, paisaje, \toprule \midrule no subrayan completamente la fila

Tabularx, paisaje, \toprule \midrule no subrayan completamente la fila

De alguna manera \topruleno subraya toda la fila de mi tabla. Ojalá alguien pueda explicarme qué estoy haciendo mal. Mi objetivo final es crear una tabla similar a:Fragmento del artículo de ANDREY GOLUBOV, DIMITRIS PETMEZAS y NICKOLAOS G. TRAVLOS, Cuando vale la pena pagarle a su banquero de inversiones, 2012

Copia de mi código abreviado:

\documentclass[12pt,twoside]{article}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{lscape}
        \begin{landscape}
    {
    \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
    \begin{tabularx}{\textwidth}{l*{4}{lccc}}
    \toprule
                        &\multicolumn{2}{c}{Full sample (1)}  &\multicolumn{2}{c}{Top 50\% experience target ind. (2)}  &\multicolumn{2}{c}{Bottem 50\% Experience target ind(3)}  &\multicolumn{2}{c}{(2-3)}           \\
                        &\multicolumn{2}{c}{}     &\multicolumn{2}{c}{}     &\multicolumn{2}{c}{}     &\multicolumn{2}{c}{}              \\
                        &        mean&          sd&        mean&          sd&        mean&          sd&           b         &           t\\
    \midrule
    Book to Market       &       2.911&      18.792&       3.341&      16.830&       2.642&      19.949&      -0.699         &    (-0.371)\\
    Free cash flow      &     225.883&    4275.873&     325.020&    6726.092&     163.922&    1242.414&    -161.098         &    (-0.290)\\
    Leverage            &       0.578&       0.204&       0.601&       0.206&       0.564&       0.202&      -0.037         &    (-1.734)\\
    Relative size       &      87.852&     667.603&      50.216&     184.712&     111.334&     838.031&      61.119         &     (1.075)\\
    \midrule
    Observations        &         390&            &         150&            &         240&            &         390         &            \\
    \bottomrule
    \end{tabularx}
    }
    \end{landscape}

Es bueno mencionar que el código se crea utilizando el paquete STATA esstab + booktabs.

Respuesta1

Entiendo que la tabla se genera automáticamente, pero después de esonecesidadpara arreglarlo para que sea legible y sintácticamente correcto. Por ejemplo, tabularxaquí es completamente inútil porque no Xse especifica ninguna columna.

Aquí hay una reelaboración siunitxy algunos trucos para reducir el ancho del encabezado.

\documentclass[12pt,twoside]{article}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{rotating}

\newcommand{\splitcell}[2][c]{\begin{tabular}[#1]{@{}c@{}}#2\end{tabular}}

\begin{document}

\begin{sidewaystable}
\centering

\sisetup{% we don't need to parse uncertainty
  input-open-uncertainty={},
  input-close-uncertainty={}
}

\caption{Some caption to the table}

\begin{tabular}{
  @{}
  l
  S[table-format=3.3]
  S[table-format=4.3]
  S[table-format=3.3]
  S[table-format=4.3]
  S[table-format=3.3]
  S[table-format=4.3]
  S[table-format=-3.3]
  S[table-format=-1.3,
    table-space-text-pre={(},
    table-space-text-post={)},
    table-align-text-pre=false
  ]
  @{}
}
\toprule
& \multicolumn{2}{c}{Full sample (1)}
& \multicolumn{2}{c}{\splitcell[t]{Top 50\% \\ experience \\ target ind. (2)}}
& \multicolumn{2}{c}{\splitcell[t]{Bottom 50\% \\ experience \\ target ind. (3)}}
& \multicolumn{2}{c}{$(3)-(2)$}
\\
\cmidrule(lr){2-3}\cmidrule(lr){4-5}\cmidrule(lr){6-7}\cmidrule(l){8-9}
& {mean} & {sd} & {mean} & {sd} & {mean} & {sd} & {b} & {t} \\
\midrule
Book to Market &   2.911 &   18.792 &   3.341 &   16.830 &   2.642 &   19.949 &   -0.699 & (-0.371)\\
Free cash flow & 225.883 & 4275.873 & 325.020 & 6726.092 & 163.922 & 1242.414 & -161.098 & (-0.290)\\
Leverage       &   0.578 &    0.204 &   0.601 &    0.206 &   0.564 &    0.202 &   -0.037 & (-1.734)\\
Relative size  &  87.852 &  667.603 &  50.216 &  184.712 & 111.334 &  838.031 &   61.119 &  (1.075)\\
\midrule
Observations   &  {390}  &          &   {150} &          &  {240}  &          &    {390} &         \\
\bottomrule
\end{tabular}

\end{sidewaystable}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

En el siguiente ejemplo, eliminé tabularxy para que la tabla encaje en la página, introduje saltos de línea en los encabezados. También agregué \cmidrules y eliminé las columnas innecesarias (en el original declaraste un total de 17 columnas pero solo usaste 9). En la segunda tabla he agregado siunitxpara mejorar la alineación de los números en la tabla.

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{pdflscape}
\usepackage{makecell}
\usepackage{siunitx}
\begin{document}

\begin{landscape}
\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabular}{l*{2}{lccc}}
\toprule
                    &\multicolumn{2}{c}{Full sample (1)}  &\multicolumn{2}{c}{\makecell{Top 50\%\\ experience target \\ind. (2)}}  &\multicolumn{2}{c}{\makecell{Bottom 50\%\\ Experience target\\ ind(3)}}  &\multicolumn{2}{c}{(2-3)}           \\
          \cmidrule(r){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(l){8-9}
                    &        mean&          sd&        mean&          sd&        mean&          sd&           b         &           t\\
\midrule
Book to Market       &       2.911&      18.792&       3.341&      16.830&       2.642&      19.949&      -0.699         &    (-0.371)\\
Free cash flow      &     225.883&    4275.873&     325.020&    6726.092&     163.922&    1242.414&    -161.098         &    (-0.290)\\
Leverage            &       0.578&       0.204&       0.601&       0.206&       0.564&       0.202&      -0.037         &    (-1.734)\\
Relative size       &      87.852&     667.603&      50.216&     184.712&     111.334&     838.031&      61.119         &     (1.075)\\
\midrule
Observations        &         390&            &         150&            &         240&            &         390         &            \\
\bottomrule
\end{tabular}

\bigskip

\begin{tabular}{l
                *{3}{
                S[table-format=3.3]
                S[table-format=4.3]}
                S[table-format=-3.3]
                S[table-format=-1.3,
                  input-open-uncertainty= ,
                  input-close-uncertainty  = ,
                  table-space-text-pre={(}, 
                  table-space-text-post={)},
                  table-align-text-pre = false]
           }
\toprule
     &\multicolumn{2}{c}{Full sample (1)}  
         &\multicolumn{2}{c}{\makecell{Top 50\%\\ experience target \\ind. (2)}}  
             &\multicolumn{2}{c}{\makecell{Bottom 50\%\\ Experience target\\ ind(3)}}  
                 &\multicolumn{2}{c}{(2-3)}           \\
          \cmidrule(r){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(l){8-9}
    &        {mean}&          {sd}
        &        {mean}&          {sd}
            &        {mean}&          {sd}
                &           {b}         &           {t}\\
\midrule
Book to Market       &       2.911&      18.792&       3.341&      16.830&       2.642&      19.949&      -0.699         &    (-0.371)\\
Free cash flow      &     225.883&    4275.873&     325.020&    6726.092&     163.922&    1242.414&    -161.098         &    (-0.290)\\
Leverage            &       0.578&       0.204&       0.601&       0.206&       0.564&       0.202&      -0.037         &    (-1.734)\\
Relative size       &      87.852&     667.603&      50.216&     184.712&     111.334&     838.031&      61.119         &     (1.075)\\
\midrule
Observations        &         {390}&            &         {150}&            &         {240}&            &         {390}         &            \\
\bottomrule
\end{tabular}
\end{landscape}
\end{document}

Respuesta3

Aquí hay una solución que continúa el uso de un tabularxentorno.

Reduje el número total de columnas 9y asigné una versión centrada del Xtipo de columna a las 8 columnas de datos. También he usado varias \cmidruledirectivas para proporcionar una estructura más visual al material del encabezado. Observe que al permitir saltos de línea en las celdas del encabezado, resulta mucho más fácil ajustar toda la tabla en formato horizontal.

ingrese la descripción de la imagen aquí

\documentclass[12pt,twoside]{article}
\usepackage[a4paper,margin=2.5cm]{geometry} % set suitable page parameters
\usepackage{booktabs,tabularx,ragged2e}
\newcolumntype{C}{>{\Centering\arraybackslash}X}
\newcommand\doublehsize{\hsize=\dimexpr2\hsize+2\tabcolsep\relax} % handy shortcut macro
\usepackage{rotating}

\begin{document}

\begin{sidewaystable}
\begin{tabularx}{\textwidth}{@{} l *{8}{C} @{}}
\toprule
&\multicolumn{2}{>{\doublehsize}C}{Full sample (1)}  
&\multicolumn{2}{>{\doublehsize}C}{Top 50\% experience target ind.~(2)}  
&\multicolumn{2}{>{\doublehsize}C}{Bottom 50\% experience target ind.~(3)}  
&\multicolumn{2}{>{\doublehsize}C}{$(2)-(3)$} \\

\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(l){8-9}
 & mean & sd & mean & sd & mean & sd & b & t\\
\midrule
Book to Market  &   2.911&   18.792&   3.341&   16.830&   2.642&   19.949&   $-0.699$ & ($-0.371$)\\
Free cash flow  & 225.883& 4275.873& 325.020& 6726.092& 163.922& 1242.414& $-161.098$ & ($-0.290$)\\
Leverage        &   0.578&    0.204&   0.601&    0.206&   0.564&    0.202&   $-0.037$ & ($-1.734$)\\
Relative size   &  87.852&  667.603&  50.216&  184.712& 111.334&  838.031&   $61.119$ &  ($1.075$)\\
\midrule
Observations    &  390 &  &  150 &  &  240 &  &  390      & \\
\bottomrule
\end{tabularx}
\end{sidewaystable}
\end{document}

información relacionada