我想在书籍类文档的每个部分后打印一个目录。此目录将仅显示相关部分的内容。
我可以使用该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 部分的目录:
第二部分目录: