我正在尝试使用以下内容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}