以下导致我出现此错误
软件包 siunitx 错误:重复 \per
期望的输出是N.m/(rad.s-1)
\documentclass{article}
\usepackage{siunitx}
\sisetup{
load-configurations = abbreviations,
inter-unit-product = \ensuremath{{\hspace{-0.5ex}}\cdot{\hspace{-0.5ex}}},
sticky-per,
per-mode = symbol,
bracket-unit-denominator,
}
\DeclareSIUnit[per-mode = reciprocal-positive-first]{\radpers}{\radian\per\s}
\begin{document}
\si{\N\m\per\radpers}
\end{document}
答案1
您已设置sticky-per
,这意味着\per
会自动应用于第一个单元之后的每个单元。您已二 \per
在 中\N\m\per\radpers
,因为这会变成(实际上)\N\m\per\radian\per\s
。如果您直接使用该输入,您将看到完全相同的错误。您需要关闭sticky-per
。
(我个人不喜欢sticky-per
:它仅包含在包中,因为一些用户认为这更“合乎逻辑”。)
答案2
相关答案建议使用\raiseto{-1}
或\tothe{-1}
代替\per\
。\DeclareSIUnit
但是,我不知道该错误是由于语法错误还是错误造成的。
\documentclass{article}
\usepackage{siunitx}
\sisetup{
load-configurations = abbreviations,
inter-unit-product = \ensuremath{{\hspace{-0.5ex}}\cdot{\hspace{-0.5ex}}},
sticky-per,
per-mode = symbol,
bracket-unit-denominator,
}
\DeclareSIUnit{\radpers}{\radian\s\tothe{-1}}
\begin{document}
\si{\N\m\per\radpers}
\end{document}