Die Standard-Klassen erlauben normalerweise keinen Seitenumbruch zwischen einem Eintrag für Abschnitte und dem ersten Eintrag für einen Unterabschnitt:
\documentclass{article}
\usepackage{mwe}
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\end{document}
Obwohl ![Kein Schusterjunge bei den Standardklassen][1]
Wie man in der Abbildung hoffentlich erkennen kann, würde hier der Eintrag für den letzten Abschnitt noch auf die erste Seite des Inhaltsverzeichnisses passen würde, passen. Trotzdem wird er mit dem Unterabschnitt auf die zweite umbrochen. Entsprechendes gilt auch bei `report` oder `book` für die oberen Ebenen.
Bei den KOMA-Script-Klassen gilt das entsprechend auch für die tieferen Ebenen:
\documentclass{scrartcl}
\usepackage{mwe}
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsubsection{Unteunterrabschnitt}
\blindtext
\subsubsection{Unterunterabschnitt}
\blindtext
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsubsection{Unterunterabschnitt}
\blindtext
\end{document}
![Kein Schusterjunge mit KOMA-Script-Klassen][2]
Hier kann man sehr deutlich erkennen, dass die unmittelbar aufeinander folgenden Einträge für Abschnitt, Unterabschnitt und Unterunterabschnitt zusammengehalten werden und dadurch der Umbruch deutlich früher erfolgt als zwingend notwendig.
Erst, wenn man auf eine frühe KOMA-Script-Version zurückschaltet, indem man entweder eine veraltete Option verwendet oder dies bewusst mit Option `version` erzwingt, wird aus Kompatibilitätsgründen diese Eigenschaft der KOMA-Script-Klassen abgeschaltet:
\documentclass[version=first]{scrartcl}
\usepackage{mwe}
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsubsection{Unteunterrabschnitt}
\blindtext
\subsubsection{Unterunterabschnitt}
\blindtext
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsubsection{Unterunterabschnitt}
\blindtext
\end{document}
![KOMA-Script mit Kompatibilität zu Uraltversionen][3]
Ich denke der Unterschied bei dieser Abbildung zur vorherigen ist klar zu erkennen.
Die Lösung für die *Schusterjungen*, die ja in Wirklichkeit gar keine sind, erhält man also normalerweise automatisch.
automatisch, außer man fordert explizit Kompatibilität zu einer KOMA-Script-Version, bei der das noch anders war.
Leider gibt es Pakete wie [`tocloft`](http://www.ctan.org/pkg/tocloft), die genau das nicht beherrschen. Wenn man also dieses Problem nicht haben will, sollte man solche Pakete nicht verwenden. Das experimentelle KOMA-Script-Paket `tocstyle` und das Paket [`etoc`](http://www.ctan.org/pkg/etoc) beherrschen dieses Feature jedoch ebenfalls.
Da Inhaltsverzeichniseinträge eigentlich immer eine volle Zeile darstellen, sind die angeblichen *Hurenkinder* in Wirklichkeit ohnehin keine. Wenn Du die trotzdem verhindern willst, musst Du manuell eingreifen, indem Du beispielsweise per
\addtocontents{toc}{\protect\pagebreak}
an passender Stelle im Dokument – meist unmittelbar vor oder hinter einer Überschrift – einen harten Umbruch ins Inhaltsverzeichnis einbaust, damit früher umbrochen wird, oder mit
\addtocontents{toc}{\protect\enlargethispage{\protect\baselineskip}}
eine Verlängerung der entsprechenden Inhaltsverzeichnisseite, damit später umbrochen wird.wird:
\documentclass{scrartcl}
\usepackage{mwe}
\usepackage{showframe}
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsubsection{Unteunterrabschnitt}
\blindtext
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsubsection{Unterunterabschnitt}
\blindtext
\addtocontents{toc}{\protect\enlargethispage{\protect\baselineskip}}
\subsubsection{Unterunterabschnitt}
\blindtext
\end{document}
![Beispiel für \enlargethispage im Inhaltsverzeichnis][4]
Wie im Ergebnis zu erkennen ist, wird hier die erste Seite des Inhaltsverzeichnisses so weit unter den eigentlichen unteren Rand des Textbereichs hinaus verlängert, dass die eine Zeile zusätzlich ausgegeben werden kann. Im konkreten Fall ist diese Lösung einem Umbruch noch vor dem letzten Abschnitt vermutlich vorzuziehen. Zum Vergleich will ich aber auch diesen noch zeigen:
\documentclass{scrartcl}
\usepackage{mwe}
\usepackage{showframe}
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsubsection{Unteunterrabschnitt}
\blindtext
\addtocontents{toc}{\protect\pagebreak}
\section{Abschnitt}
\blindtext
\subsection{Unterabschnitt}
\blindtext
\subsubsection{Unterunterabschnitt}
\blindtext
\subsubsection{Unterunterabschnitt}
\blindtext
\end{document}
![Beispiel für \pagebreak im Inhaltsverzeichnis][5]!
[1]: http://texwelt.de/wissen/upfiles/test12_4.png
[2]: http://texwelt.de/wissen/upfiles/test13_2.png
[3]: http://texwelt.de/wissen/upfiles/test14_2.png
[4]: http://texwelt.de/wissen/upfiles/test15_2.png
[5]: http://texwelt.de/wissen/upfiles/test16.png