我正在使用该siunitx
包来排版我的数字,但有时我发现数字没有单位(当单位不在附近时)和单位没有数字的情况。例如:
The bird can fly 40 to 50 km per hour.
The data in the table above uses kg.
排版这些内容的首选方法是什么?
The bird can fly $40$ to $\SI{50}{\kilo\meter\per\hour}$.
The bird can fly \num{40} to \SI{50}{\kilo\meter\per\hour}.
The bird can fly \SI{40}{} to \SI{50}{\kilo\meter\per\hour}.
The data in the table above uses kg.
The data in the table above uses \SI{}{\kilo\gram}.
如果发现在输出中实现视觉一致性和正确性比拥有一致的、上下文智能的代码更重要。
答案1
要排版没有数字的单位,您可以使用\unit{<unit>}
(或\si
- 在 v2 中使用 - 注意小写)。
要排版没有单位的数字,可以使用\num{<number>}
。
用单位排版数值范围的数学正确方法是将单位包含在每个数字中。这就是命令\qtyrange{<lower>}{<upper>}
(或SIrange
)的作用。如果您不想重复单位,可以设置[range-units = single]
。
请注意,可以使用缩写(例如 )来访问最常用的\km
单位\kilo\metre
。
\documentclass{article}
\usepackage{siunitx}
\begin{document}
The bird can fly \qtyrange{40}{50}{\km\per\hour}.
The bird can fly \qtyrange[range-units=single]{40}{50}{\km\per\hour}.
The data table above uses \unit{\kg}.
There are \num{12345} birds in the sky.
\end{document}