algorithm2e 包似乎与 LuaLaTeX 不兼容。例如,编译以下代码会产生错误。
\documentclass{article}
\usepackage{fontspec}
\usepackage{algorithm2e}
\begin{document}
foo
\end{document}
lualatex 的输出:
...
! String contains an invalid utf-8 sequence.
l.778 \renewcommand{\@algocf@procname}{Proc
�dure}%
?
! Emergency stop.
有人知道如何解决这个问题吗?我排版了很多算法,不想因为 LuaLaTeX 而切换到另一个包。
答案1
algorithm2e.sty 包含(至少)两个非 ascii 字符(procédure 中的 é),但该文件是 8 位编码的,因此它不是有效的 utf8 文件。您(或作者)应该将 é 替换为\'e
。