我刚刚发现siunitx
,它似乎可以满足我对表格的要求,即使列居中但保持数字小数对齐。我发现它不适用于整数列(例如 99、9、99、99)。数字之间正确对齐,但未在列内正确居中,而是向左移动了一位或两位。我使用时siunitx
没有更改选项,只使用简单的 {S} 作为列类型。它适用于带有小数点的数字列,但整数列会出错。
答案1
您可以使用table-format
选项指定为表格中数字的每个部分留出多少空间。如果您有最多 3 位的整数,则可以使用table-format=3
为 3 位整数留出空间,而不留小数。
正如评论中所述,此选项也可以在每个列上设置,方法是在使用时将选项传递给列定义。
以下是一个例子:
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{table}
\sisetup{
table-format = 2,
}
\begin{tabular}{SSS}
A & B & C \\
15 & 3 & 2 \\
20 & 2 & 19 \\
25 & 24 & 4 \\
\end{tabular}
\end{table}
\begin{table}
\begin{tabular}{
S[table-format=2.3] % with space for integers and decimals
S[table-format=2] % with space for integers only
S % as the default
}
A & B & C \\
15 & 3 & 2 \\
20 & 2 & 19 \\
25 & 24 & 4 \\
\end{tabular}
\end{table}
\end{document}
对齐的整数如下所示: