打印不完整目录的简单方法

打印不完整目录的简单方法

我想在书籍类文档的每个部分后打印一个目录。此目录将仅显示相关部分的内容。

我可以使用该minitoc包,但 (1.) 它主要用于在每章(而不是部分)之后打印目录,并且 (2.) 它似乎是一个非常复杂和沉重的包(800 页的文档),它深深地修改了标题格式。

因此,我正在寻找一种更简单的方法来执行这个简单的请求。最好使用不改变布局或字体特征的解决方案。事实上,我只想找到一种方法来使用经典\tableofcontents多次使用经典命令的方法以便仅显示第 1 部分,然后显示第 2、3 部分……。

答案1

您可以使用titletoc包来模拟这种行为。

在每个命令的开头\part发出一个\startcontents命令,在每个命令的结尾发出一个\stopcontents命令。

此后,开始一个新的\chapter*,然后发出\printcontents命令。

看一下以下 MWE 可以澄清这些事情:

\documentclass{book}

\usepackage{titletoc}

\begin{document}

\startcontents[first]
\part{1st part}
\chapter{1st}
\section{A section}
\chapter{2nd}
\section{A section}
\chapter{3rd}
\section{A section}
\stopcontents[first]
\chapter*{\contentsname\markboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
\printcontents[first]{}{0}{}

\startcontents[second]
\part{2nd part}
\chapter{1st}
\section{A section}
\chapter{2nd}
\section{A section}
\chapter{3rd}
\section{A section}
\stopcontents[second]
\chapter*{\contentsname\markboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
\printcontents[second]{}{0}{}

\end{document} 

第一部分目录

在此处输入图片描述

和第二部分的目录

在此处输入图片描述

答案2

您可以使用以下标记实现这一点:

\documentclass{book}

\usepackage{etoc}

\begin{document}

\part{1st part}
\invisiblelocaltableofcontents \label{toc:part1}
\chapter{1st}
\section{A section}
\chapter{2nd}
\section{A section}
\chapter{3rd}
\section{A section}

\tableofcontents\ref{toc:part1}

\part{2nd part}
\invisiblelocaltableofcontents \label{toc:part2}

\chapter{1st}
\section{A section}
\chapter{2nd}
\section{A section}
\chapter{3rd}
\section{A section}

\tableofcontents \ref{toc:part2}

\end{document} 

第 1 部分的目录:

目录第 1 部分

第二部分目录:

目录第 2 部分

相关内容