hyperref、lualatex 和 unicode 书签问题(Linux 版 AR 中的页码乱码)

hyperref、lualatex 和 unicode 书签问题(Linux 版 AR 中的页码乱码)

我的章节、部分等文本中有一些非 ASCII 字符,我希望这些字符能在书签中正确显示。我注意到,

  • 如果我运行xelatex,一切都很好,不需要设置\hypersetup{unicode=true}就可以正常工作
  • 如果我运行lualatex,我会遇到以下问题:

    1. 如果是unicode=false,那么包含非 ASCII 字符的书签会有奇怪的不可读符号而不是那些字符,但其他一切都很好

    2. 如果是unicode=true,那么书签就没问题,但在 Linux 上的 Adob​​e Reader 9 中,生成的 PDF 文件中的页码会乱码(并且 Okular 也会在书签窗格中显示一些奇怪的符号)

这是驱动程序问题吗?有什么建议可以解决这个问题吗?

以下是 MWE:

\documentclass{article}    
\usepackage{hyperref} 
%\hypersetup{unicode=true}

\begin{document}  

\section{Test 1 čćžđš}    
Some text.\clearpage  

\section{Test 2 šđžćč}    
Some text.

\end{document}

一个通知:我之前曾尝试在 comp.text.tex 上发布这个问题,但出了点问题,它没有出现。无论如何,如果帖子稍后出现,我会在这里发布链接。

答案1

我收到了 Heiko 的一封电子邮件,建议我尝试自动 pdfencoding,这确实有效。因此,解决方案是:

\hypersetup{pdfencoding=auto}

并从上面纠正了MWE:

\documentclass{article}    
\usepackage{hyperref} 
\hypersetup{%
    pdfencoding=auto,
    pdfauthor={Author Test ČĆŽĐŠ},
    pdftitle={Title test, čćžđš}
    }

\begin{document}  

\section{Test 1 čćžđš}    
Some text.\clearpage  

\section{Test 2 šđžćč}    
Some text.

\end{document}

Heiko 的完整回答可以在压缩文本.tex

答案2

即使使用 pdfencoding=auto,我在书签、元数据或页码方面也遇到了麻烦。但如果我使用航海家包而不是超链接。

答案3

pdfencoding=auto将包选项 ( )放在第一位\usepackage[pdfencoding=auto]{hyperref}就一切正确了。

相关内容