与目录不同级别的 PDF 书签

与目录不同级别的 PDF 书签

我正在完成一份包含大量“前言”部分和几个章节的文档。对于 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 中的书签布局:

PDF 书签布局

但问题是,图表列表和表格列表会显示为目录中的二级项目,因为我确实是以 而不是 的形式添加section它们\addcontentslinechapter

错误的目录

我希望它们显示为顶级元素,如果我使用\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}

在此处输入图片描述

相关内容