我正在尝试使用 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