对齐具有不同列数的表格行

对齐具有不同列数的表格行

我有一张类似这样的表格。我想让突出显示的部分在这些列中居中,即对于第 2 行到第 4 行,我希望前三列水平分布在模型 1 下的四列下。对于第 5 行到第 6 行,我希望突出显示的部分在模型 2 下居中。不过,我想让值保持右对齐。可能吗?我使用的代码如下。

在此处输入图片描述

\begin{table}[!h]
\caption{}\label{}
\centering
\begin{tabular*}{\textwidth{@{}l@{\extracolsep{\fill}}r@{\extracolsep{\fill}}r@{\extracolsep{\fill}}r@{\extracolsep{\fill}}r@{\extracolsep{\fill}}r@{\extracolsep{\fill}}r@{\extracolsep{\fill}}r@{}}
\hline\hline
& \multicolumn{4}{c}{\textbf{Model 1}} & \multicolumn{3}{c}{\textbf{Model 2}} \\ \hline
\textbf{Variable} & \textbf{Estimate} & \textbf{S.E.} & \textbf{p-value} & & \textbf{Estimate} & \textbf{S.E.} & \textbf{p-value} \\ \hline\hline
Time & -0.0108 & 0.0006 & \textless{}0.0001 & \multicolumn{1}{r}{} & -0.0106 & 0.0003 & \textless{}0.0001 \\
Age at baseline & -0.0045 & 0.0001 & \textless{}0.0001 & & -0.0108 & 0.0002 & \textless{}0.0001 \\ \hline
\textbf{Variable} & \textbf{Estimate} & \textbf{S.E.} & \textbf{p-value} & $\bm{\sigma}^2$& \textbf{Estimate} & \textbf{S.E.} & \\
Time & 0.0028 & 0.8561 & 1.4808 & \multicolumn{1}{r}{-8.7595} & 0.1770 & 0.0721 & \\ \hline
\end{tabular*}
\end{table}

答案1

我不会重复标题行,部分原因是这样做会让外观非常混乱。我还会避免不必要的大胆的单元格。如果人们无法弄清楚表格标题的材质是什么,除非将该材质加粗,否则表格的基本布局一定存在严重问题。

相反,我认为将七个数据列中的数字对齐到各自的小数点标记上是一个好主意。

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs} % for well-spaced horizontal rules
\usepackage{dcolumn}  % allow alignment on decimal markers
\newcolumntype{d}[1]{D{.}{.}{#1}}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro

\begin{document}

\begin{table}
\small
\caption{Abc}\label{tab:abc}
\setlength\tabcolsep{0pt}

\smallskip
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} 
     l d{2.4} d{1.4} d{2.4} d{2.4} d{2.4} d{1.4} d{2.4} }
\toprule
Variables
& \multicolumn{4}{c}{Model 1} 
& \multicolumn{3}{c}{Model 2} \\ 
\cmidrule{2-5} \cmidrule{6-8}
 & \mc{Estimate} & \mc{s.e.} & \mc{$p$-value} 
 & \mc{$\sigma^2$}
 & \mc{Estimate} & \mc{s.e.} & \mc{$p$-value} \\ 
\midrule
Time & -0.0108 & 0.0006 & {<}0.0001 & 
     & -0.0106 & 0.0003 & {<}0.0001 \\
Age at baseline 
     & -0.0045 & 0.0001 & {<}0.0001 &  
     & -0.0108 & 0.0002 & {<}0.0001 \\ 
\midrule
Time &  0.0028 & 0.8561 &    1.4808 
     & -8.7595 % <-- "sigma-squared"
     &  0.1770 & 0.0721 \\ 
\bottomrule
\end{tabular*}
\end{table}

\end{document}

相关内容