How to change spaces between items in Table of Contents

Is it possible to get it without using package titletoc ? I'm using special chapter style which doesn't work with this package.

609k 141 141 gold badges 1.5k 1.5k silver badges 2.3k 2.3k bronze badges asked May 19, 2012 at 22:22 6,573 8 8 gold badges 29 29 silver badges 28 28 bronze badges And the tocloft package is an option? Commented May 19, 2012 at 22:27

Yes, it's possible. Perhaps provide further information, such as you preamble or even better a small compilable example with your class, packages and settings.

Commented May 19, 2012 at 22:28

Just for future reference: I've found that setting \parskip can be useful. E.g. \parskip=1em for large spacing or \parskip=0em for compact spacing, it works for me in the article document class.

Commented Feb 20, 2016 at 19:26

5 Answers 5

There are so many options. without further information, one possible option would be to use the setspace package and one of its commands of environments; for example,

\documentclass \usepackage \begin \doublespacing \tableofcontents \singlespacing \chapter \section \section \chapter \section \section \end

enter image description here

This approach will increase evenly the space between all sectional units. The following three options allow you to control separately the spacing for each group of sectional units.

Another option would be to use the tocloft package and redefine the \cftXafterpnum family of commands:

\documentclass \usepackage \renewcommand\cftchapafterpnum \renewcommand\cftsecafterpnum \begin \tableofcontents \chapter \section \section \chapter \section \section \end

enter image description here

Yet another option, this time using the etoolbox package to patch the sectional units commands to add vertical space to the ToC:

\documentclass \usepackage \makeatletter \pretocmd<\protect\addvspace<15\p@>>><><> \pretocmd<\protect\addvspace<5\p@>>><><> \makeatother \begin \tableofcontents \chapter \section \section \chapter \section \section \end

enter image description here

A fourth option not requiring any packages would be to redefine the \chapter and \section commands as implemented in the used document class to add the vertical space to the ToC; an example with report :

\documentclass \makeatletter \renewcommand\chapter<\protect\addvspace<5\p@>>% \if@openright\cleardoublepage\else\clearpage\fi \thispagestyle% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter> \renewcommand\section<\protect\addvspace<20\p@>>% \@startsection % % % <\normalfont\Large\bfseries>> \makeatother \begin \tableofcontents \chapter \section \section \chapter \section \section \end