到目前为止,我找到的关于这个主题的所有参考资料都只显示了如何设置目录中显示的级别数(通过\setcounter{tocdepth}{n}
。
但我想定义一个新的(附加的)类型的目录,列出所有部分以下给定的节级别。例如,我想在每个 的开头打印一个目录\part
,列出以 开头的所有内容\chapter
。(如果部分位于子文件中,而我也希望将其编译为独立文档,这一点尤其重要。
是否有一个地方(变量、命令)可以定义目录的顶层?或者是否有用于此目的的软件包?
谢谢任何提示。
答案1
您可以使用minitoc
或者titletoc
包;第三种可能性是使用 手动创建部分目录\@starttoc
。下面我展示了使用包的示例:
1) 使用titletoc
及其命令。在示例中,我重新定义\startcontents
(如在中实现的),以便每个命令自动生成部分目录;我还做了一些调整,以便这些部分目录将从显示相应部分标题的同一页面开始排版;还添加了额外的水平规则:\printcontents
\@endpart
book.cls
\part
\documentclass{book}
\usepackage{titletoc}
\makeatletter
\def\@endpart{%
\vfil
\hrule
\startcontents[parts]
\printcontents[parts]{}{0}{}
\par\bigskip\hrule
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\makeatother
\begin{document}
\tableofcontents
\part{Test Part One}
\chapter{Test Chapter}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\chapter{Test Chapter}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\part{Test Part Two}
\chapter{Test Chapter}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\end{document}
以下是部分 ToC 的结果图像:
和
对示例进行简单修改即可将部分目录放置在其自己的页面中,而无需规则等。
2)现在,使用该minitoc
包的一个例子:
\documentclass{book}
\usepackage{minitoc}
\begin{document}
\doparttoc
\tableofcontents
\part{Test Part One}
\parttoc
\chapter{Test Chapter}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\chapter{Test Chapter}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\part{Test Part Two}
\parttoc
\chapter{Test Chapter}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\end{document}
使用标准设置,每个部分目录现在都从其自己的页面开始排版并带有标题,如下图所示:
和