以下是代码:
\begin{table}
\centering
\begin{tabular}{rrrrr}
\toprule
\multirow{2}{*}{b} & \multicolumn{2}{c}{QCDH} & Single & \multirow{2}{*}{$\frac{\pi_{q1}}{\pi_{s1}}$} \\
\cmidrule{2-4} \\
& $\pi_{q1}$ & $\pi_{q1}$ & $\pi_{s1}$ & \\
\midrule \\
0.1 & 0.0055 & 0.0018 & 0.0018 & 3.0555\\
0.5 & 0.1218 & 0.0830 & 0.0074 & 16.4594\\
2.5 & 0.7325 & 0.6771 & 0.3561 & 2.0570\\
\bottomrule
\end{tabular}
\caption{Pickup rates from QCDH and single SNP approach}
\end{table}
结果如下:
如您所见,第一个 \cmidrule 似乎占用了太多空间。
答案1
如果在同一级别的两个 s 之间留有空格\cmidrule
,您永远不需要\morecmidrules
。只需使用()
可选参数来缩短行,如下所示:
\begin{table}
\centering
\begin{tabular}{rrrrr}\toprule
$b$ & \multicolumn{2}{c}{QCDH} & Single & \smash[b]{$\frac{\pi_{q1}}{\pi_{s1}}$} \\
\cmidrule(r){2-3}\cmidrule(l){4-5} % notice there's no \\ here
& $\pi_{q1}$ & $\pi_{q1}$ & $\pi_{s1}$ & \\
\midrule[\heavyrulewidth] % notice there's no \\ here
0.1 & 0.0055 & 0.0018 & 0.0018 & 3.0555\\ \midrule
0.5 & 0.1218 & 0.0830 & 0.0074 & 16.4594\\ \midrule
2.5 & 0.7325 & 0.6771 & 0.3561 & 2.0570\\ \bottomrule
\end{tabular}
\caption{Pickup rates from QCDH and single SNP approach}
\end{table}
答案2
将封装的功能multirow
与封装的功能集成起来booktabs
很棘手: \midrule
并\cmidrule
添加额外的垂直间距,但在执行指令时不会考虑这些额外的间距\multirow
。因此,将材料排列在两行多行中,并在这两行之间也具有\midrule
或,\cmidrule
很少能令人满意。
此外,我认为您的表格既不需要也不会受益于将 应用于\multirow
标题第 1 列和第 5 列的内容。只需将这些项目放在第一行,并将跨度设为\cmidrule
第 2 列和第 3 列即可。
我认为总体来说中心即使表格主体中的材料未居中(或不应居中),标题中的项目也会居中。最后,由于数据是数字,因此将它们的小数点对齐可能也是个好主意。
\documentclass{article}
\usepackage{amsmath,booktabs,siunitx}
\begin{document}
\begin{table}
\centering
\begin{tabular}{S[table-format=1.1]
*{3}{S[table-format=1.4]}
S[table-format=2.4]}
\toprule
{b} & \multicolumn{2}{c}{QCDH} & {Single} & {$\dfrac{\pi_{q1}}{\pi_{s1}}$} \\
\cmidrule(lr){2-3}
& {$\pi_{q1}$} & {$\pi_{q1}$} & {$\pi_{s1}$} \\
\midrule
0.1 & 0.0055 & 0.0018 & 0.0018 & 3.0555\\
0.5 & 0.1218 & 0.0830 & 0.0074 & 16.4594\\
2.5 & 0.7325 & 0.6771 & 0.3561 & 2.0570\\
\bottomrule
\end{tabular}
\caption{Pickup rates from QCDH and single SNP approach}
\end{table}
\end{document}