使用单位名称代替 siunitx 的单位符号

使用单位名称代替 siunitx 的单位符号

是否可以让 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}

相关内容