使用 siunitx,如何同时按小数点对齐表格所有列中的值并将其居中对齐

使用 siunitx,如何同时按小数点对齐表格所有列中的值并将其居中对齐

我有一张包含五列的表格,其中包含十进制数和 10 的幂,我正在尝试使用 siunitx 包进行格式化。我最终想要的是

  1. 中心价值观
  2. 按小数点后第二位对齐的值
  3. 以上两个适用于所有五列。

以下是该表的简化版本代码,以便于阅读:

\documentclass[12pt]{article}
\usepackage{siunitx}
\usepackage{booktabs}

\begin{table}[ht]
\caption{Sample Table with Decimal Alignment}
\label{table:decimal-alignment}
\begin{center}
\begin{tabular}{l|S}
Item & {Value} \\ \hline
A    & 123.45  \\
B    & 67.890  \\
C    & 0.12    \\
D    & 9876.5  \\ \hline
\end{tabular}
\end{center}
\end{table}

结果表的屏幕截图

答案1

如果将列类型指定为S,且不带可选参数,则小数点标记将放置在中间。由此产生的对称布局(就小数点标记而言)很少是最佳的,尤其是因为它往往会浪费列占用的水平空间。

table-format要获得不对称布局,您需要为列类型选项提供合适的值S。对于手头的表格,这应该是table-format=4.3,因为其中一个数字的小数点左侧有 4 位数字,而另一个数字的小数点右侧有 3 位数字。

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{siunitx}

\begin{document}
\begin{table}
\caption{Sample Table}
\label{table:decimal-alignment}
\centering
\smallskip
\begin{tabular}{|l|S|S[table-format=4.3]|}
\hline
Item & {Value} & {Value} \\ \hline
A    & 123.45  & 123.45  \\
B    & 67.890  & 67.890  \\
C    & 0.12    & 0.12    \\
D    & 9876.5  & 9876.5  \\ \hline
\end{tabular}
\end{table}
\end{document}

相关内容