
Tenho uma tabela de regressão, que possui duas partes principais ("Imigrantes" e "Locals"). Gostaria de colocar uma pequena linha abaixo de Imigrantes que vai de onde começa o primeiro modelo (“Incapacidade”) até onde termina o último modelo (“taxa”), e outra linha com o mesmo comprimento abaixo de “Locals”. Minha intenção é separar melhor as duas partes da tabela. Isso é uma possibilidade? Como eu posso fazer isso? Estou adicionando meu código e uma captura de tela. Muito obrigado!
\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) \\
(além disso, como você pode ver, tenho uma coluna extra vazia entre eles para criar mais espaço)
Responder1
Use o \cline
equivalente oferecido porbooktabs
:
\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}
Oopcional (lr)
argumento para \cmidrule
apara a linha no lado l
esquerdo e r
direito para que fiquem separados entre as colunas três e quatro.
Responder2
Adicione o \cline
comando em vez de \midrule
ou após a primeira linha da tabela (dependendo do que você realmente deseja). Por exemplo
& \multicolumn{2}{c}{Immigrants} & & \multicolumn{2}{c}{Locals} \\ \cline{2-3} \cline{5-6}
Os números i-j
do \cline{i-j}
comando especificam as colunas que devem ser "sublinhadas", ou seja, a linha começa em column i
e termina em column j
.
Editar:
Se você estiver usando o booktabs
pacote, use o comando equivalente \cmidrule
sugerido por @Werner. Observe, entretanto, que o booktabs
pacote modifica a aparência padrão da tabela e alguns recursos das tabelas originais não produzem mais resultados satisfatórios (como regras de tabelas verticais). Dito isto, usar booktabs
geralmente é uma escolha melhor.
Responder3
Além de usar algumas das macros de desenho de linha do booktabs
pacote para dar à tabela uma aparência "aberta", você também deve
faça com que a tabela não exceda a largura do bloco de texto; isso pode ser feito usando um
tabularx
ambiente para inserir uma quebra de linha nas stringsOffspring survival rate
alinhe os dados numéricos em seus respectivos marcadores decimais e use
-
sinais (menos) adequados em vez de traços para os números negativos; isso pode ser feito carregando odcolumn
pacote e usando osD
tipos de coluna.
\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}