我使用pdflatex生成pdf文件。由于非英语字符,我的源文件都是utf-8编码的。没有\usepackage{hyperref}代码,可以毫无问题地对其进行编译。但是,当我在包列表中放入\usepackage{hyperref}(甚至没有任何\href{}{}代码)时,也会发生错误,说

**************************************
! Use of \@chapter doesn't match its definition.
\CJK@altchar ...fx \csname \reserved@a \endcsname
                                                  \relax \CJKsymbol {\@tempc...
l.1 \chapter{XXX}
?
**************************************

其中“XXX”代表非英语字符。

然后我在Google上搜索了很多,发现原因是hyperref使用pdftex驱动程序,而该驱动程序不适用于utf-8编码的文件。我检查了此页:http://www.tug.org/applications/hyperref/manual.html,但未找到任何适合pdflatex的驱动程序。

我尝试了\usepackage[utf8]{inputenc},但仍然无法正常工作。

有人可以帮我吗?谢谢你!

最佳答案

您是否尝试过使用\usepackage[unicode]{hyperref}加载hyperref,或者等效地在紧随其后指定\hypersetup{ unicode = true }?这应该使您能够在书签中使用unicode字符。

关于latex - hyperref软件包的pdftex驱动程序不适用于utf-8编码的.tex文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4592315/

10-12 22:39