如何让 siunitx 正确地将整数列置于中心

如何让 siunitx 正确地将整数列置于中心

我刚刚发现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}

对齐的整数如下所示:

在此处输入图片描述

相关内容