![尝试在 siunitx 包中的数字中使用符号](https://linux22.com/image/256235/%E5%B0%9D%E8%AF%95%E5%9C%A8%20siunitx%20%E5%8C%85%E4%B8%AD%E7%9A%84%E6%95%B0%E5%AD%97%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%AC%A6%E5%8F%B7.png)
我正在尝试使用以下内容siunitx
:
\omega_x = \SI{100\pi}{rad.s^{-1}}
但结果是错误的。10 和 0π 之间有一个空格,好像 π 实际上是一个数字而不是一个符号。我如何才能将siunitx
它视为一个符号?
我更希望使用与声明一起使用的选项\usepackage
,以使行为适用于整个系统。替代包也会有所帮助。
图片说明:
另外,我更喜欢支持多个符号的方法。我正在使用 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}