TeX Gyre Pagella 度数符号在数学模式下?

TeX Gyre Pagella 度数符号在数学模式下?

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}

在此处输入图片描述

相关内容