我有以下目录:
第 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}