我已经使用\sfrac
insidesiunitx
很长时间了。最近它不起作用,并且出现很多错误。你能建议我该怎么做吗?
梅威瑟:
\documentclass{minimal}
\usepackage{tikz,xfrac}
\usepackage{siunitx}
\DeclareSIPostPower\rooted{\sfrac{1}{2}}
\begin{document}
\si[per-mode=fraction]{\W\s\rooted\per\m\squared\per\K}
\end{document}
答案1
此问题是由于 的一些内部处理而引起的\text
。作为解决方法,您可以使用
\DeclareSIPostPower\rooted{\text{\sfrac{1}{2}}}
这应该能使你的文档正常工作。
问题本身很复杂。在 v2 中,siunitx
重置每个数字/单位的所有文本和数学模式字体设置。当大多数时候只需要数学或文本时,这非常“昂贵”。所以对于 v3,我只在数学模式下设置数学模式字体。这样就需要处理数学\text
模式中的嵌套。为了解决这个问题,siunitx
如果\text
在数学模式中发现,我会应用字体设置。但是,在每个框周围\sfrac
内部使用\text
,这导致了这里的问题。我已经为这种情况处理了它fraction-command = \sfrac
,但对于任意嵌套在数学模式中的如何做到这一点不太清楚\sfrac
。