Tabularx, paisagem, \toprule \midrule não sublinham totalmente a linha

Tabularx, paisagem, \toprule \midrule não sublinham totalmente a linha

De alguma forma, \toprulenão sublinha toda a linha da minha tabela. Espero que alguém possa me explicar o que estou fazendo de errado. Meu objetivo final é criar uma tabela semelhante a:Trecho do artigo de ANDREY GOLUBOV, DIMITRIS PETMEZAS e NICKOLAOS G. TRAVLOS, When It Pays to Pay Your Investment Banker, 2012

Cópia do meu 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}

É bom mencionar que o código é criado usando o pacote STATA esstab + booktabs.

Responder1

Entendo que a tabela é gerada automaticamente, mas depois disso vocêprecisarpara corrigi-lo para que fique legível e sintaticamente correto. Por exemplo, tabularxaqui é completamente inútil, porque nenhuma Xcoluna é especificada.

Aqui está um retrabalho siunitxe alguns truques para reduzir as larguras do cabeçalho.

\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}

insira a descrição da imagem aqui

Responder2

No exemplo a seguir, removi tabularxe para fazer a tabela caber na página, introduzi quebras de linha nos cabeçalhos. Também adicionei \cmidrulese removi as colunas desnecessárias (no original você declarou um total de 17 colunas, mas usou apenas 9). Na segunda tabela adicionei siunitxpara melhorar o alinhamento dos números da tabela.

insira a descrição da imagem aqui

\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}

Responder3

Aqui está uma solução que continua o uso de um tabularxambiente.

Reduzi o número total de colunas 9e atribuí uma versão centralizada do Xtipo de coluna a todas as 8 colunas de dados. Também usei diversas \cmidrulediretivas para fornecer mais estrutura visual ao material do cabeçalho. Observe que ao permitir quebras de linha nas células do cabeçalho, fica muito mais fácil encaixar toda a tabela no formato paisagem.

insira a descrição da imagem aqui

\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}

informação relacionada