尝试在 siunitx 包中的数字中使用符号

尝试在 siunitx 包中的数字中使用符号

我正在尝试使用以下内容siunitx

\omega_x = \SI{100\pi}{rad.s^{-1}}

但结果是错误的。10 和 0π 之间有一个空格,好像 π 实际上是一个数字而不是一个符号。我如何才能将siunitx它视为一个符号?

我更希望使用与声明一起使用的选项\usepackage,以使行为适用于整个系统。替代包也会有所帮助。

图片说明:

siunitx 输出,零之间有多余的空格

另外,我更喜欢支持多个符号的方法。我正在使用 TeX Live 2012 发行版,上次更新时间为 9 月 25 日,如果有帮助的话。

答案1

我建议以下几点:

代码

\documentclass{article}
\usepackage{siunitx}
\DeclareSIUnit{\pii}{\ensuremath{\pi}}
\newcommand*{\customSI}[4][]{\num[#1]{#2}#3\,\si[#1]{#4}} % \, should be substituted for siunitx' inter-unit-product
\newcommand*{\customSIcustom}[4][]{\SI[parse-numbers=false,#1]{\num[parse-numbers=true,#1]{#2}#3}{#4}}

\begin{document}
\(\omega_x = \SI[parse-numbers=false]{\num[parse-numbers=true]{10000}\pi}{rad.s^{-1}}\)\\
\(\omega_x = \customSIcustom{10000}{\pi}{rad.s^{-1}}\)\\
\(\omega_x = \customSI{10000}{\pi}{rad.s^{-1}}\)\\
\(\omega_x = \SI{10000}{\pii.rad.s^{-1}}\)\\
\(\omega_x = \SI[number-unit-product={}]{10000}{\pii.rad.s^{-1}}\)
\end{document}

输出

更新

相关内容