Rechtsbündige Nummerierung im Verzeichnis

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Repin
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 14. Dez 2019, 19:44

Rechtsbündige Nummerierung im Verzeichnis

Beitrag von Repin »

Hallo liebe goLateX-Community,

mein Vorhaben ist ein Inhaltsverzeichnis in der Dokumentenklasse scrbook, in dem (1) die Kapitel römisch nummeriert werden, (2) die Nummerierung rechtsbündig steht und (3) nach der Nummer ein Punkt plus "Kapitel:" steht. Beispiel: "III. Kapitel: Dritte Kapitelüberschrift".

Ich habe mich für die Umsetzung des Pakets tocloft bedient. Anhand der in der Dokumentation gegebenen Beispiele (Abschnitt 2.3, Seite 11) war ich mit meinen bescheidenen Kenntnissen durchaus erfolgreich – solange sich das Ganze im dreistelligen Bereich befindet. Im vierstelligen Bereich passt dann die Nummernboxgröße nicht mehr? Die Rechtsbündigkeit der Nummerierung wird jedenfalls verlassen.

Dafür suche ich nach einer Lösung. Kann mir jemand weiterhelfen?

Code: Alles auswählen

\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{tocloft}

%----------------(1)--------------------------
\renewcommand\thechapter{\Roman{chapter}}

%----------------(2)--------------------------
\newlength{\mylen}
\setlength{\mylen}{0.5em}
\renewcommand{\cftchappresnum}{\hfill}
\renewcommand{\cftchapaftersnum}{\hspace*{\mylen}}

%----------------(3)--------------------------
\renewcommand{\cftchapaftersnum}{.\ Kapitel:\ }
\settowidth{\mylen}{\bfseries\cftchappresnum\cftchapaftersnum}
\addtolength{\cftchapnumwidth}{\mylen}

\begin{document}
	\tableofcontents
	\chapter{Erste Kapitelüberschrift}
	\chapter{Zweite Kapitelüberschrift}
	\chapter{Dritte Kapitelüberschrift}
	\setcounter{chapter}{16}
	\chapter{Siebzehnte Kapitelüberschrift}
	\chapter{Achtzehnte Kapitelüberschrift}
\end{document}
(Es ist wohl keiner Erwähnung wert, dass ich ein LaTeX-Newbie bin. Dennoch hoffe ich, den Anforderungen, die hier an Anfragen gestellt werden, gerecht geworden zu sein und freue mich über freundliche Hinweise, sollte das nicht der Fall sein.)

Ich danke ganz herzlich im Voraus für jede Hilfestellung!

Repin

Gast

Beitrag von Gast »

Schau mal in die log-Datei. Da sollte eine Warnung wegen der Verwendung von tocloft stehen. Verwende besser die Möglichkeiten von tocbasic, die in der KOMA-Script-Anleitung dokumentiert sind.

Repin
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 14. Dez 2019, 19:44

Beitrag von Repin »

Vielen Dank für den Hinweis auf tocbasic! Dort werde ich nach einer neuen Lösung suchen.

Eine Fehlermeldung bekomme bzw. finde ich in der log-Datei zu tocloft jedoch nicht. Dort finde ich allerdings folgende Meldung für die .toc-Datei: Overfull \hbox (3.04227pt too wide) detected at line 6.

Ist die erwartete, aber fehlende Meldung zu tocloft auf eine nicht-aktuelle Version des KOMA-Scripts zurück zu führen?

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2156
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

In der Datei müsste die Warnung mit

Code: Alles auswählen

