是否可以让 siunitx 输出单位名称而不是符号?
例如,在某些地方我想要“123 纳秒”而不是“123 纳秒”。
那可能吗?
答案1
您可以声明自己的单位。在下面的例子中,我声明了单位\nsec
。正如 daleif 指出的那样,数字和拼写出的单位之间的间距太紧。我使用了number-unit-product
增加单位间距的选项\nanosec
:
\documentclass{article}
\usepackage{siunitx}
\DeclareSIUnit\nsec{\text{nanoseconds}}
\DeclareSIUnit[number-unit-product = \ ]\nanosec{\text{nanoseconds}}
\begin{document}
\noindent
It takes about \SI{123}{\nsec} to compile this document.\\
It takes about \SI{123}{\nanosec} to compile this document.\\
It takes about $123$~nanoseconds to compile this document.\\
\end{document}
请注意,您不能将其声明为\ns
。我试过,但显然它被 siunitx 内部用作 ns 的宏。它不会给出有关该问题的错误,而只是将数字 ans 单位显示为123 ns
,从而忽略您的自定义 SI 单位。
答案2
这和
有一天,一个人去赛马场,他不数人和马的数量,却数出有74个头和196条腿,请问那里一共有多少人和多少马?
(赤裸裸的广告)
或者类似十五个人在尸体的箱子上。两者的区别仅在于“大”数通常以数字形式书写,而不是完整拼写出来。
当你写“123 纳秒”时,你没有使用符号,因此代码应该简单为
\num{123}~nanoseconds
我建议\num
与其他用法保持一致,例如\SI{123}{\nano\second}
。