我正在尝试将主要内容\tableofcontents
和几个内容\localtableofcontents
放在一个大型文档中。该文档由引言、几个部分、结论和参考书目组成。
至于目录:
- 引言、结论和参考文献应在正文中设为章节
\tableofcontents
。后两者不应编号。 - 每个部分的首页都应显示
\localtableofcontents
相关部分的
我尝试利用该{etoc}
包来实现这一点。以下 MWE 根据需要生成主目录:
\documentclass{report}
\usepackage{titlesec}
\usepackage{etoc}
% to be able to show localtoc on part-page
\titleclass{\part}{top}
\titleformat{\part}[display]{\normalfont\huge\filcenter\bfseries}{\partname\ \thepart}{0pt}{}
\begin{document}
\tableofcontents
\chapter{Introduction}
\part{A Part}
\etocsettocstyle{}{}
\etocsetnexttocdepth{section}
\localtableofcontents
\chapter{A Chapter}
\section{A section}
\part{Another Part}
\etocsetnexttocdepth{section}
\localtableofcontents
\chapter{Another Chapter}
\section{Another Section}
% (1) change local toc's depth
%\etocsettocdepth{part}
%\etocignoretoctocdepth
% (2) limit scope of last local toc
%\etocsetnexttocdepth{part}
%\invisiblelocaltableofcontents
\chapter*{Conclusion}
% to add unnumbered conclusion to toc:
\addcontentsline{toc}{chapter}{Conclusion}
\bibliographystyle{plainnat}
% to add unnumbered bibliography to toc:
\addcontentsline{toc}{chapter}{\bibname}
\bibliography{\jobname}
\end{document}
但是,它未能排除最后的结论和参考书目\localtableofcontents
:
我的想法是:
\etocsettocdepth
最后\localtableofcontents
在结论之前不再包含章节- 限制最后的结果范围
\localtableofcontents
,不再得出结论
我的尝试在上面的 MWE 中被注释掉了。但它们也可以被执行,因为它们似乎没有任何效果……
我如何从最后排除结论和参考书目\localtableofcontents
?
答案1
对于这种情况,etoc
可以使用命令\etocsetlocaltop
。它的语法有点奇怪,要将part
分隔符插入到文件中toc
,请编写
\etocsetlocaltop.toc{part}
这将添加一个标记,toc
其行为就像一个新的part
开始。有关更多详细信息,请参阅第 48 章etoc 文档。
因此完整文档变为
\documentclass{report}
\usepackage{titlesec}
\usepackage{etoc}
% to be able to show localtoc on part-page
\titleclass{\part}{top}
\titleformat{\part}[display]{\normalfont\huge\filcenter\bfseries}{\partname\ \thepart}{0pt}{}
\begin{document}
\tableofcontents
\chapter{Introduction}
\part{A Part}
\etocsettocstyle{}{}
\etocsetnexttocdepth{section}
\localtableofcontents
\chapter{A Chapter}
\section{A section}
\part{Another Part}
\etocsetnexttocdepth{section}
\localtableofcontents
\chapter{Another Chapter}
\section{Another Section}
% limit scope of last local toc
\etocsetlocaltop.toc{part}
\chapter*{Conclusion}
% to add unnumbered conclusion to toc:
\addcontentsline{toc}{chapter}{Conclusion}
\bibliographystyle{plainnat}
% to add unnumbered bibliography to toc:
\addcontentsline{toc}{chapter}{\bibname}
\bibliography{\jobname}
\end{document}