Драйвер pdftex пакета hyperref не работает с файлами.tex в кодировке utf-8

Я использую 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 ответа

Решение

Вы пробовали загружать hyperref используя \usepackage[unicode]{hyperref}или, что эквивалентно, указав \hypersetup{ unicode = true } сразу после? Это должно позволить вам использовать символы юникода в закладках.

Попробуйте это, у меня работает. Вместо:

\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},
}

Я надеюсь, что это работает и для вас.

Другие вопросы по тегам