我的章节、部分等文本中有一些非 ASCII 字符,我希望这些字符能在书签中正确显示。我注意到,
- 如果我运行
xelatex
,一切都很好,不需要设置\hypersetup{unicode=true}
就可以正常工作 如果我运行
lualatex
,我会遇到以下问题:如果是
unicode=false
,那么包含非 ASCII 字符的书签会有奇怪的不可读符号而不是那些字符,但其他一切都很好如果是
unicode=true
,那么书签就没问题,但在 Linux 上的 Adobe 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}
就一切正确了。