减少目录中各部分组之间的空间

减少目录中各部分组之间的空间

我有以下目录:

第 1 节
第 1.1 节 ...................... 2

第 2 节 第 2.1 款 ................................ 2

我怎样才能减少与第 1 部分相关的第一“组”项目与与第 2 部分相关的第二“组”项目之间的间距?

我知道如何减少项目之间的间距相同组,例如,第 2 节的所有小节之间。

我见过类似的帖子,但我无法应用提供的解决方案。

答案1

\section这是在目录中设置标题的函数的一部分,称为\l@section。这是它的定义article.cls

\newcommand*\l@section[2]{%
  \ifnum \c@tocdepth >\z@
    \addpenalty\@secpenalty
    \addvspace{1.0em \@plus\p@}%
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
    \endgroup
  \fi}

注意使用\addvspace{<space>}插入垂直间隙取决于提供<space>的。您可以使用以下方法更改(或删除)此设置etoolbox修补:

在此处输入图片描述

\documentclass{article}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\l@section}% <cmd>
  {\addvspace{1.0em \@plus\p@}}% <search>
  {}% <replace>
  {}{}% <success><failure>
\makeatother

\begin{document}

\tableofcontents

\section{A section}
\subsection{A subsection}
\subsection{Another subsection}

\section{Another section}
\subsection{A subsection}
\subsection{Another subsection}

\end{document}

也可以使用tocloft

\usepackage{tocloft}
\setlength{\cftbeforesecskip}{0pt}

相关内容