我的book
基于类的文档通常具有以下结构:章节 -> 节 -> 小节 -> 小小节。通常,PDF 查看器(例如 Adobe Reader)中的 PDF 书签反映的就是这一点。以下是一个具有预期行为的 MWE:
\documentclass{book}
%\usepackage[estonian]{babel}
%\usepackage{mathtools}
%\usepackage{tocloft}
%\usepackage{titlesec}
\usepackage[hypertexnames=false]{hyperref}
%\usepackage{bookmark}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\begin{document}
\tableofcontents
\chapter{Test C}
A
\section{Test C1}
B
\subsection{Test C11}
C
\subsubsection{Test C111}
D
\include{Testing bookmarks}
\end{document}
哪里Testing bookmarks.tex
\appendix
%\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
\chapter{Test A}
A
\section{Test A1}
B
书签符合预期:
然而, 什么\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
时候添加/取消注释下Testing bookmarks.tex
,两个更深层次的书签有消失了。
我怎样才能解决这个问题?
- 请确保在进行更改时编译文档适当次数(这里有时是三次)。
- (与原始文档相比,MWE 确实非常小。)
答案1
显然,添加\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
似乎不知何故使用 更改书签的默认行为hyperref
。
但修复它(最终)很简单:只需添加bookmarksdepth=3
到设置中就可以了。所以
\documentclass{book}
%\usepackage[estonian]{babel}
%\usepackage{mathtools}
%\usepackage{tocloft}
%\usepackage{titlesec}
\usepackage[hypertexnames=false, bookmarksdepth=3]{hyperref} % changed line
%\usepackage{bookmark}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\begin{document}
\tableofcontents
\chapter{Test C}
A
\section{Test C1}
B
\subsection{Test C11}
C
\subsubsection{Test C111}
D
\include{Testing bookmarks}
\end{document}
这给出了预期的书签结构: