在 XeLaTeX 和 LuaLaTeX 中加载 unicode-math 时,Expex 注释会损坏

在 XeLaTeX 和 LuaLaTeX 中加载 unicode-math 时,Expex 注释会损坏

我正在尝试使用 John Frampton 的 expex 包(版本 4.1)排版多行编号示例。由于我使用的是 XeLaTeX(TeXLive 2012),所以我选择了 unicode-math 来排版数学。以下 MWE 说明了问题,即多行示例的第一行和第二行不再正确分隔:

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{expex}

\setmathfont{Latin Modern Math}

\begin{document}

\ex 
\begingl
\gla See on lühike tekst {eesti keeles}.//
\glb This is short text {in Estonian}//
\glft `This is a short text in Estonian.'//
\endgl
\xe

\end{document}

我收到的唯一警告是无害的xparse/redefine 命令警告,一旦我删除 unicode-math,输出看起来就如预期一样。这是怎么回事?有解决办法吗?我可能应该补充一点,当我用 LuaLaTeX 编译时也会观察到同样的行为。

答案1

unicode-math\gla为一个(相当罕见的)字符定义了一个命令。

你可以用下面的技巧来实现:

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\usepackage{expex}
\let\expexgla\gla
\AtBeginDocument{\let\gla\expexgla}

\begin{document}

\ex
\begingl
\gla See on lühike tekst {eesti keeles}.//
\glb This is short text {in Estonian}//
\glft `This is a short text in Estonian.'//
\endgl
\xe

\end{document}

的定义发生在文档开始处,因此之后unicode-math您需要重新定义为保存的版本。\gla

相关内容