当标题相对于数字列的宽度较长时,如何实现右对齐数字列上的居中标题

当标题相对于数字列的宽度较长时,如何实现右对齐数字列上的居中标题

我很难在相对较窄的右对齐数字列上生成相对较宽的居中标题条目。相反,使用制造细胞包如MWE所示:

\documentclass{scrbook}
\usepackage{makecell}
\usepackage{booktabs}
\begin{document}

Short headers are nicely centered over wide columns with right-aligned numbers:

\vspace{10mm}

\begin{tabular}{crr}\toprule
Case    &   \thead{A}   &   \thead{B}\\ \midrule
1       &   80401               &   45054564\\
2       &   55454555454         &   424545\\
3       &   505                 &   175\\
4       &   65                  &   16\\ \bottomrule
\end{tabular}

\vspace{10mm}


However, long headers \emph{appear to be right-aligned} over narrow columns with right-aligned numbers:

\vspace{10mm}


\begin{tabular}{crr}\toprule
Case    &   \thead{AAAAAAAA}    &   \thead{BBBBBBBBB}\\ \midrule
1       &   80                  &   4\\
2       &   5                   &   45\\
3       &   505                 &   175\\
4       &   65                  &   1\\ \bottomrule
\end{tabular}

\end{document}

结果如下: 在此处输入图片描述 然而,如屏幕截图下部所示,标题 AAAAAAAAA 和 BBBBBBBB 似乎是右对齐的,尽管从技术上讲它是居中的,就像上面的情况一样,短标题条目位于长数字条目之上。

我很想知道如何让第二个表格的标题居中。谢谢!

答案1

\documentclass{scrbook}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}


\begin{tabular}{S[table-format=1]S[table-format=3]S[table-format=3]}\toprule
{Case}    &   {\thead{AAAAAAAA}}    &   {\thead{BBBBBBBBB}}\\ \midrule
1       &   80                  &   4\\
2       &   5                   &   45\\
3       &   505                 &   175\\
4       &   65                  &   1\\ \bottomrule
\end{tabular}
\end{document}

在此处输入图片描述

相关内容