
Estou construindo uma tabela de resultados na qual gostaria que os títulos das colunas formados por uma linha (como a primeira e as duas últimas) estivessem alinhados com a segunda linha de títulos formados por duas linhas.
Sei que não fui claro então vou colocar um exemplo do que gostaria de obter:
Quero que "Resultado", "Bandiwdth" e "N" estejam imediatamente acima da linha, pois estão alinhados com a segunda linha de títulos de colunas de várias linhas.
Meu código é o seguinte:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{rotating}
\usepackage{adjustbox}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage[margin=0.5in]{geometry}
\begin{document}
\begin{table}[h]
\caption{RD Treatment Effects on Schooling}
\adjustbox{max width=\columnwidth}{
\begin{tabular}{lccccccc} \hline\hline \\[-1em]
& (1) & (2) & (3) & (4) & (5) & & \\[0.1em] \hline \\[-1em]
Outcome & \multicolumn{1}{p{3cm}}{\centering Linear RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{p{3cm}}{\centering Quadratic RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{p{3cm}}{\centering Cubic RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{p{3cm}}{\centering Linear RD \\ $\hat{h}/2$ bandwidth} & \multicolumn{1}{p{3cm}}{\centering Linear RD \\ $2\hat{h}$ bandwidth} & Bandwidth & N \\ \hline
& & & & & & \\
Years of schooling & 0.340* & 0.305 & 0.320 & 0.238 & -0.00418 & 26 & 3,716\\
& (0.183) & (0.289) & (0.306) & (0.229) & (0.126) \\[1.2ex]
Completed primary school & 0.0193* & 0.0321** & 0.00435 & 0.406* & -0.0605 & 43 & 6,023 \\
& (0.0115) & (0.0142) & (0.0206) & (0.232) & (0.117) \\[1.2ex]
Completed secondary school & 0.00864 & 0.00882 & -0.0219 & 0.410* & 0.0229 & 25 & 3,453\\
& (0.0263) & (0.0355) & (0.0589) & (0.215) & (0.133) \\[1.2ex]
Completed higher education & -0.00269 & -0.0324* & -0.0408* & 0.336* & 0.0833 & 44 & 6,373 \\
& (0.0116) & (0.0178) & (0.0240) & (0.190) & (0.108) \\[1.2ex]
Literacy & 0.0273 & 0.0417 & 0.0238 & 0.253 & -0.0613 & 36 & 5,149 \\
& (0.0245) & (0.0369) & (0.0534) & (0.225) & (0.122) \\[1.2ex]
\hline \hline \\[-1em]
\multicolumn{6}{c}{ *** p$<$0.01, ** p$<$0.05, * p$<$0.1} \\
\end{tabular}}
\end{table}
\end{document}
Responder1
Eu gostaria de desencorajá-lo fortemente de usar \adjustbox
para fazer o material tabular "caber" dentro do bloco de texto: isso provavelmente gerará caracteres extremamente pequenos e quase ilegíveis dentro da tabela. Dito de outra forma: não use, \adjustbox
a menos que queira sinalizar aos seus leitores que você realmente não se importa se eles tentarão ler o conteúdo da tabela.
Em vez disso, sugiro que você aprenda como aproveitar o tabularx
meio ambiente. No código a seguir, combino um tabularx
ambiente com as facilidades do dcolumn
pacote para que os dados numéricos fiquem alinhados em seus respectivos marcadores decimais. E use as macros de desenho de linha da booktabs
macro para gerar linhas horizontais bem espaçadas.
Falando por mim mesmo, eu não moveria as palavras “Resultado”, “Largura de banda” e “N” uma linha abaixo. Porém, se achar que isso é realmente necessário, basta inserir as instruções \renewcommand{\tabularxcolumn}[1]{b{#1}}
após carregar o tabularx
pacote.
A captura de tela a seguir mostra a tabela que incorpora as modificações sugeridas, seguida pelo código da tabela original que usa \adjustbox
para encaixar o material na largura do bloco de texto. Espero que você concorde que a tabela superior é mais legível. :-)
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs,tabularx,dcolumn,adjustbox}
\newcolumntype{C}{>{\centering\arraybackslash}X} % centered version of 'X' col. type
\newcolumntype{d}[1]{D..{#1}}
\usepackage[font=small,labelfont=bf,skip=.333\baselineskip]{caption}
\usepackage[margin=0.5in]{geometry} % those are awfully narrow margins...
% two handy shortcut macros:
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\newcommand\mC[1]{\multicolumn{1}{C}{#1}}
\begin{document}
\begin{table}[t]
\caption{\texttt{tabularx} table, \texttt{dcolumn} and \texttt{booktabs} packages}
\begin{tabularx}{\textwidth}{@{} l *{5}{d{2.5}} cc @{}}
\toprule
& \mc{(1)} & \mc{(2)} & \mc{(3)} & \mc{(4)} & \mc{(5)} \\
\addlinespace
% use the 'C' column type on the five headers to allow automatic line-breakiing
Outcome & \mC{Linear RD $\hat{h}$~b'width}
& \mC{Quadratic~RD $\hat{h}$~b'width}
& \mC{Cubic~RD $\hat{h}$~b'width}
& \mC{Linear~RD $\hat{h}/2$~b'width}
& \mC{Linear~RD $2\hat{h}$~b'width}
& Bandwidth & $N$ \\
\midrule
Years of schooling & 0.340^{*} & 0.305 & 0.320 & 0.238 & -0.00418 & 26 & 3,716\\
& (0.183) & (0.289) & (0.306) & (0.229) & (0.126) \\ \addlinespace
Completed primary school & 0.0193^{*} & 0.0321^{**} & 0.00435 & 0.406^{*} & -0.0605 & 43 & 6,023 \\
& (0.0115) & (0.0142) & (0.0206) & (0.232) & (0.117) \\ \addlinespace
Completed secondary school & 0.00864 & 0.00882 & -0.0219 & 0.410^{*} & 0.0229 & 25 & 3,453\\
& (0.0263) & (0.0355) & (0.0589) & (0.215) & (0.133) \\ \addlinespace
Completed higher education & -0.00269 & -0.0324^{*} & -0.0408^{*} & 0.336^{*} & 0.0833 & 44 & 6,373 \\
& (0.0116) & (0.0178) & (0.0240) & (0.190) & (0.108) \\ \addlinespace
Literacy & 0.0273 & 0.0417 & 0.0238 & 0.253 & -0.0613 & 36 & 5,149 \\
& (0.0245) & (0.0369) & (0.0534) & (0.225) & (0.122) \\
\bottomrule
\addlinespace
\multicolumn{6}{c}{ $^{***}\ p<0.01$; $^{**}\ p<0.05$; $^{*}\ p<0.1$} \\
\end{tabularx}
\end{table}
\begin{table}[h]
\caption{For comparison, the original form of the table}
\adjustbox{max width=\columnwidth}{
\begin{tabular}{l*{7}{c}} \hline\hline \\[-1em]
& (1) & (2) & (3) & (4) & (5) & & \\[0.1em] \hline \\[-1em]
Outcome & \multicolumn{1}{p{3cm}}{\centering Linear RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{p{3cm}}{\centering Quadratic RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{p{3cm}}{\centering Cubic RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{p{3cm}}{\centering Linear RD \\ $\hat{h}/2$ bandwidth} & \multicolumn{1}{p{3cm}}{\centering Linear RD \\ $2\hat{h}$ bandwidth} & Bandwidth & N \\ \hline
& & & & & & \\
Years of schooling & 0.340* & 0.305 & 0.320 & 0.238 & -0.00418 & 26 & 3,716\\
& (0.183) & (0.289) & (0.306) & (0.229) & (0.126) \\[1.2ex]
Completed primary school & 0.0193* & 0.0321** & 0.00435 & 0.406* & -0.0605 & 43 & 6,023 \\
& (0.0115) & (0.0142) & (0.0206) & (0.232) & (0.117) \\[1.2ex]
Completed secondary school & 0.00864 & 0.00882 & -0.0219 & 0.410* & 0.0229 & 25 & 3,453\\
& (0.0263) & (0.0355) & (0.0589) & (0.215) & (0.133) \\[1.2ex]
Completed higher education & -0.00269 & -0.0324* & -0.0408* & 0.336* & 0.0833 & 44 & 6,373 \\
& (0.0116) & (0.0178) & (0.0240) & (0.190) & (0.108) \\[1.2ex]
Literacy & 0.0273 & 0.0417 & 0.0238 & 0.253 & -0.0613 & 36 & 5,149 \\
& (0.0245) & (0.0369) & (0.0534) & (0.225) & (0.122) \\[1.2ex]
\hline \hline \\[-1em]
\multicolumn{6}{c}{ *** p$<$0.01, ** p$<$0.05, * p$<$0.1} \\
\end{tabular}}
\end{table}
\end{document}
Responder2
Você pode obter facilmente o que deseja com o \thead
comando from makecell
. Adicionei algumas melhorias na sua tabela, usando o S
tipo de coluna from siunits
e booktabs
. Removi o \adjustbox
comando, que normalmente não deveria ser usado com tabelas:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{siunitx, makecell, booktabs}
\renewcommand{\theadfont}{\small}
\renewcommand{\theadalign}{cb}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage[margin=0.5in, showframe]{geometry}
\begin{document}
\begin{table}[!hb]
\sisetup{table-format =-1.5, table-number-alignment =center, table-space-text-pre=(, table-space-text-post =)**, table-align-text-pre=false, table-align-text-post=false}
\setlength\tabcolsep{4pt}
\caption{RD Treatment Effects on Schooling}
\small\centering
\begin{tabular}{l*{5}{S}cc}
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)} & & \\
\addlinespace
\toprule
Outcome & {\thead{Linear RD \\ $\hat{h}$ bandwidth}} & {\thead{Quadratic RD \\ $\hat{h}$ bandwidth}} & {\thead{Cubic RD \\ $\hat{h}$ bandwidth}} & {\thead{Linear RD \\ $\hat{h}/2$ bandwidth}} & {\thead{Linear RD \\ $2\hat{h}$ bandwidth}} & Bandwidth & N \\
\midrule
\addlinespace[2ex]
Years of schooling & 0.340* & 0.305 & 0.320 & 0.238 & -0.00418 & 26 & 3,716 \\
& {(}0.183{)} & {(}0.289{)} & {(}0.306{)} & {(}0.229{)} & {(}0.126{)} \\
\addlinespace
Completed primary school & 0.0193* & 0.0321** & 0.00435 & 0.406* & -0.0605 & 43 & 6,023 \\
& {(}0.0115{)} & {(}0.0142{)} & {(}0.0206{)} & {(}0.232{)} & {(}0.117{)} \\
\addlinespace
Completed secondary school & 0.00864 & 0.00882 & -0.0219 & 0.410* & 0.0229 & 25 & 3,453 \\
&{(}0.0263{)} & {(}0.0355{)} & {(}0.0589{)} & {(}0.215{)} & {(}0.133{)} \\
\addlinespace
Completed higher education & -0.00269 & -0.0324* & -0.0408* & 0.336* & 0.0833 & 44 & 6,373 \\
& {(}0.0116{)} & {(}0.0178{)} & {(}0.0240{)} & {(}0.190{)} & {(}0.108{)} \\
\addlinespace
Literacy & 0.0273 & 0.0417 & 0.0238 & 0.253 & -0.0613 & 36 & 5,149 \\
& {(}0.0245{)} & {(}0.0369{)} & {(}0.0534{)} & {(}0.225{)} & {(}0.122{)} \\
\addlinespace
\bottomrule
\addlinespace
\multicolumn{6}{l}{ *** p$<$0.01, ** p$<$0.05, * p$<$0.1} \\
\end{tabular}
\end{table}
\end{document}
Responder3
Você pode usar o array
pacote e o b
tipo de coluna (link útil).
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{rotating}
\usepackage{adjustbox}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage[margin=0.5in]{geometry}
\usepackage{array}
\begin{document}
\begin{table}[h]
\caption{RD Treatment Effects on Schooling}
\adjustbox{max width=\columnwidth}{
\begin{tabular}{lccccccc} \hline\hline \\[-1em]
& (1) & (2) & (3) & (4) & (5) & & \\[0.1em] \hline \\[-1em]
Outcome & \multicolumn{1}{b{3cm}}{\centering Linear RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{b{3cm}}{\centering Quadratic RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{b{3cm}}{\centering Cubic RD \\ $\hat{h}$ bandwidth} & \multicolumn{1}{b{3cm}}{\centering Linear RD \\ $\hat{h}/2$ bandwidth} & \multicolumn{1}{b{3cm}}{\centering Linear RD \\ $2\hat{h}$ bandwidth} & Bandwidth & N \\ \hline
& & & & & & \\
Years of schooling & 0.340* & 0.305 & 0.320 & 0.238 & -0.00418 & 26 & 3,716\\
& (0.183) & (0.289) & (0.306) & (0.229) & (0.126) \\[1.2ex]
Completed primary school & 0.0193* & 0.0321** & 0.00435 & 0.406* & -0.0605 & 43 & 6,023 \\
& (0.0115) & (0.0142) & (0.0206) & (0.232) & (0.117) \\[1.2ex]
Completed secondary school & 0.00864 & 0.00882 & -0.0219 & 0.410* & 0.0229 & 25 & 3,453\\
& (0.0263) & (0.0355) & (0.0589) & (0.215) & (0.133) \\[1.2ex]
Completed higher education & -0.00269 & -0.0324* & -0.0408* & 0.336* & 0.0833 & 44 & 6,373 \\
& (0.0116) & (0.0178) & (0.0240) & (0.190) & (0.108) \\[1.2ex]
Literacy & 0.0273 & 0.0417 & 0.0238 & 0.253 & -0.0613 & 36 & 5,149 \\
& (0.0245) & (0.0369) & (0.0534) & (0.225) & (0.122) \\[1.2ex]
\hline \hline \\[-1em]
\multicolumn{6}{c}{ *** p$<$0.01, ** p$<$0.05, * p$<$0.1} \\
\end{tabular}}
\end{table}
\end{document}