我有一张包含可变小数位数的数字的表格。我希望这些数字:
- 小数点对齐
- 如果小数位数少于最大位数,则缺少的部分会自动用 0 填充
我正在使用siunitx
包来对齐十进制数。使用如下代码
\documentclass[border=3mm]{standalone}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{S[table-format=2.2]S[table-format=2.2]}
\hline
{Lorem} & {Ipsum} \\
\hline
1,2 & 3,4 \\
5,67 & 8,9 \\
1,2 & 3,45 \\
67,89 & 12,34 \\
\hline
\end{tabular}
\end{document}
我可以创建这个表:
但我想要的是另一个这样的:
我使用它siunitx
是因为过去我使用过它并且我更愿意继续使用它,但如果有更好的包我也可以使用它。
答案1
正如@JohnKormylo 在评论中已经指出的那样,您可以继续使用该包的机制siunitx
——只需添加选项round-mode=places
和round-precision=2
。
必须写
S[table-format=2.2,round-mode=places,round-precision=2]
反复执行会很快变得非常乏味。如果你发现自己陷入了这样的困境,只需定义一个新的列类型,例如,
\newcolumntype{T}{S[table-format=2.2,round-mode=places,round-precision=2]}
并在各种环境中使用它tabular
。
\documentclass{article}
\usepackage{siunitx}
\newcolumntype{T}{S[table-format=2.2,round-mode=places,round-precision=2]}
\begin{document}
\begin{tabular}{TT}
\hline
{Lorem} & {Ipsum} \\
\hline
1,2 & 3,4 \\
5,67 & 8,9 \\
1,2 & 3,45 \\
67,89 & 12,34 \\
\hline
\end{tabular}
\end{document}