表格标题行的单元格右下对齐

表格标题行的单元格右下对齐

我经常需要将表头分成几行,但我不知道如何将它们排版得美观一些。

我发现最好的方法是使用 \pbox (如下例所示)来获得右对齐的换行文本。

但是我怎样才能使所有表格标题单元格对齐到该行的底部?

\documentclass{article} 
\usepackage{booktabs,pbox} 
\begin{document}
\begin{table}
\centering
   \begin{tabular}{l*{3}{r}}
    \toprule
    1 & \pbox{1.5cm}{\raggedleft first column contents} &  \pbox{1.5cm}{\raggedleft second column contents even longer} & third\\
    \midrule
    2 & 10 & 15 & 10\\
    \bottomrule
   \end{tabular}
\end{table}
\end{document}

答案1

使用 可以轻松实现这一点makecell:它的\thead\makecell命令允许在单元格内换行以及对单元格进行常见格式设置。因此,您可以自行决定换行的位置:

\documentclass{article}

\usepackage{booktabs,pbox}
\usepackage{makecell}
\renewcommand\theadalign{rb}

\begin{document}

\begin{table}
\centering
\begin{tabular}{l*{3}{r}}
\toprule
1 & \thead{first column\\ contents} & \thead{second column \\ contents\\ even longer} & \thead{third} \\
\midrule
2 & 10 & 15 & 10\\
\bottomrule
\end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

答案2

我认为\pbox它真的没有太大帮助,我只是\parbox在这里使用它b来对齐其底行。

\documentclass{article} 
\usepackage{booktabs,array} 
\begin{document}
\begin{table}
\centering
   \begin{tabular}{l*{3}{r}}
    \toprule
    1 & 
\parbox[b]{1.5cm}{\raggedleft first column contents} & 
 \parbox[b]{1.5cm}{\raggedleft second column contents even longer} &
 third\\
    \midrule
    2 & 10 & 15 & 10\\
    \bottomrule
   \end{tabular}
\end{table}
\end{document}

在此处输入图片描述

相关内容