基于这讨论后,我制作了下表:
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{caption}
\begin{document}
\begin{table}[ht]
\centering\setlength\extrarowheight{2pt}
\caption{Mean by Year and Group}
\begin{tabular}{@{\extracolsep{4pt}}llc*{2}{S@{\enspace}S@{\enspace}S}}
\toprule
{} & {} & {Sample} & \multicolumn{3}{c}{Median} & \multicolumn{3} {c}{SD}\\
\cmidrule(lr){3-3}
\cmidrule(lr){4-6}
\cmidrule(lr){7-9}
Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\
\midrule
2012 & Control & 2 & 10.052 & 0.294 & 10000.115 & 0.04 & 0.619 & 0.611 \\
& Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\
2016 & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\
& Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
有人能帮我把V1
、V2
和V3
列与每列的值对齐吗?我的意思是,使用siunitx
包后,列标题与数字的开头对齐,而不是与数字的中心对齐。
答案1
可能的解决方案是使用\multicolumn{1}{c}{..}
,但用括号括V1
起来V2
是V3
@Troy 在评论中给出的更好的解决方案。
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{caption}
\begin{document}
\newcommand{\M}[1]{\multicolumn{1}{c}{#1}}
\begin{table}[ht]
\centering\setlength\extrarowheight{2pt}
\caption{Mean by Year and Group}
\begin{tabular}{@{\extracolsep{4pt}}llc*{2}{S@{\enspace}S@{\enspace}S}}
\toprule
{} & {} & {Sample} & \multicolumn{3}{c}{Median} & \multicolumn{3} {c}{SD}\\
\cmidrule(lr){3-3}
\cmidrule(lr){4-6}
\cmidrule(lr){7-9}
Year & Group & N & \M{V1} & \M{V2} & \M{V3} & \M{V1} & \M{V2} & \M{V3} \\
\midrule
2012 & Control & 2 & 10.052 & 0.294 & 10000.115 & 0.04 & 0.619 & 0.611 \\
& Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\
2016 & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\
& Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}