如何启用 LuaTeX 斜体校正?

如何启用 LuaTeX 斜体校正?

LuaTeX 默认忽略数学斜体校正,如上所述作者:Khaled Hosny。

这在使用一些倾斜度很大的字母时会导致一些可怕的错误,比如 XITS 的数学手写体字形。例如,$

答案1

如果你正在使用 AMSLaTeX,那么请关注 Vafa Khalighi 的电子邮件: http://tug.org/pipermail/tex-live/2011-October/030337.html 你似乎需要做(1):

\everymath\expandafter{\the \everymath \luatexcatcodetable\CatcodeTableLaTeX}
\everydisplay\expandafter{\the\everydisplay \luatexcatcodetable\CatcodeTableLaTeX}

而不是简单地(2)

\everymath{\luatexcatcodetable\CatcodeTableLaTeX}
\everydisplay{\luatexcatcodetable\CatcodeTableLaTeX}

我自己在一本包含大量 AMSLaTeX 的大书中发现,LuaLaTeX 在 (2) 上会出现错误,但在 (1) 上却运行良好。

答案2

顺便说一句,昨晚我在考虑一种侵入性较小的解决方案,突然想到使用 LuaTeX 的 catcode 表可能会有所帮助。下面的代码将在数学模式中将 catcode 重置为“标准”LaTeX catcode 表(无论这意味着什么),我不知道这可能会有什么副作用(希望没有)。

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{XITS Math}

\everymath{\luatexcatcodetable\CatcodeTableLaTeX}
\everydisplay{\luatexcatcodetable\CatcodeTableLaTeX}

\begin{document}
$

相关内容