使用 unicode-math 和缩放功能放置上标

使用 unicode-math 和缩放功能放置上标

当我使用 unicode-math 包放大数学字体时,上标的位置太低。如何全局调整此缩放数学字体的上标位置?

\documentclass{article}

\usepackage{unicode-math}
\setmathfont[Scale=1]{latinmodern-math.otf}

\begin{document}

\[ \nu_e + \beta^+\]
\setmathfont[Scale=2.8]{latinmodern-math.otf}
\[ \nu_e + \beta^+\]

\end{document}

答案1

这是一个错误unicode-math-luatex:如果你尝试

\documentclass{article}

\usepackage{unicode-math}
\setmathfont[Scale=2.8]{latinmodern-math.otf}

\begin{document}

\[\nu_e + \beta^+\]

\end{document}

你得到

LuaTeX 输出

使用 LuaLaTeX,您可以获得预期的

XeTeX 输出

使用 XeLaTeX。

如果我添加\showthe\Umathsupshiftup\displaystyle公式,我会得到3.62994ptLuaLaTeX 的结果并\showthe\fontdimen13\textfont2给出3.63ptXeLaTeX 的结果。

当我使用时\showlists,上标排版的框是

.\hbox(11.42676+1.6268)x15.80873, shifted -3.62994, direction TLT
..\EU2/latinmodern-math.otf(0)/m/n/6.99997 +

使用 LuaLaTeX,

.\hbox(11.42676+1.6268)x15.74875, shifted -10.16402
..\EU1/latinmodern-math.otf(0)/m/n/6.99997 glyph#12

使用 XeLaTeX。由于

10.16402/2.8 = 3.63001

结论是 LuaLaTeX 不会将缩放应用于数学字体参数,

请注意,这似乎仅限于上标,因为带有下标的框是

.\hbox(8.66316+0.2156)x13.82913, shifted 5.22322, direction TLT
..\EU2/latinmodern-math.otf(0)/m/n/6.99997 

相关内容