考虑以下带有的 MWE siunitx
:
\documentclass{article}
\usepackage{siunitx}
\sisetup{detect-all}
\DeclareSIQualifier\peak{p}
\DeclareSIUnit\wattp{\watt\peak}
\DeclareSIUnit\usd{USD}
\begin{document}
\SI{41}{\usd/\wattp}
\SI{41}{\wattp}
\SI{41}{\usd \wattp}
\SI{41}{\usd\per\wattp}
\end{document}
结果是这样的:
看来小数表示会破坏用户定义单元宏中限定符的功能。我该如何解决这个问题?
不幸的是,\peak
使用\protect
宏保护限定符(\DeclareSIUnit\wattp{\watt\protect\peak}
) 保护限定符会破坏全部输出:
我希望“W_p”(参见原始输出中的第 2、3 和 4 个示例)也出现在分数单位(第 1 个示例)中。
答案1
你需要保护你的\peak
资格赛。
\documentclass{article}
\usepackage{siunitx}
\sisetup{detect-all}
\DeclareSIQualifier\peak{p}
\DeclareSIUnit\wattp{\watt\protect\peak}
\DeclareSIUnit\usd{USD}
\begin{document}
\SI{41}{\usd/\wattp}
\SI{41}{\wattp}
\SI{41}{\usd \wattp}
\SI{41}{\usd\per\wattp}
\end{document}