如何使用 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://physical.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}

但你已經被警告過。;-)

相關內容