Tx · LaTeX & TikZ

How to Adjust the Table of Contents in classicthesis

Updated 13 October 2026

At a glance

  1. 1. Identify the issue

    Check whether the problem is a missing entry, an outdated page number, or the appearance of an entry.

  2. 2. Use package hooks

    Put formatting changes after loading classicthesis and adjust its supported table-of-contents commands.

  3. 3. Add starred headings

    Use addcontentsline when an unnumbered chapter or section should appear in the contents.

  4. 4. Rebuild the document

    Compile again so LaTeX can update the contents file and settle page numbers.

The phrase “minor bugfixes and adjustments” can refer to several different table-of-contents problems. The safest general approach is to identify whether an entry is missing, a page number is stale, or the layout needs changing. In classicthesis, make layout changes in your document preamble and use LaTeX’s commands for adding entries; do not directly edit the generated .toc file.

The examples below assume a classicthesis version that provides the usual tocloft commands. Use the document class and package options from your installed template if they differ. Package internals can change between releases, so check the documentation shipped with your version when a command is unavailable.

Change the appearance of entries

Load classicthesis first, then put your custom settings after it. This lets your definitions take precedence over the package’s defaults. Many classicthesis versions load tocloft themselves, so you usually do not need to load it a second time.

For example, you can adjust chapter spacing, the indentation of section entries, and the section-entry font as follows:

\documentclass[11pt,oneside]{scrbook}
\usepackage{classicthesis}

% Adjust spacing and alignment in the table of contents.
\setlength{\cftbeforechapskip}{0.5\baselineskip}
\setlength{\cftsecindent}{1.5em}
\setlength{\cftsecnumwidth}{2.3em}

% Use a plain font for section entries and their page numbers.
\renewcommand{\cftsecfont}{\normalfont}
\renewcommand{\cftsecpagefont}{\normalfont}

\begin{document}
\tableofcontents

\chapter{First chapter}
\section[Short contents entry]{A longer section title in the text}
Some text.

\end{document}

The \cftbeforechapskip length controls vertical space before chapter entries. \cftsecindent and \cftsecnumwidth control the indentation and reserved space for section numbers. The font commands affect section entries and their page numbers. If you want to preserve classicthesis’s distinctive typography, change only the lengths you need and leave the font commands alone.

If these commands produce an “undefined control sequence” error, check whether your release loads tocloft and consult its documentation. Avoid patching the package’s internal definitions until you have confirmed that no public setting provides the change you want.

Add an unnumbered heading to the contents

Starred headings such as \chapter*{Preface} do not normally create a table-of-contents entry. Add one explicitly:

\chapter*{Preface}
\addcontentsline{toc}{chapter}{Preface}

For an unnumbered section, use the matching level:

\section*{Notation}
\addcontentsline{toc}{section}{Notation}

Place \addcontentsline close to the heading, usually immediately after it. The level must match the heading: use chapter for a chapter-level entry and section for a section-level entry. If the heading should have a shorter label in the contents than in the document, use the optional argument on a numbered heading, for example \section[Short title]{Full title}. When hyperref is loaded and you want the contents entry to link to the unnumbered heading, put \phantomsection immediately before \addcontentsline.

Refresh missing or incorrect page numbers

LaTeX writes table-of-contents data to an auxiliary .toc file during compilation and reads that data on a later run. After adding entries or changing layout, compile the document again—often twice—until the page numbers and references settle. If an entry remains outdated, check that you are compiling the right main file and that the build system is not reusing auxiliary files from another copy of the project.

A clean build can help when the .toc file is corrupted or out of sync. Remove the relevant generated auxiliary files using your editor’s clean command, then compile again. Do not hand-edit .toc as a permanent fix: LaTeX will regenerate it, and manual changes can disappear or create inconsistent formatting.

Rename the contents heading

If you only want to change the title printed above the contents, use the document’s caption name rather than changing entry formatting:

\renewcommand{\contentsname}{Contents}

Put this after packages that set the document language. Language packages may provide their own localized name, so if the title reverts or appears in the wrong language, use that package’s language-specific mechanism or place the redefinition after its language setup.

Common mistakes

  • Editing the .toc file directly: It is generated output and can be overwritten on the next run. Change the source document instead.
  • Making a change before loading classicthesis: The package may replace an earlier definition. Put your adjustments after \usepackage{classicthesis}.
  • Expecting starred headings to appear automatically: Add them with \addcontentsline when you want them listed.
  • Compiling only once: A new or changed contents entry may not have its final page number until a later run.
  • Changing package internals for a style adjustment: Prefer documented tocloft settings or template options, which are less likely to break after an update.

If the issue is a compile error rather than formatting or missing entries, reduce the document to a small example that still fails and include the classicthesis version and error message. A targeted fix depends on the actual error and cannot be inferred from the general request for minor adjustments.

References

  1. classicthesis on CTAN
  2. The tocloft package on CTAN

Spotted an error? Send a correction. Read how we write and check articles in our editorial policy.