Sie sind hier

Tabellenverzeichnis verschwindet in TOC

Hallo,
bei meinen Versuch die Richtlinien der DHBW in LaTeX umzusetzen bin ich auf folgendes Problem gestossen:
Wenn ich im MWE den Befehl \deftocheading aktiviere, dann wird das Tabellenverzeichnis nicht im TOC aufgenommen. Kommentiere ich es aus, dann erscheint es im TOC.

Muss ich den Eintrag ins TOC selber in \deftocheading vornehmen oder gibt es eine elegantere Methode?

\documentclass[%
   paper=a4,
   fontsize=12pt,
   BCOR=1mm,
   parskip=half*,
   listof=totoc,
   listof=entryprefix,
   bibliography=totoc
]{scrartcl}
\usepackage{polyglossia}
\usepackage{fontspec}
\setmainlanguage[variant=german, spelling=new, babelshorthands=true]{german}
\setmainfont{Arial}
\usepackage{geometry}
\geometry{left=30mm, right=25mm, top=25mm, bottom=15mm, bindingoffset=1mm}
\usepackage{scrlayer-scrpage}
\usepackage{microtype}
\usepackage{setspace}
 
\deftocheading{lot}{%
   \makebox[.5\textwidth][l]{\textbf{Tabellenverzeichnis}}
   \hfill
   \makebox[.5\textwidth][r]{\textbf{Seite}}\par
}
\providecaptionname{ngerman}{\listoflotentryname}{Tab.}
\BeforeStartingTOC[lot]{\def\autodot{:}}
\DeclareTOCStyleEntry[linefill=\hfill]{default}{table}
 
\setstretch{1.433}
\recalctypearea
 
\begin{document}
   \tableofcontents\par
 
   \listoffigures\par
 
   \listoftables\par
 
   \section{Einleitung}
   \begin{figure}[htbp]
      \centering
      \caption{Gedankenflussplan}
      \caption{Foot}
      \caption{Flussplan}
   \end{figure}
   \begin{table}
      \caption{Alle Texte}
      \caption{Zweite Tabelle}
      \caption{Dritte Tabelle}
   \end{table}
\end{document}
Bild von Markus Kohm

Wenn Du keinen Überschriftenbefehl, der den Eintrag vornimmt, verwendest, dann musst du den Eintrag natürlich selbst vornehmen. Ich würde allerdings schon dazu raten, für Überschriften auch einen Überschriftenbefehl zu verwenden. Dieses unsinnige »Seite« in das Verzeichnis zu bekommen geht beispielsweise ganz einfach mit:

\documentclass[%
   paper=a4,% Voreinstellung kann weg!
   fontsize=12pt,
   BCOR=1mm,% 1mm??? Das ist unterhalb der Wahrnehmungsschwelle und deshalb
            % unsinnig. Aufgrund der Verwendung von geometry und der dortigen
            % Einstelungen ist es ohnehin wirkungslos.
   parskip=half*,
   listof=totoc,
   listof=entryprefix,
   bibliography=totoc
]{scrartcl}
\usepackage{polyglossia}
\usepackage{fontspec}
\setmainlanguage[variant=german, spelling=new, babelshorthands=true]{german}
%\setmainfont{Arial}% kommerzieller/Windows-Font von mäßiger Qualität
\usepackage{geometry}
\geometry{left=30mm, right=25mm, top=25mm, bottom=15mm, bindingoffset=1mm}% siehe oben (sollte außerdem vermutlich erst nach \setstretch aufgerufen werden), kann ohne heightrounded zu Problemen beim vertikalen Ausgleich, falls irgendwann twoside (oder \flushbottom) verwendet wird.
\usepackage{scrlayer-scrpage}
\usepackage{microtype}
\usepackage{setspace}
 
\providecaptionname{ngerman}{\listoflotentryname}{Tab.}
\AfterTOCHead[lot]{\vspace{-\baselineskip}{\raggedleft\pagename\par}}
\BeforeStartingTOC[lot]{\def\autodot{:}}
\DeclareTOCStyleEntry[linefill=\hfill]{default}{table}
 
