目录的粒度一般由tocdepth
可为整个文档全局设置的计数器控制。
是否可以在文档中间更改目录的粒度?如果可以,如何更改?
我有一个特定的文档,其中我希望tocdepth
第一部分有两个,tocdepth
第二部分有一个(没有什么更复杂的)。
答案1
直接使用 将命令写入文件,\setcounter{tocdepth}{...}
就像在宏中所做的那样:.toc
\addtocontents
\changelocaltocdepth
\l@....
这是有效的,因为基本上生成内容行条目的各种宏会在生成viatocdepth
时检查值。.toc
\@dottedtocline
\documentclass{book}
\newcommand{\changelocaltocdepth}[1]{%
\addtocontents{toc}{\protect\setcounter{tocdepth}{#1}}%
\setcounter{tocdepth}{#1}%
}
\setcounter{tocdepth}{2}
\begin{document}
\tableofcontents
\part{One}
\chapter{Foo}
\section{Foo}
\subsection{Foo stuff}
\changelocaltocdepth{1}
\part{Two}
\chapter{Foo}
\section{Foo}
\subsection{Foo stuff}
\end{document}