限制命令“\lim”是否与 XeLaTeX 不兼容?

限制命令“\lim”是否与 XeLaTeX 不兼容?

大家好。

当我使用 XeLaTeX 进行编译并使用 fontspec 包时,限制命令“\lim”出现了问题。让我用一个例子来解释一下:

如果不使用 fontspec 包(因为我需要使用几种 True Type 字体),此代码不会产生错误:

\documentclass[letterpaper,reqno]{book}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
%\usepackage{fontspec}
\usepackage{amssymb,amsmath,amsthm}

\begin{document}
$\lim f(x)$
\end{document}

输出文件很好。但是当我激活 fontspec 包时,编译失败并显示以下错误消息:

! You can't use `\char' after \the.
\EU1\i ->\char
"0131\relax
l.27 $\limf(x)$
I'm forgetting what you said and using zero instead.
Missing character: There is no ^^@ in font [lmroman10-regular]:mapping=tex-text!
Missing character: There is no ^^S in font [lmroman10-regular]:mapping=tex-text!

这是什么问题?我该如何解决?

答案1

如果我在 TeX Live 2014 上使用 XeLaTeX 运行代码,我可以重现该问题。如果我还加载unicode-math,错误就会消失。

问题在于如何babel-spanish定义运算\lim符来添加重音。在后续版本中,这个问题已被解决。

如果你无法升级,有一个(不那么)粗鲁的解决方法:

\documentclass[letterpaper,reqno]{book}
\usepackage[spanish]{babel}
\usepackage{amssymb,amsmath,amsthm}
\usepackage{fontspec}

\makeatletter
\renewcommand\es@op@ac[1]{\textnormal{\'#1}}
\makeatother

\begin{document}

$\lim f(x)-\max g(x)+\min h(x)$

\end{document}

在此处输入图片描述

相关内容