0

I have quite a long Table of Contents in which I first add the entries for List of Figures, List of Tables, and Abbreviations. However, the entire toc goes over one page. Thus, I would like to reduce the space between the first three entries (lof, lot, abb) to 1 (instead of the 1.5 that I use for the rest of the document/toc. Any idea how to solve this for only these three entries? This is my MWE:

\documentclass[12pt, a4paper]{article}
\usepackage[paper=a4paper,left=3cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}
\usepackage[american]{babel}
\addto\captionsamerican{
  \renewcommand{\contentsname}%
    {Table of Contents}%
}

\usepackage{acro}
\DeclareAcronym{x}{
  short = X ,
  long  = {X} ,
  class = abbrev
}

\usepackage{fancyhdr}
\setlength\headheight{14.49998pt}
\pagestyle{fancy}
\rhead{\thepage}
\lfoot{}
\cfoot{}
\rfoot{}

\linespread{1.5}

\begin{document}

\setcounter{tocdepth}{5}
\tableofcontents
\addtocontents{toc}{~\hfill\textbf{Page}\par}
\pagebreak

\pagenumbering{roman}
\addcontentsline{toc}{section}{\listfigurename}
\listoffigures
\addtocontents{lof}{~\hfill\textbf{Page}\par}
\pagebreak
\addcontentsline{toc}{section}{\listtablename}
\listoftables
\addtocontents{lot}{~\hfill\textbf{Page}\par}
\pagebreak
\addcontentsline{toc}{section}{Abbreviations}
\printacronyms[include-classes=abbrev,name=Abbreviations]
\pagebreak

\pagenumbering{arabic}
\section{Section 1}
TEXTTEXT \ac{x}

\section{Section 2}
TEXTTEXT

\section{Section 3}
TEXTTEXT

\end{document}

1 Answer 1

0

You can use the \addtocontents{file}{text} macro to put text into the file file. So, at appropriate places use:

\addtocontents{toc}{\linespread{1.0}} % reduce the line spacing
...
\addtocontents{toc}{\linespread{1.5}} % revert to your original line spacing

I don't know if the \linespread macro is fragile or not. If it is fragile then put \protect in front of it (e.g., \protect\linespread{...}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .