我有一张回归表,它有两个主要部分(“移民”和“当地人”)。我想在“移民”下面放一条小线,从第一个模型的开始位置(“残疾”)到最后一个模型的结束位置(“比率”),并在“当地人”下面放另一条长度相同的线。我的目的是更好地区分表格的两个部分。这可能吗?我该怎么做?我正在添加我的代码和屏幕截图。非常感谢!
\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
线,以便它们在第三列和第四列之间分开。l
r
答案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}