分区编号和 PDF 书签生成

分区编号和 PDF 书签生成

我正在尝试弄清楚如何管理各个文档部分(例如部分、章节、节等)的编号特征与为 PDF 文档生成的书签的交互。

首先,文档分区数只显示书签中的部分内容。章节和节的编号不包含在显示的名称中。有办法解决这个问题吗?

另外,我注意到,如果分区没有编号(例如,未编号的子部分),它就不会显示为书签。例如,我希望能够有未编号的子部分,但仍将它们显示为书签。有办法做到这一点吗?

为了清楚我想要实现的目标,请考虑以下示例:


\documentclass{book}
\begin{document}
\part{A} %Shows up as a bookmark named "I A"; this is fine
    \chapter{B} %Shows up as a bookmark named "B"; what I want is "1 B"
      \section{C} %Shows up as a bookmark named "C"; what I want is "1.1 C"
        \subsection*{D} %Doesn't show up as bookmark; what I want is "D"
  \part{E} %Shows up as a bookmark named "II B"; this is fine
    \chapter{F} %Shows up as bookmark named "F"; what I want is "2 F"
    %...and so on
\end{document}

答案1

假设你正在使用hyperref已经*文档状态:

通常hyperref会自动添加书签\section和类似的宏。但也可以手动设置。

手动设置使用

\pdfbookmark[<level>]{<text>}{<name>}

其中\part是级别-1\chapter是级别0\section是级别1,... 它放置<text>在书签中,并可以在内部引用(通过超链接)为<name>。或者,如果您想将其放置在相对于当前级别的级别,请使用

\currentpdfbookmark{<text>}{<name>}
\subpdfbookmark{<text>}{<name>}
\belowpdfbookmark{<text>}{<name>}

其中<text><name>的含义与之前相似。

在以下 MWE 中,hyperref为每个未加星号的标题创建分段书签,secnumdepth并且只有编号的未加星号的版本才会显示在目录中。默认情况下,从目录中删除的加星号的版本使用以下某种变体包含在内\...pdfbookmark

在此处输入图片描述

\documentclass{book}
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\usepackage{bookmark}% http://ctan.org/pkg/bookmark
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\tableofcontents
\part{FIRST PART}
\chapter{First chapter} \lipsum[1]
\section{First section} \lipsum[2]
\section*{Second section} \currentpdfbookmark{Second section}{ch:1:sec:2} \lipsum[3]
\section{Third section} \lipsum[4]
\subsection{First subsection} \lipsum[5]
\subpdfbookmark{First subsubsection}{ch:1:sec:3:ssec:1:sssec:1}\subsubsection{First subsubsection} \lipsum[6]
\currentpdfbookmark{Second subsubsection}{ch:1:sec:3:ssec:1:sssec:2} \subsubsection*{Second subsubsection} \lipsum[7]
\subsection{Second subsection} \lipsum[8]
\currentpdfbookmark{Third subsection}{ch:1:sec:3:ssec:3} \subsection*{Third subsection} \lipsum[9]
\pdfbookmark[2]{Fourth subsection}{ch:1:sec:3:ssec:4}\subsection*{Fourth subsection} \lipsum[10]
\subsection{Fifth subsection} \lipsum[11]
\chapter{Second chapter} \lipsum[12]
\end{document}

要在 PDF 书签面板中包含章节编号,请使用bookmarksnumbered以下选项hyperref

\usepackage[bookmarksnumbered]{hyperref}% http://ctan.org/pkg/hyperref

上述 MWE 将产生:

在此处输入图片描述

*如果不是,bookmark包裹提供类似的独立功能,用于将 PDF 书签包含在文档中。事实上,hyperref建议将其用作改进的书签组织。

相关内容