考虑以下 MWE:
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{SS}
0.01 & \num{0.01} \\
0.1 & \num{0.1} \\
1 & \num{1} \\
10 & \num{10} \\
100 & \num{100} \\
\end{tabular}
\end{document}
这使:
为什么左边的列能按预期显示,而右边的却没有?
其次,我想添加表格的数字范围。
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{rS}
0.01 & \num{0.01} \\
0.1 & \num{0.1} \\
1 & \num{1} \\
10 & \num{10} \\
100 & \num{100} \\
101--1000 & \numrange{101}{1000}
\end{tabular}
\end{document}
我怎样才能做到印刷上的“正确”?
答案1
在问题的第一部分,S
列对齐数字,并将任何其他输入视为“非数字”。因此,在解析第二列时,宏\num
是一个“非数字”值,并且单元格内容排版时会从对齐中省略。不要用它\num
来指示S
列内的数字。
关于问题的第二部分,范围与十进制值混合在一起很难很好地对齐:老实说,这样的表格往往表明你试图呈现的内容存在问题。也就是说,
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{S[table-format = 3.2,table-align-text-post = false]}
0.01 \\
0.1 \\
1 \\
10 \\
100 \\
101{--1000} \\
\end{tabular}
\end{document}
将在给定的情况下起作用。这里的想法是忽略范围的第二部分以进行对齐。我还为整个数字指定了固定大小,因为这通常会提供更好的对齐效果。