最近有一些变化siunitx
,其中之一就是单位的排版。最明显的变化是摄氏度。
在新版本中,度数符号不再与文本的其余部分很好地匹配。您可以在以下示例中看到这一点。
\usepackage{siunitx}
\begin{document}
\SI{15}{\celsius}{\tiny\SI{15}{\celsius}}
\end{document}
这是一个错误还是我做错了什么?
附言:很重要\celsius
:如果您决定按照答案中的建议重新定义,请不要忘记重新定义\degree
以保持一致性:
\DeclareSIUnit[quantity-product = ]\degree{\text{\textdegree}}
答案1
标准设置会siunitx
尽力根据“参考渲染”选择合理的内容。在这里,您处于数学模式,并且没有加载 Unicode 数学代码,因此度数符号的参考是{}^{\circ}
如果您在演示中尝试这样做,您会发现它的大小与您拥有的大小相同。您可能更喜欢文本模式\textdegree
,或者如果合适,直接使用°
(例如,如果您加载了unicode-math
合适的字体)。
一般来说,预期的方法siunitx
是为您的文档选择合适的字体,并根据需要调整定义以使其正常工作。
另一种方法是从本质上改变相关单位的定义。这似乎是这里想要的结果,\textdegree
即使在数学模式下也使用文本模式符号(),因此
\DeclareSIUnit\degreeCelsius{\text{\textdegree}C}
会工作。
(当然,根据可用的字体设置,可能需要对两者进行调整,因为siunitx
在单位定义方面可能只是“猜错”。)