我想删除目录中两个章节之间的垂直空间。我可以使用以下方法删除章节和章节之间的垂直空间
\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}