删除乳胶目录中两章之间的垂直空格

删除乳胶目录中两章之间的垂直空格

我想删除目录中两个章节之间的垂直空间。我可以使用以下方法删除章节和章节之间的垂直空间

\usepackage[titles,subfigure]{tocloft}
\renewcommand\cftchapafterpnum{\vskip -2pt}

但我不知道如何删除两章之间的空格。请帮我解决一下。

答案1

仅当两个章节彼此相邻时,此功能才会删除它们之间的空格。

\documentclass{book}

\usepackage[titles]{tocloft}

\makeatletter
\newskip\old@cftbeforechapskip
\old@cftbeforechapskip\cftbeforechapskip
\let\old@l@chapter\l@chapter
\let\old@l@section\l@section
\def\l@chapter#1#2{\old@l@chapter{#1}{#2}\cftbeforechapskip3pt}% set your value here
\def\l@section#1#2{\old@l@section{#1}{#2}\cftbeforechapskip\old@cftbeforechapskip}
\makeatother

\begin{document}

\tableofcontents

\chapter{AAA}
\section{sss}

\chapter{BBB}
\section{ttt}

\chapter{CCC}

\chapter{DDD}

\end{document}

如果要删除所有垂直空格,只需说以下内容,而不是序言中的长代码:

\setlength{\cftbeforechapskip}{0pt}

相关内容