在 PDF 查看器的内容表中显示的替代文本

在 PDF 查看器的内容表中显示的替代文本

我使用hyperrefbookmark包。因此,在查看生成的文档时,文档的目录 (toc) 也会显示在 PDF 阅读器的侧栏中。

我现在的问题是,某些章节的标题中包含数学表达式,而这些表达式当然无法在 PDF 查看器侧栏的目录中正确显示。例如,条目

标题示例

在文档目录中显示为

标题示例 2

在 PDF 查看器的侧栏中。我知道不可能在那里写出正确的数学表达式,但例如,我希望用X_VIII代替XVIII

我遇到的另一个问题是,我在某些标题中添加了\vspace{8pt},但遗憾的是 8pt 显示在 PDF 查看器的侧栏中:

标题示例 3

因此我的问题是:有没有办法手动指定 PDF 侧栏中每个部分/小节等显示的文本?

答案1

除此之外,\vspace不应在章节标题中使用(它们也进入目录和标题),可以\pdfstringdefDisableCommands在书签中禁用它。

数学表达式更难。将书签切换到 Unicode 会有所帮助,因为 PDFDocEncoding 非常有限。但是没有大写字母V和的下标I,只有小写字母,我找不到大写的\mathcal{X},只有

U+1D4E7: MATHEMATICAL BOLD SCRIPT CAPITAL X

看起来至少很接近了。\texorpdfstring书签内部可以提供书签的不同表示形式:

\documentclass{article}
\usepackage[pdfencoding=auto,psdextra]{hyperref}[2012/08/13]
\usepackage{bookmark}
\bookmarksetup{
  numbered,
  open
}
\usepackage{amstext}% or amsmath

% disable \vspace in bookmarks
\pdfstringdefDisableCommands{%
  \renewcommand*{\vspace}[1]{}%
}

\begin{document}

\tableofcontents

\section[Introduction]{Introduction\vspace{8pt}}
\section{Second section}
\subsection{First subsection}
\subsection{Second subsection}
\subsection{The state space
  \texorpdfstring{$\mathcal{X}_{\text{VIII}}$}{%
    \unichar{"1D4E7}\vinferior\iinferior\iinferior\iinferior/%
    X\textunderscore VIII%
  }%
}

\end{document}

结果

如果未使用\vinferior或,则旧版本也可以。新版本中的选项允许缩写and ,而不是and 。\iinferiorhyperrefpsdextrahyperref\vinferior\iinferior\textvinferior\textiinferior

相关内容