如何阻止 hyperref 将 PDF 文本增强功能放入书签中?

如何阻止 hyperref 将 PDF 文本增强功能放入书签中?

在我的书中,我使用风格化的字体和背景来表示位,如下所示:

在此处输入图片描述

我用这个宏来做到这一点:

\newcommand{\bindigits}[1]{\colorbox{lightlightgray}{\tt{#1}\rm}\xspace}

因此我认为将我的零件编号以二进制形式保存会很有趣,如下所示:

在此处输入图片描述

因为我无法让book样式part命令正常工作,所以我编写了自己的命令:

\newcommand{\qpart}[3]{%
  \cleardoublepage\phantomsection\addcontentsline{toc}{part}{Part {\bindigits{#1}} #2}

  \thispagestyle{empty}

  \vspace{2in}

  \titlerule[2pt]

  \vspace{2ex}
    \begin{center}
    {\bfseries\Huge Part \bindigits{#1}}\\[2pc]
    {\Huge #2}
    \end{center}

    \titlerule
    \vspace{1em}
    #3
  \cleardoublepage
}

效果确实很好。我甚至01在目录中也得到了风格化的内容:

在此处输入图片描述

但 PDF 书签看起来像这样:

在此处输入图片描述

这很奇怪。

有什么方法可以解决这个问题,或者我应该将增强功能从目录中删除吗?

答案1

您也可以\texorpdfstring在定义中放入\bindigits为书签提供替换文本(字体命令更改为 LaTeX2e):

\newcommand*{\bindigits}[1]{%
    \texorpdfstring{\colorbox{lightlightgray}{\texttt{#1}}}{#1}%
    \xspace
}

\bindigits或者可以为 boomarks 重新定义宏:

\pdfstringdefDisableCommands{%
    \renewcommand*{\bindigits}[1]{#1\xspace}%
}

两种方法都需要包hyperref

相关内容