目录中的间距 - 更改行

目录中的间距 - 更改行

我需要更改一行中更改之间的间距。6pt 间距必须介于 -2.2 和 2.2.1 - 2.3 和 2.2.2 之间。

在此处输入图片描述

使用评论

\renewcommand\cftsubsubsecafterpnum{\vskip6pt}

不幸的是,它不能按照我想要的方式工作。

答案1

这里有一个可能的解决方案,使用一些条件测试:重新定义\subsection测试是否在小节条目前添加空格;如果它是第一个小节,则添加空格,否则不添加。重新定义\section测试是否在小节条目前添加空格;如果小节之前出现,则添加空格,否则不添加额外的空格。

\documentclass{book}

\makeatletter
\renewcommand\section{\ifnum\value{subsection}>0\relax\addtocontents{toc}{\protect\addvspace{6pt}}\else\fi\@startsection {section}{1}{\z@}%
  {-3.5ex \@plus -1ex \@minus -.2ex}%
  {2.3ex \@plus.2ex}%
  {\normalfont\Large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\normalfont\large\bfseries%
  \ifnum\value{subsection}>1\relax\else\addtocontents{toc}{\protect\addvspace{6pt}}\fi}}
\makeatother

\begin{document}

\tableofcontents
\chapter{A Test Chapter}
\section{Test Section One}
\section{Test Section Two}
\subsection{Test Subsection Two One}
\subsection{Test Subsection Two Two}
\section{Test Section Three}

\end{document}

在此处输入图片描述

相关内容