hyperref/bookmark 包:抑制/覆盖单个书签

hyperref/bookmark 包:抑制/覆盖单个书签

我正在使用hyperref来生成 pdf 书签,但我的其中一个部分名称使用了希腊字母,而希腊字母在 pdf 书签中消失了。所以我想覆盖该书签(并且只覆盖该书签)。

平均能量损失

\documentclass[12pt]{article}
\usepackage[bookmarksnumbered]{hyperref}

\begin{document}
\tableofcontents
\section{Theorem of $\alpha$ something}
\end{document}

我希望章节标题在目录和正文中仍然显示为希腊字母,但将书签重新定义为Theorem of alpha something。使用

\currentpdfbookmark{\thesection\ Theorem of alpha something}{}

仅创建另一个书签,而不是替换现有书签

答案1

希腊字母也可以用于书签:

  • 需要使用 Unicode 编码,因为 8 位 PDFDocEncoding 不包含所有字母和符号。这可以通过选项unicode或来实现pdfencoding=auto

  • 选项psdextra重新定义了许多数学符号命令以在书签内使用。

例子:

\documentclass[12pt]{article}
\usepackage[
  bookmarksnumbered,
  pdfencoding=auto,
  psdextra,
]{hyperref}

\begin{document}
\tableofcontents
\section{Theorem of $\alpha$ something}
\end{document}

另一种方法是使用\texorpdfstring。第一个参数是普通文本,第二个参数是书签的替换:

\section{Theorem of \texorpdfstring{$\alpha$}{\textalpha}}

这也消除了有关美元的警告,美元可以启用和禁用数学模式——书签不知道 TeX 的数学模式。

相关内容