我有一张表格,列出了几个属性。其中一些有单位,一些没有。所有属性都有不确定性。现在我想使用 siunitx 包在表格中正确对齐它们。请参阅以下 MWE:
\documentclass{article}
\usepackage{siunitx}
\sisetup{separate-uncertainty}
\sisetup{multi-part-units=single}
\begin{document}
\begin{tabular}[b]{|l|S|}
\hline
Property & {Value} \\\hline
A & \SI{284.98 \pm 5.2}{\meter} \\\hline
B & \SI{3.86 \pm 0.3}{\kilo\gram} \\\hline
C & \num{96.4 \pm 42.3} \\\hline
\end{tabular}
\end{document}
问题是,所有的值都没有正确对齐。
更新: 结果应该如下所示:
A 284.98 +/- 5.2 m
B 3.86 +/- 0.3 kg
C 96.4 +/- 42.3
然而,不确定性的调整并不是必需的。
答案1
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\sisetup{separate-uncertainty}
\sisetup{multi-part-units=single}
\begin{document}
\begin{tabular}{
l
S[table-format=3.2]@{\,\( \pm \)\,}
S[table-format=2.1]@{\,}
s[table-unit-alignment = left]
}
\toprule
Property &\multicolumn{3}{c}{Value} \\
\midrule
A & 284.98 & 5.2 & \si{\meter} \\
B & 3.86 & 0.3 & \si{\kilo\gram} \\
C & 96.4 & 42.3 \\
\bottomrule
\end{tabular}
\end{document}
在这个 MWE 中,我将数字和不确定性分成两列,两列自动用 +- 符号分隔。这样我可以确保数字与小数点分隔符正确对齐。单位位于第三列,左对齐。此外,我删除了所有垂直线,并用包的线table-format=3.2
替换了s 。\hrule
booktabs
答案2
我在寻找同样的问题时偶然发现了这篇文章(但没有在列之间使用加号和减号)。由于当前答案不再有效,我决定添加一个新答案以供将来参考。
作为v3.0.0siunitx(参见更新日志)选项table-unit-alignment
,我猜,s
列类型也被删除了。
新的选择可能是S[table-text-alignment = left]
。至少对我来说是有效的:
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\sisetup{separate-uncertainty}
\sisetup{multi-part-units=single}
\begin{document}
\begin{tabular}{
l
S[table-format=3.2]@{\,\( \pm \)\,}
S[table-format=2.1]@{\,}
S[table-text-alignment = left]
}
\toprule
Property &\multicolumn{3}{c}{Value} \\
\midrule
A & 284.98 & 5.2 & \si{\meter} \\
B & 3.86 & 0.3 & \si{\kilo\gram} \\
C & 96.4 & 42.3 \\
\bottomrule
\end{tabular}
\end{document}