为什么 XeTeX 中的分数偏离了数学轴?

为什么 XeTeX 中的分数偏离了数学轴?

当我使用 Unicode 数学字体时,textstyle 中的分数会偏离 XeTeX 中的数学轴。但在 LuaTeX 中,它与数学轴完美对齐。以下 MWE 应该可以说明这一点。此外,在 displaystyle 中一切都很好。

\ifdefined\directlua
  \input luaotfload.sty
\fi
$-{1\over 2}$%
\font\ms="Latin Modern Math:script=math;+ssty=0" at 7pt
\scriptfont0=\ms
$-{1\over 2}$
\bye

在这里您可以看到 XeTeX 和 LuaTeX 的输出:

在此处输入图片描述

在此处输入图片描述

我该如何解决这个问题?调整\fontdimen参数就可以了吗?


这不仅发生在普通的 XeTeX 中,也发生在带有软件包的 LaTeX 中unicode-math。不幸的是,我无法在这里显示并排比较,因为它unicode-math会立即将数学字体更改为“Latin Modern Math”。

\documentclass{standalone}
\usepackage{unicode-math}
\begin{document}
$-\frac{1}{2}$
\end{document}

在此处输入图片描述

在此处输入图片描述


从 Herbert 的回复中可以看出,该问题也出现在其他情况下。这里我收集了一份报告类似问题的问题(不完整列表):


不幸的是,问题并没有完全解决,混乱的 fontdimens 仍然出现在一些地方。

答案1

这似乎在 XeTeX 的开发版本中得到了修复(看起来它与\setbox 包含数学运算,会干扰 XeTeX 中的周围数学模式):

在此处输入图片描述

答案2

我玩了一下...黑色xelatex和红色lualatex,是的,这不是答案......

\documentclass{standalone}
\usepackage{amsmath,xcolor}
\usepackage{unicode-math}
\setmathfont{xits-math.otf}
\begin{document}
\makebox[0pt][l]{\raisebox{-1.6ex}{\includegraphics{xetex}}}%
\textcolor{red}{$-\frac12=-\dfrac12=-\tfrac12$}
\end{document}

在此处输入图片描述

相关内容