该textcomp
包提供在文本模式下对度数符号的访问。如果我理解正确的话,该mathcomp
包声称通过命令提供在数学模式下对度数符号的访问\tcdegree
。但是,当我使用 TeX Gyre Pagella 数学字体时,文本模式\textdegree
比数学模式大得多tcdegree
。有没有一种好的方法可以在数学模式下获得更大的度数符号? 如果我忽略控制台向我抛出的错误,unicode-math
将允许我在数学模式下使用\textdegree
,但这似乎是不可取的。有没有更好的方法?
另外,其中一个比另一个大,这有什么原因吗?它们是不同的字形吗?在特定情况下,是否有印刷上的理由使用其中一个而不是另一个?
\documentclass{article}
\usepackage{textcomp}
\usepackage{mathcomp}
\usepackage{tgpagella}
\begin{document}
\noindent
textcomp: \textdegree\\
mathcomp: $\tcdegree$
\end{document}
答案1
\newcommand\degree{\text{\textdegree}}
提供通用(文本/数学)\degree
。需要\usepackage{amsmath}
。
答案2
类似的包siunitx
还可以在数学模式和文本模式下访问通用度数符号。
请注意,如果您想使用 TeX Gyre Pagella 数学字体,则必须使用 XeLaTeX 或 LuaLaTeX:它们仅以 OpenType 格式可用。
\documentclass{article}
\usepackage{siunitx}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setmathfont{TeX Gyre Pagella Math}
\begin{document}
\SI{30}{\degree}
$\SI{30}{\degree}$
\end{document}