XeTeX 与 LuaTeX 运算符限制

XeTeX 与 LuaTeX 运算符限制

为了比较\nolimitsXeTeX 和 LuaTeX 的运算符算法,我测试了:

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{xits-math.otf}

\begin{document}
   \[ \int_0^\infty \]
\end{document}'

我分别获得了 XeTeX(0.99996)和 LuaTeX(0.95)的以下结果。

特克斯LuaTeX

我理解 LuaTeX 用来获得所示结果的算法:确定上标和下标的高度后,水平字距调整为ic/2上标和-ic/2下标,其中ic是积分运算符的斜体校正。我不明白 XeTeX 使用了什么。

XeTeX 使用什么算法?据我所知,XITS 为 XeTeX 提供的唯一字体参数是积分符号的斜体校正信息。

编辑:从 LuaTeX 0.99 开始,上标不再默认为右对齐ic/2,下标不再默认为左对齐ic/2。现在默认为不对齐上标,而将下标对齐为左对齐3/4 ic。此参数可以通过 进行修改\mathnolimitsmode。请参阅部分无限制修正在 LuaTeX 参考中了解更多信息。

答案1

使用 STIX Math Two 代替 XITS Math

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{STIX Two Math}

\begin{document}
   \[ \int_0^\infty \]
\end{document}

我得到以下输出。

XeTeX 3.14159265-2.6-0.99996 (TeX Live 2016)

在此处输入图片描述

LuaTeX,版本 0.95.0 (TeX Live 2016)

在此处输入图片描述

XeTeX 3.14159265-2.6-0.99998 (TeX Live 2017)

在此处输入图片描述

LuaTeX,版本 1.0.4 (TeX Live 2017)

在此处输入图片描述

概括

看来 LuaTeX 1.0.4 已经修复了积分方面的错误。而 STIX Two Math 修复了 XITS Math 的其他方面。

注意:撰写此答案时,TeX Live 2017 将于明天(2017-06-04)到期。

相关内容