如何从本地目录中删除章节

如何从本地目录中删除章节

在一卷的某一章中,我有一个本地目录。我想从该目录中删除该章本身,或者,如果这样做是个好办法,删除任何 \chapter 级别划分,以便其中只\section显示 s 和更低的细分。我不想使用\chapter*,因为我希望该章出现在书的目录中,并保留其编号。

一个简单的例子:

\documentclass{memoir}
\begin{document}
\chapter{My Chapter}
\tableofcontents*
\section{A Section}
Some text.
\section{Another Section}
Some more text.
\end{document}

目录

编辑:也许“卷”这个词有点误导。更大的项目只是一本书,一本由不同作者贡献的编辑卷,每个作者都在自己的文件中。到目前为止,我主要在各个章节和一个共享样式文件上工作,但很快我还必须看看如何将它们组合在一起。我有一个初步的“全局”目录,是我手动创建的,最终最好用在编译整本书时自动生成的东西来替换它,而这个有点奇怪的本地目录在一个贡献中,将其转移到可能etoc确实会消除将书粘合在一起过程中的一个问题。

答案1

如果您想要在部分级别使用本地目录,请考虑加载etoc并使用

\etocsettocdepth.toc{section}
\localtableofcontents*

梅威瑟:

\documentclass{memoir}
\usepackage{etoc}
\begin{document}
\chapter{My Chapter}
\etocsettocdepth.toc{section}
\localtableofcontents*
\section{A Section}
Some text.
\section{Another Section}
Some more text.
\end{document} 

输出:

在此处输入图片描述

答案2

这仅适用于非hyperref使用情况。我并不推荐这样做。暂时\addcontentsline用 3 个参数重新定义,以在一\begingroup...\endgroup对中捕获它们并发出\chapterthen。

\documentclass{memoir}
\begin{document}
\begingroup
\renewcommand{\addcontentsline}[3]{}% Do nothing
\chapter{My Chapter}
\endgroup
\tableofcontents*
\section{A Section}
Some text.
\section{Another Section}
Some more text.
\end{document}

相关内容