暂时更改目录中章节的垂直间距

暂时更改目录中章节的垂直间距

我在目录的章节下方很好地分组了部分,这样章节和后续部分之间就没有空格了,但最后一部分和下一章之间有一些空格。所有这些都是使用回忆录完成的:

\setlength{\cftbeforesectionskip}{4pt}
\setlength{\cftbeforechapterskip}{16pt}

问题是,前言中的章节类条目(例如前言、摘要)之间的垂直间距相对较大。我希望“分组”前言章节类条目,垂直间距为 4pt,组中最后一个条目(例如,目录或 LoF)与第一章之间的间距为 16pt。类似这样的内容:

Foreword
Abstract
List of Figures

Chapter 1 Introduction
  1.1 Section title
  1.2 Section title

Chapter 2 Theory
  2.1 Section title
  2.2 Section title

Bibliography

答案1

这是一个可能的解决方案,使用该etoolbox包来修补\chapter命令,为 ToC 添加一些间距;更改是在需要间距的时候:

\documentclass{memoir}
\usepackage{etoolbox}

\setlength{\cftbeforesectionskip}{4pt}

\begin{document}

\tableofcontents

\chapter*{Foreword}
\addcontentsline{toc}{chapter}{Foreword}
\chapter*{Abstract}
\addcontentsline{toc}{chapter}{Abstract}

\pretocmd{\chapter}{\addtocontents{toc}{\addvspace{16pt}}}{}{}

\chapter{Chapter One}
\section{Section One One}
\section{Section One Two}
\section{Section One Three}
\section{Section One Four}

\chapter{Chapter Two}
\section{Section Two One}
\section{Section Two Two}
\section{Section Two Three}

\chapter{Chapter Three}
\section{Section Three One}
\section{Section Three Two}
\section{Section Three Three}
\section{Section Three Four}
\section{Section Three Five}

\end{document}

最终的目录如下:

在此处输入图片描述

答案2

Gonzalo Medina 的回答对于自动化行为非常有用。如果您只需要针对特定​​情况执行一两次操作,则应手动添加空格。这要小心使用,因为 toc 的一般平衡可能会发生巨大改变。

这是通过

\addtocontents{toc}{\vspace{xpt}}

其中 x 为正值或负值,写在文本中的、等条目 chapter之前sectionpart

您也可以使用该\addvspace命令,但仅限于正值。

相关内容