LuaTeX:TeXLive 2015 与 2014 中的斜体更正有误/缺失

LuaTeX:TeXLive 2015 与 2014 中的斜体更正有误/缺失

在 TL15 中,LuaTeX 中 OTF 数学字体的斜体校正似乎被破坏了。

梅威瑟:

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\begin{document}
\begin{equation}
  V^* \quad T^6 \quad T) \quad VT
\end{equation}
\end{document}

使用 TL14 进行编译可得到
TL14 示例
TL15:
TL15 示例

直立字母没有问题(\mathup{T})。

将 2014 年的 .otf 字体与 TL15 一起使用产生的结果与 2015 年字体相同。

我记得 TL11/12 也遇到过类似的问题。

所以问题是:是什么导致了这种变化以及我该如何解决它?

答案1

这个问题由来已久。据我所知,这个问题在 2011 年就被提出,当时向 TeX Live 邮件列表发送消息;该线程也继续在LuaTeX 列表

问题在于 LuaTeX 不会在数学模式下对类别代码为 11 的字符添加斜体校正。事实上,在 TeX Live 2011 中,代码的输出与现在的输出相同。

如何启用 LuaTeX 斜体校正?找到一种也适用于当前版本的 LuaLaTeX 的解决方法:

\documentclass{article}

\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
%\setmathfont{TeX Gyre Termes Math}

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

\begin{document}

\begin{equation}
  V^* \quad T^6 \quad T) \quad VT
\end{equation}
\end{document}

在此处输入图片描述

通过将数学字母的默认类别代码更改为 12,可以解决这个问题。然而,正如 Ulrike Fischer 所建议的那样,新版本的 LaTeX(2015/01/01)已将每个符合字母条件的字符的类别代码改回 11,因此问题再次出现。

在聊天中引用 Joseph Wright 的话

这是个小问题:我们首先要考虑修复它\CatcodeTableLaTeX,以便它有正确的 catcodes

因此,该解决方法不能保证在将来仍然有效(但我希望在此期间能找到更好的补救措施)。

相关内容