带有超链接、百分比符号和西里尔字符的奇怪错误

带有超链接、百分比符号和西里尔字符的奇怪错误

我将其最小化为以下片段:

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\section{\%н}
\end{document}

当我编译它时:

xelatex test.tex

第一次运行编译正常,但第二次运行时出现以下错误:

Runaway argument?
{
! File ended while scanning use of \@@BOOKMARK.
<inserted text>
                \par
l.3 \begin{document}

如果我删除hyperref、 或百分号或西里尔字符,它就可以正常编译。我只在 TeXLive 2012 发行版上观察到这种行为 - 2009 发行版运行正常。

问题是什么?

答案1

通过该设置,文件中写入的注释.out

\BOOKMARK [1][-]{section.1}{%н}{}% 1

问题显而易见:“裸体”%结束了这一切。

您有两种可用的解决方法:

\usepackage[unicode]{hyperref}

这使得以下注释

\BOOKMARK [1][-]{section.1}{\376\377\000\045\004\075}{}% 1

从而避免了这个问题。第二种解决方法是

\usepackage{hyperref}
\usepackage{bookmark}

这看起来更好,因为该bookmark包可以更好地管理书签。

相关内容