Class scrbook Warning: Usage of package `tocloft' together
(scrbook)              with a KOMA-Script class is not recommended.
beginnen.

Im Januar hat ein Gast eine ähnliche Frage beantwortet. Die Antwort muss nur noch für Kapitel angepasst werden. Für die Länge der Nummer des Eintrags ist die dynamische Version der Option numwidth zu empfehlen. Die Bezeichnung der Gliederungsebene liefert Dir der Befehl \chaptername.

Repin
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 14. Dez 2019, 19:44

Beitrag von Repin »

@Bartmann
Vielen Dank für den Hinweis und die Empfehlungen! Sie haben zu einem mich befriedigenden Ergebnis geführt:

Code: Alles auswählen

\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\renewcommand\thechapter{\Roman{chapter}}
\DeclareTOCStyleEntry[entrynumberformat=\boxedchapternumber,numwidth=13mm]{default}{chapter}
\newcommand{\boxedchapternumber}[1]{\hfill#1\enskip}

\begin{document}
	\tableofcontents
	\chapter{\chaptername: Erste Kapitelüberschrift}
	\chapter{\chaptername: Zweite Kapitelüberschrift}
	\chapter{\chaptername: Dritte Kapitelüberschrift}
	\setcounter{chapter}{16}
	\chapter{\chaptername: Siebzehnte Kapitelüberschrift}
	\chapter{\chaptername: Achtzehnte Kapitelüberschrift}
\end{document}
Allein die fehlende Warnung bei der Verwendung von tocloft lässt mich noch grübelnd zurück. Denn ich finde sie in meiner log-Datei einfach nicht. :?
Aber das ist jetzt ja auch egal. Danke nochmal!

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2156
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Ich hatte da eher an die folgende Herangehensweise gedacht:

Code: Alles auswählen

\documentclass{scrbook}
%\usepackage[utf8]{inputenc}% Ausgabe 28 in ltnews auf ctan.org
\usepackage[T1]{fontenc}% https://texwelt.de/fragen/5537
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\DeclareTOCStyleEntry[entrynumberformat=\boxedchapternumber, dynnumwidth]{default}{chapter}
\newcommand{\boxedchapternumber}[1]{\hfill#1~\chaptername:\enskip} 
\renewcommand{\thechapter}{\Roman{chapter}}

\begin{document}
\tableofcontents
\chapter{Erste Kapitelüberschrift}
\chapter{Zweite Kapitelüberschrift}
\chapter{Dritte Kapitelüberschrift}
\setcounter{chapter}{16}
\chapter{Siebzehnte Kapitelüberschrift}
\chapter{Achtzehnte Kapitelüberschrift}
\end{document}
Solltest Du aus irgendeinem Grund das optionale Argument des Gliederungsbefehls benutzen, um vielleicht eine lange Kapitelüberschrift im Inhaltsverzeichnis durch eine Abkürzung zu ersetzen, dann wird in diesem Fall die Beschriftung "Kapitel" nicht mehr hinzugefügt.

Gast

Beitrag von Gast »

Es sei lediglich darauf hingewiesen. dass der Eintragsstil default bei scrbook dem Stil section entspricht. Ob das so gewünscht ist oder vielleicht doch der Stil chapter, kann ich natürlich nicht beurteilen. Letztlich ist das alles der gleiche Stil tocline, nur mit unterschiedlichen Voreinstellungen. Also ist es letztlich ohnehin egal, weil man die Voreinstellungen ja nachträglich passend ändern kann.

Auch ein

Beitrag von Auch ein »

Anonymous hat geschrieben:Es sei lediglich darauf hingewiesen. dass der Eintragsstil default bei scrbook dem Stil section entspricht. Ob das so gewünscht ist oder vielleicht doch der Stil chapter, kann ich natürlich nicht beurteilen. Letztlich ist das alles der gleiche Stil tocline, nur mit unterschiedlichen Voreinstellungen. Also ist es letztlich ohnehin egal, weil man die Voreinstellungen ja nachträglich passend ändern kann.
Da braucht man nichts mehr zu ändern. Bei bereits definierten Eintragsebenen, in dem Fall chapter, werden die bereits vorhandenen Einstellungen beibehalten. Die Voreinstellungen wären nur für Einstellungen relevant, die noch nicht getroffen wurden (und bei der Anwendung auch nicht getroffen werden). Da part, chapter, section und default in der Voreinstellung von scrbook alle auf tocline basieren, also die Einstellungen damit teilen, ist es bei der erneuten Deklaration einer Eintragsebene in einem der Stile letztlich vollkommen egal, welchen der auf tocline basierenden Stile man angibt. Es werden nur die Einstellungen geändert, die man explizit im optionalen Argument angibt.

Repin
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 14. Dez 2019, 19:44

Beitrag von Repin »

Und nochmal ein herzliches Dankeschön an Bartman und die Gäste für den konkretisierten, sehr hilfreichen Vorschlag und die Erläuterungen!

Antworten