当我使用 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}
你得到
使用 LuaLaTeX,您可以获得预期的
使用 XeLaTeX。
如果我添加\showthe\Umathsupshiftup\displaystyle
公式,我会得到3.62994pt
LuaLaTeX 的结果并\showthe\fontdimen13\textfont2
给出3.63pt
XeLaTeX 的结果。
当我使用时\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