我正在尝试弄清楚如何管理各个文档部分(例如部分、章节、节等)的编号特征与为 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
会自动添加书签\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
建议将其用作改进的书签组织。