hyperref包的pdftex驱动程序不适用于utf-8编码的.tex文件

时间:2011-01-04 09:52:37

标签: latex pdflatex hyperref

我使用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”代表非英文字符。

然后我搜索了很多,找到原因是hyperref使用pdftex驱动程序,这不适用于utf-8编码文件。我查看了这个页面:http://www.tug.org/applications/hyperref/manual.html,但找不到适合pdflatex的驱动程序。

我试过了\usepackage[utf8]{inputenc},但仍无法让它发挥作用。

所以任何人都可以帮助我?谢谢!

2 个答案:

答案 0 :(得分:4)

您是否尝试使用\usepackage[unicode]{hyperref}加载hyperref,或者等效地在之后指定\hypersetup{ unicode = true }?这使您可以在书签中使用unicode字符。

答案 1 :(得分:1)

试试这个,对我有用。而不是:

\usepackage[pdftex, unicode,
            pdfauthor={çç êÊ},
            pdftitle={T\'{o}picos Avançados ôô},
            pdfsubject={Trabalho 6},
            pdfkeywords={a1, a2},
            pdfproducer={Latex with hyperref},
            pdfcreator={pdflatex}]{hyperref}

我做:

\usepackage[pdftex, unicode,
            pdfproducer={Latex with hyperref},
            pdfcreator={pdflatex}]{hyperref}

\hypersetup{
  pdfauthor={çç êÊ},
  pdftitle={T\'{o}picos Avançados ôô},
  pdfsubject={Trabalho 6},
  pdfkeywords={a1, a2},
}

我希望它也适合你。