我使用hyperref
和bookmark
包。因此,在查看生成的文档时,文档的目录 (toc) 也会显示在 PDF 阅读器的侧栏中。
我现在的问题是,某些章节的标题中包含数学表达式,而这些表达式当然无法在 PDF 查看器侧栏的目录中正确显示。例如,条目
在文档目录中显示为
在 PDF 查看器的侧栏中。我知道不可能在那里写出正确的数学表达式,但例如,我希望用X_VIII
代替XVIII
。
我遇到的另一个问题是,我在某些标题中添加了\vspace{8pt}
,但遗憾的是 8pt 显示在 PDF 查看器的侧栏中:
因此我的问题是:有没有办法手动指定 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 。\iinferior
hyperref
psdextra
hyperref
\vinferior
\iinferior
\textvinferior
\textiinferior