Menu

HowTo_ToCsSamePage

Wie bei scrbook und scrreprt mehrere Verzeichnisse auf einer Seite stehen können

Anwender, die mit scrbook oder scrreprt eher kurze Dokumente mit sehr wenigen Abbildungen und Tabellen erstellen, neigen zu dem Wunsch, beider Verzeichnisse ggf. sogar zusammen mit dem Inhaltsverzeichnis auf einer Seite stehen zu haben. Da jedoch alle Verzeichnisse in der Voreinstellung Kapitel darstellen, beginnen diese natürlich auch immer eine neue Seite. Allerdings bieten die KOMA-Script-Klassen die Möglichkeit, für Verzeichnisse stattdessen die Gliederungsebene um eine Stufe abzusenken, sie also im Beispiel von scrbook und scrreprt als Abschnitte zu setzen. Im Sinne der Konsistenz empfiehlt sich dann außerdem eine Gesamtüberschrift über die Verzeichnisse zu setzen, also beispielsweise:

\documentclass[listof=leveldown]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{mwe}

\begin{document}
\tableofcontents

\chapter*{Abbildungen und Tabellen}
\listoffigures
\listoftables

\blinddocument
\begin{figure}
  \centering
  \includegraphics{example-image}
  \caption{Ein Beispielbild}
  \label{fig:example}
\end{figure}

\blindtext
\begin{table}
  \centering
  \begin{tabular}{lcr}
    links & Mitte & rechts \\
    1     & 2     & 3      \\
    A     & B     & C      \\
  \end{tabular}
  \caption{Eine sehr einfache Tabelle}
  \label{tab:example}
\end{table}
\end{document}

oder so ähnlich mit allen Verzeichnissen und diese sogar im Inhaltsverzeichnis aufgeführt (was man in genau dem Fall natürlich genau nicht benötigt):

\documentclass[listof=leveldown,listof=totoc]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\setuptoc{toc}{leveldown}
\setuptoc{toc}{totoc}
\begin{document}

\chapter*{Verzeichnisse}
\tableofcontents
\listoffigures
\listoftables

\blinddocument
\begin{figure}
  \centering
  \includegraphics{example-image}
  \caption{Ein Beispielbild}
  \label{fig:example}
\end{figure}

\blindtext
\begin{table}
  \centering
  \begin{tabular}{lcr}
    links & Mitte & rechts \\
    1     & 2     & 3      \\
    A     & B     & C      \\
  \end{tabular}
  \caption{Eine sehr einfache Tabelle}
  \label{tab:example}
\end{table}
\end{document}

Das funktioniert übrigens auch für andere Verzeichnisse von Paketen, die tocbasic unterstützen, beispielsweise für die Verzeichnisse des Pakets listings oder Paket floatbytocbasic. Bei Verwendung von tocbasic funktioniert es mit Hilfe von Option enablepatch=all auch mit den Standardklassen book und report:

\documentclass{report}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\usepackage[enablepatch=all]{tocbasic}
\setuptoc{lot}{leveldown}
\setuptoc{lof}{leveldown}
\begin{document}

\tableofcontents

\chapter*{Abbildungen und Tabellen}
\listoffigures
\listoftables

\blinddocument
\begin{figure}
  \centering
  \includegraphics{example-image}
  \caption{Ein Beispielbild}
  \label{fig:example}
\end{figure}

\blindtext
\begin{table}
  \centering
  \begin{tabular}{lcr}
    links & Mitte & rechts \\
    1     & 2     & 3      \\
    A     & B     & C      \\
  \end{tabular}
  \caption{Eine sehr einfache Tabelle}
  \label{tab:example}
\end{table}
\end{document}

Für das Inhaltsverzeichnis genügt Option enablepatch=all bisher nicht. Stattdessen ist dafür \tableofcontents zu ersetzen:

\documentclass{report}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\usepackage[enablepatch=all]{tocbasic}
\setuptoc{lot}{leveldown}
\setuptoc{lof}{leveldown}
\setuptoc{toc}{leveldown}
\begin{document}

\chapter*{Verzeichnisse}
\listoftoc[\contentsname]{toc}
\listoffigures
\listoftables

\blinddocument
\begin{figure}
  \centering
  \includegraphics{example-image}
  \caption{Ein Beispielbild}
  \label{fig:example}
\end{figure}

\blindtext
\begin{table}
  \centering
  \begin{tabular}{lcr}
    links & Mitte & rechts \\
    1     & 2     & 3      \\
    A     & B     & C      \\
  \end{tabular}
  \caption{Eine sehr einfache Tabelle}
  \label{tab:example}
\end{table}
\end{document}

Möglicherweise wird aber Option enablepatch=all in Zukunft erweitert werden.

Und bevor jemand fragt: Ja, es wäre auch möglich, die Verzeichnisse weiterhin als Kapitel zu setzen, aber dennoch den Seitenumbruch davor zu verhindern. Man kann nämlich den in „Wie verhindert werden kann, dass Kapitel eine neue Seite beginnen“ dokumentierten Trick auch per \BeforeTOCHead{…} anwenden. Er bleibt dann für die jeweilige Verzeichnisüberschrift lokal. Die deutliche Warnung aus dem entsprechenden Artikel, gilt aber natürlich auch für Verzeichnisse. Aus diesem Grund will ich den Trick hier auch nicht noch einmal zeigen.


Related

Wiki (Deutsch): HowTo_ChapterNoNewPage
Wiki (Deutsch): HowTo_ToCConfiguration

MongoDB Logo MongoDB