Abschnitt und Unterabschnitt im Inhaltsverzeichnis zusammenhalten

Abschnitt und Unterabschnitt im Inhaltsverzeichnis zusammenhalten

Ich habe ein langes Inhaltsverzeichnis, das vom tocloftPaket bereitgestellt wird. Es ist lang genug, um auf eine zweite Seite überzugehen. Was ich dann habe, ist, dass (zum Beispiel) Abschnitt 2 am Ende der ersten Seite und Abschnitt 2.1 am Anfang der zweiten Seite steht.

Idealerweise würde ich Abschnitte und Unterabschnitte im Inhaltsverzeichnis so gruppieren, dass sie, wenn sie durch eine Seite wie diese geteilt werden, einfach auf eine neue Seite verschoben werden. Das Endergebnis wäre, dass die erste Seite mit Abschnitt 1.X endet und die zweite Seite mit Abschnitt 2 beginnt (und so weiter...).

Gibt es eine Möglichkeit, dies zu konfigurieren?


MWE, das das Problem veranschaulicht.

\documentclass{article}
\usepackage{tocloft}

\begin{document}

\tableofcontents
\clearpage

\section{Section 1}
\subsection{A subsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsection{A subsection}
\subsection{A subsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsection{A subsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}

\section{A Second Section}
\subsection{A subsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}
\subsubsection{A subsubsection}

\section{A Third Section}
\subsection{A subsection}
\subsubsection{A subsubsection}

\end{document}

MWE Illustration

Antwort1

Hier ein Auszug aus Seite 6 der Bedienungsanleitung des tocloftPakets:

Es kann zu unerwünschten Seitenumbrüchen im Inhaltsverzeichnis kommen. Sie haben beispielsweise einen langen mehrzeiligen Abschnittstitel und im Inhaltsverzeichnis gibt es einen Seitenumbruch zwischen den Zeilen. Nachdem Ihr Dokument stabil ist, können Sie \addtocontentsan den entsprechenden Stellen im Hauptteil des Dokuments den Seitenumbruch im Inhaltsverzeichnis anpassen. Beispiele:

  • \addtocontents{toc}{\protect\newpage}um einen Seitenumbruch zu erzwingen.

  • \addtocontents{toc}{\protect\enlargethispage{2\baselineskip}} um die Seite länger zu machen.

  • \addtocontents{toc}{\protect\needspace{2\baselineskip}}um anzugeben, dass eine neue Seite begonnen wird, wenn auf der Seite kein vertikaler Abstand von zwei Grundlinien mehr vorhanden ist. (Das \needspaceMakro ist im needspace Paket definiert.)

Beachten Sie übrigens, dass diese Hinweise unabhängig vom tocloftgeladenen Paket sind.

Für Ihr Dokument wäre die optimale Aktion dann, die Anweisung einzufügen

\addtocontents{toc}{\protect\newpage}

unmittelbar bevor

\section{A Second Section}

im Textkörper des Dokuments.

Beachten Sie abschließend die Einschränkung „nachdem Ihr Dokument stabil ist“. Führen Sie diese Feinabstimmungsvorgänge auf keinen Fall durch, bis Ihr Dokument ansonsten weitgehend fertig ist.

Antwort2

Eine andere einfache Version, bei der das Dokument nicht komplett eingerichtet werden muss, wäre das Hinzufügen eines \nopagebreakAbschnittstitels nach dem Dokument. tocloftDies könnte über

\renewcommand{\cftsecafterpnum}{\nopagebreak}

(wenn Sie es manuell zu einem einzelnen Abschnitt hinzufügen möchten, müssen Sie hinzufügen \protect\nopagebreak)

In Ihrem Beispiel funktioniert dies wie vorgesehen:

Inhaltsverzeichnis mit Unterbrechung an der richtigen Stelle

Antwort3

Mit der Hilfe vonMurmeltierkonnte ich meinen Titel mit einem einfachen \enlargethispage{-0.5cm}Befehl auf die nächste Seite verschieben. Das ist zwar nicht die ideale Lösung, da sie sehr manuell und problemspezifisch ist, aber immerhin funktioniert sie.

Aus dem obigen MWE habe ich ausgetauscht

\tableofcontents

mit

{%
    \enlargethispage{-0.5cm}
    \tableofcontents
}

das hat die folgende Ausgabe erzeugt.

Beispiel für einen festen Inhaltsverzeichnis

verwandte Informationen