\setstretch{1.433}
%\recalctypearea% Auskommentiert, damit die Verwendung von geometry überhaupt
                % Wirkung zeigen kann.
 
\begin{document}
   \tableofcontents\par% Das \par ist hier (vor allem im Beispiel zukünftig aber generell) überflüssig.
 
   \listoffigures\par% Das \par ist hier (vor allem im Beispiel zukünftig aber generell) überflüssig.
 
   \listoftables\par% Das \par ist hier (vor allem im Beispiel zukünftig aber generell) überflüssig.
 
   \section{Einleitung}
   \begin{figure}[htbp]
      \centering
      \caption{Gedankenflussplan}
      \caption{Foot}
      \caption{Flussplan}
   \end{figure}
   \begin{table}
      \caption{Alle Texte}
      \caption{Zweite Tabelle}
      \caption{Dritte Tabelle}
   \end{table}
\end{document}

PS: Würdest du es bitte unterlassen nicht benötigte Fonteinstellungen auf kommerzielle Fonts in Minimalbeispielen zu verwenden? Ich muss das jedes Mal ändern, um testen zu können. Das nervt.

Vielen Dank für die rasche Antwort, sie ist sehr hilfreich und lehrreich zugleich.
Gleichzeitig möchte ich mich für das nervige Einbinden des Fonts entschuldigen, war nicht meine Absicht. Das Minimalbeispiel ist nur eine abgemagerte Kopie vom Originaldokument, ich hab es einfach übersehen.

BCOR und bindingoffset habe ich missbraucht um die individuelle Verschiebung des Druckers auszugleichen. Nachdem ich die Seitenränder gemäss den Richtlinien eingestellt habe, habe ich festgestellt, das der Ausdruck um ein paar Millimeter horizontal verschoben ist, abhängig vom Drucker. Ob es eine gute oder schlechte Idee ist, sei dahingestellt aber so kann ich alles einstellen und am Ende, abhängig vom Drucker noch die Korrektur für das gesamte Dokument einstellen.

In meinem Originaldokument habe ich auch ein Titelblatt, dass ich mit titlepage.sty und eigene def-Datei erstellt habe. Wenn ich titlepage.sty einbinde, dann muss ich entweder BCOR und bindingoffset mit exakt den gleichen Wert verwenden oder beide weglassen. Verwende ich nur eins von beiden oder unterschiedliche Werte, so bekomme ich eine Fehlermeldung. Vielleicht hat jemand Lust hier ein bisschen Know-how zu vermitteln?

Für das ursprüngliche Problem habe ich, nachdem ich mit der vorgeschlagene Lösung experimentiert habe, eine andere Lösung gefunden:

\deftocheading{lot}{%
   \addsec[Tabellenverzeichnis]{\raggedleft\textbf{Tabellenverzeichnis}\hfill\textbf{\pagename}}\par
}

Damit erreiche ich, dass "Tabellenverzeichnis" und "Seite" auf einer Zeile stehen und der Eintrag ins Inhaltsverzeichnis erfolgt. So habe ich "für Überschriften auch einen Überschriftenbefehl" verwendet!

Bild von Markus Kohm

Für die Allgemeinheit sei erwähnt: Die Verwendung von \raggedleft und \hfill im Argument von \addsec ist ebenfalls ein übler Hack. Ich kann nicht versprechen, dass das in alle Zukunft funktioniert. Selbst heute kann, das unter diversen Umständen bereits schief gehen.

Nur, dass nicht irgendwann jemand behauptet, er habe das auf komascript.de empfohlen bekommen.

Bild von Markus Kohm

Kannst Du bitte das Problem mit titlepage + geometry im titlepage-Abschnitt des Forums schildern, sobald Du Zeit dafür findest? Zwar ist titlepage ein eher experimentelles Paket, für das es offiziell keinen Support gibt, in Wirklichkeit interessieren mich Probleme damit aber durchaus.

Comments for "Tabellenverzeichnis verschwindet in TOC" abonnieren