Luatex 中下标的平等定位

Luatex 中下标的平等定位

请看下面的代码。我尝试让所有下标都获得相同的位置,但仍然存在一些问题:

当我在 (B) 处使用时,我在点 (C) 处获得相同的下标位置\setmathfont。当我在 (A) 处执行此操作时,下标的位置不同。这里发生了什么?

另一个问题:当我改变字体大小时,位置也不同。

有人知道如何解决这些问题吗?我寻找的是所有字体大小中所有下标的相同位置。

\documentclass{article}

\usepackage{unicode-math}
%\setmathfont[math-style=upright]{Tex Gyre Pagella Math}% (A) does not influence the positioning of subscripts

\makeatletter \check@mathfonts \makeatother
\edef\shiftdown{\the\Umathsubsupshiftdown\displaystyle}
\edef\shiftup{\the\Umathsupshiftup\displaystyle}

\makeatletter
\AtBeginDocument%
 {\check@mathfonts%
  \Umathsubshiftdown\displaystyle=\shiftdown
  \Umathsupshiftup\displaystyle=\shiftup
  \Umathsubsupshiftdown\displaystyle=\shiftdown}
\makeatother

\setmathfont[math-style=upright]{Tex Gyre Pagella Math}% (B) works for normalsize

\begin{document}

Normalsize (works if the math font is loaded at (B)):
\[ x³ \, x_{3}^{3} \, x_{3} \]% (C)

Huge (ugly):
\Huge
\[ x³ \, x_{3}^{3} \, x_{3} \]% (D)

\end{document}

或者是否有其他更有效的方法来实现这一目标?

谢谢。

在此处输入图片描述

答案1

使用幻影上标将下标位移到相同的程度:

\Huge
\[ x_{3}^{3} \, x_{3}^{\phantom{3}} \, x_{3} \]% (D)

在此处输入图片描述

相关内容