我希望我的数字在表格中左对齐但居中,就像这样解决方案,我也尝试应用。现在我的数字是 的形式~24%
。为了正确对齐,我尝试通过将其写为 来保护非数字部分{$\sim$}24{ \%}
。%
远远落后于数字,但是~
位于列中央并与数字重叠。使用类似 时也会发生同样的事情,{xx}60{ \%}
现在xx
和 数字重叠。如何保护~
保持在数字左侧?
\documentclass{article}
\usepackage{booktabs,siunitx}
\begin{document}
\begin{tabular}{lS[table-format=2.0]S[table-format=2.0]}
\toprule
& {Before treatment} & {After treatment} \\
\midrule
component1 & {$\sim$}60{ \%} & {$\sim$}15{ \%} \\
component2 & {$\sim$}14{ \%} & {$\sim$}4{ \%} \\
component3 & {$\sim$}26{ \%} & {$\sim$}81{ \%} \\
\bottomrule
\end{tabular}
\end{document}
答案1
正如评论中所说,该table-space-text-post
选项有助于节省数字后的右侧空格。为了保持siunitx
默认设置,将使用细空格\,
而不是全空格。
该\sim
宏已经是允许输入的宏之一siunitx
,并用作比较器。这允许您\sim
在列中使用而不进行任何保护。它的空间由开关分配table-comparator
,或者,对于特殊选项,在整数部分前面table-format
有一个<
(或或...?)。>
代码
\documentclass{article}
\usepackage{booktabs,siunitx}
\begin{document}
\begin{tabular}{l *2{S[table-format=<2.0, table-space-text-post=\,\%]}}
\toprule
& {Before treatment} & {After treatment} \\ \midrule
component1 & \sim 60 \,\% & \sim 15 \,\% \\
component2 & \sim 14 \,\% & \sim 4 \,\% \\
component3 & \sim 26 \,\% & \sim 81 \,\% \\ \bottomrule
\end{tabular}
\end{document}