如何使用 siunitx 在属性(30 秒采集)中的数字和单位之间写入连字符?

如何使用 siunitx 在属性(30 秒采集)中的数字和单位之间写入连字符?

我认为标题说明了一切。我浏览了整个手册siunitx,但我找不到允许写入的选项

30-s acquisition

使用单个\SI...命令(我当然可以使用宏,但我想这不是重点)。我只发现

\num{30}-\si{\second}

我错过了什么?

答案1

我完全不提倡这样做,但如果你必须这样做,我会建议一个新命令,,\SIadj以便根据需要轻松使用这两种形式:

\documentclass{article}
\usepackage{siunitx}
\newcommand{\SIadj}[2]{\SI[number-unit-product={\text{-}}]{#1}{#2}}

\begin{document}
$\SI{30}{\second}$ $\SIadj{30}{\second}$

\SI{30}{\second} \SIadj{30}{\second}
\end{document}

在此处输入图片描述

答案2

我不确定你引用的来源有多权威。但如果你仔细看,你会发现文中只使用了完整的单位,而不是符号。

http://physics.nist.gov/Pubs/SP811/sec07.html我们发现

即使将量值用作形容词,数值和单位符号之间也要留一个空格。(该规则承认单位符号不像普通单词或缩写,而是数学实体,量值的表达方式应尽可能独立于语言——参见第 7.6 节和 7.10.3 节。)

在权威来源http://www.bipm.org/en/publications/si-brochure/section5-3.html我们发现(第 5.3.3 节)

即使将量值用作形容词,数值和单位符号之间也要留一个空格。只有当单位名称拼写出来时,才会适用普通的语法规则,因此在英语中会使用连字符将数字与单位分开。

当然一切皆有可能,你可以用

\SI[number-unit-product=\text{-}]{30}{s}

但你已经被警告了。;-)

相关内容