多列目录中章节下的水平线

多列目录中章节下的水平线

我有一个文档,其中包含使用

\usepackage[toc]{multitoc}
\renewcommand*{\multicolumntoc}{3}

我使用以下命令来创建章节并将其添加到目录中,因为我不希望章节编号出现在任何地方:

\newcommand{\myChapter}[1]{
  \chapter*{#1}
  \addcontentsline{toc}{chapter}{#1}
}

我想在这个目录中的每一章标题下添加一行,但我就是不知道该怎么做。它最终应该看起来像这样:

Chapter 1               1.1.3 Subsection        2.1.1 Subsection
-----------------                               2.1.2 Subsection
1.1 Section             Chapter 2
1.1.1 Subsection        -----------------
1.1.2 Subsection        2.1 Section

我已经看过托克洛夫特包并给出了各部分的示例:

\part{Part title}
\addtocontents{toc}{\protect\mbox{}\protect\hrulefill\par}

这可行,但我感兴趣的是针对章节而不是部分进行操作。我看过使用 tocloft 包和 cftchapaftersnum 覆盖 ToC 中的超满水平盒子(页面中间)如何改变 ToC 和 \chapter 的样式?并按照答案操作,但没有成功。该行根本没有显示出来。

谁能告诉我怎样才能画出这些线条?

答案1

您可以使用\addtocontents添加规则:

\documentclass{book}
\usepackage[toc]{multitoc}

\renewcommand*{\multicolumntoc}{3}

\newcommand{\myChapter}[1]{%
  \chapter*{#1}%
  \addcontentsline{toc}{chapter}{#1}%
  \addtocontents{toc}{\vskip-6pt\par\noindent\protect\hrulefill\par}
}

\begin{document}

\tableofcontents

\myChapter{A test chapter}
\addtocontents{toc}{}
\section{A test section}
\section{A test section}
\section{A test section}
\section{A test section}
\section{A test section}
\myChapter{A test chapter}
\section{A test section}
\section{A test section}
\section{A test section}
\myChapter{A test chapter}
\section{A test section}
\section{A test section}
\section{A test section}

\end{document}

在此处输入图片描述

我不太明白的是,您不希望出现章节编号,但您的示例在章节之前显示了章节计数器。

相关内容