我在目录的章节下方很好地分组了部分,这样章节和后续部分之间就没有空格了,但最后一部分和下一章之间有一些空格。所有这些都是使用回忆录完成的:
\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
之前section
。part
您也可以使用该\addvspace
命令,但仅限于正值。