除了 \normalsize 之外的其他字体大小中上标的大小错误

除了 \normalsize 之外的其他字体大小中上标的大小错误

请看以下例子:

当我将字体大小更改为\Huge上标时,相对于 x 来说太大了。

但是当我设置与命令相同的字体大小时\Huge\fontsize这个问题就不会出现。

这里发生了什么事?

\documentclass{article}

\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setmathfont[math-style=upright]{TeX Gyre Pagella Math}

\begin{document}

Compare the size of the superscripts with the $x$.

\string\normalsize~(OK):
\[ x³ \]

\string\Huge~(The superscript is too big. Why?):
\Huge
\[ x³ \]

\normalsize
The same fontsize as \string\Huge, but selected by the \string\fontsize~command (OK):
\fontsize{25}{30}\selectfont
\[ x³ \]

\end{document}

在此处输入图片描述

答案1

如果你使用,\Huge那么数学文本和脚本字体是

> \TU/TeXGyrePagellaMath(0)/m/n/24.88 .
l.17 \showthe\textfont0

? 
> \TU/TeXGyrePagellaMath(0)/m/n/20.74 .
l.18 \showthe\scriptfont0

如果你使用,\fontsize{25}{30}\selectfont那么字体是

> \TU/TeXGyrePagellaMath(0)/m/n/25 .
l.24 \showthe\textfont0

? 
> \TU/TeXGyrePagellaMath(0)/m/n/17.49992 .
l.25 \showthe\scriptfont0

第二组使用unicode-math默认设置,将脚本字体设置为文本字体大小的0.7。

\Huge是 24.88pt 而不是 25pt,并且 latex 格式设置

 \DeclareMathSizes{\@xxvpt}{\@xxvpt}{\@xxpt}{\@xviipt}

\@xxvpt因此(24.88pt)的脚本大小\@xxpt是 20.74pt。

相关内容