我使用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/