我正在完成一份包含大量“前言”部分和几个章节的文档。对于 PDF 书签,我希望将“前言”作为顶级书签(如章节),然后将摘要、致谢、目录等内容作为嵌套书签。我主要使用如下设置来工作:
\documentclass{report}
\usepackage{hyperref}
\title{My document}
\author{Myself}
\begin{document}
% Top-level front matter bookmark
\pdfbookmark[0]{Front Matter}{frontmatter}
\maketitle
% Abstract bookmark
\pdfbookmark[1]{\abstractname}{abstract}
\begin{abstract}
The abstract
\end{abstract}
% TOC bookmark
\pdfbookmark[1]{\contentsname}{toc}
\tableofcontents
% List of figures bookmark
\addcontentsline{toc}{section}{\listfigurename}
\listoffigures
% List of tables bookmark
\addcontentsline{toc}{section}{\listtablename}
\listoftables
% Chapters
\chapter{Chapter 1}
\chapter{Chapter 2}
\end{document}
这给了我我想要的 PDF 中的书签布局:
但问题是,图表列表和表格列表会显示为目录中的二级项目,因为我确实是以 而不是 的形式添加section
它们\addcontentsline
的chapter
。
我希望它们显示为顶级元素,如果我使用\addcontentsline{toc}{chapter}{\listfigurename}
and就可以做到这一点\addcontentsline{toc}{chapter}{\listtablename}
:
但是书签布局当然是错误的,将图形列表和表格列表显示为顶级元素。
有没有办法为目录条目选择不同的书签级别?或者,更有可能的是,创建目录条目而不生成 PDF 书签,这样我就可以使用 自己在喜欢的级别添加书签\pdfbookmark
?我觉得该命令\addtocontents
可能会有所帮助,但我真的不明白它应该如何使用。
注意:我知道我可以使用该包tocbibind
将图表列表和表格列表添加到目录中,事实上我最初是在使用它,但我现在“手动”执行此操作,正是因为我正在尝试解决这个问题。
答案1
您可以使用包bookmark
,该选项startatroot
在前置内容后重置层次结构:
\documentclass{report}
\usepackage{hyperref}
\usepackage{bookmark}
\title{My document}
\author{Myself}
\begin{document}
% Top-level front matter bookmark
\pdfbookmark[-1]{Front Matter}{frontmatter}
\maketitle
% Abstract bookmark
\pdfbookmark[0]{\abstractname}{abstract}
\begin{abstract}
The abstract
\end{abstract}
% TOC bookmark
\pdfbookmark[0]{\contentsname}{toc}
\tableofcontents
% List of figures bookmark
\addcontentsline{toc}{chapter}{\listfigurename}
\listoffigures
% List of tables bookmark
\addcontentsline{toc}{chapter}{\listtablename}
\listoftables
% Chapters
\bookmarksetup{startatroot}
\chapter{Chapter 1}
\chapter{Chapter 2}
\end{document}