目录中的不同层级和 hyperref 生成的 PDF 书签

目录中的不同层级和 hyperref 生成的 PDF 书签

我想做超链接为文档中所有可用的层级生成书签,但仅限于生成的 PDF。但是,对于目录本身(即打印在文档开头的目录),我希望仅显示前 2 或 3 个层级,以使其更紧凑。

但据我所知,更改 PDF 书签深度的唯一方法是使用命令更改目录的深度\setcounter{tocdepth}{x}

是否有其他方法来控制这个深度,即允许对目录和 PDF 书签使用不同的值?


编辑:这是一个最小示例。默认情况下,目录和 PDF 书签中均显示 3 个层次结构。通过取消注释第 4 行,可以将深度限制为第 2 级,但这适用于目录和 PDF 书签。我希望它仅适用于目录,并在 PDF 书签中保留第 3 级。

\documentclass{article}
\usepackage{hyperref}

\begin{document}

%\setcounter{tocdepth}{2}
\tableofcontents

\section{This should be in both the TOC and bookmarks}
\subsection{This too}
\subsubsection{But this should appear only in the bookmarks}
\subsubsection{and this also}

\end{document}

答案1

bookmarksdepth您可以使用键值控制书签深度,就像控制目录深度一样:

\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\hypersetup{bookmarksdepth=3}

在此处输入图片描述

bookmark也适应了这一点,以便您可以使用

\usepackage{bookmark}% http://ctan.org/pkg/bookmark
\bookmarksetup{depth=3}

答案2

计数器tocdepth有(除非某些包摆弄分段命令并改变默认行为)无方位写入文件的内容。但是,在制度下,它确实(默认情况下)对写入 pdf 书签的内容.toc有影响。hyperref

tocdepth因此,您原来的问题也可以通过当时的临时修改来解决\tableofcontents

\setcounter{tocdepth}{2}
\tableofcontents
\setcounter{tocdepth}{3}

例如。

相关内容