我有一张包含五列的表格,其中包含十进制数和 10 的幂,我正在尝试使用 siunitx 包进行格式化。我最终想要的是
- 中心价值观
- 按小数点后第二位对齐的值
- 以上两个适用于所有五列。
以下是该表的简化版本代码,以便于阅读:
\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}