Platz zwischen Chapter und Section im Inhaltsverzeichnis

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


kaden
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 15. Apr 2017, 10:01
Wohnort: Hamburg

Platz zwischen Chapter und Section im Inhaltsverzeichnis

Beitrag von kaden »

Guten Tag,

ich bin gerade dabei das Inhaltsverzeichnis meiner Abschlussarbeit so zu gestalten, wie ich es gern hätte. Dazu benutze ich das Paket tocstyle mit der Option tocflat und dem Style allwithdot, was meinen Vorstellungen schon ziemlich nah kommt. Allerdings möchte ich etwa mehr Platz haben zwischen einem Chapter und der ersten Section. Im Moment ist bei mir der Abstand immer noch gleich groß (s. Anhang). Gibt es eine Möglichkeit das einzustellen? habe in der Dokumentation unter http://ctan.math.utah.edu/ctan/tex-arch ... cstyle.pdf nichts derartiges finden können. Wäre für jeden Tipp dankbar.
\documentclass[pagesize, a4paper, BCOR=5mm, headsepline, 12pt, halfparskip, abstracton, final, liststotoc, idxtotoc, bibtotoc,                                           
]{scrbook}  

\usepackage[tocflat]{tocstyle} 
\usetocstyle{allwithdot}
\setkomafont{chapterentry}{\normalcolor}

\begin{document}
\tableofcontents
\chapter{Theoretische Grundlagen}
\section{Speicherprogrammierbare Steuerungen}
\end{document}
Viele Grüße
kaden
Dateianhänge
2017-05-18 10_25_22-C__Users_TIG_Google Drive_000_Bachelorarbeit_001_Thesis_einstellungen_grundeinst.png
2017-05-18 10_25_22-C__Users_TIG_Google Drive_000_Bachelorarbeit_001_Thesis_einstellungen_grundeinst.png (4.33 KiB) 1939 mal betrachtet

Gast

Beitrag von Gast »

Das Alpha-Paket tocstyle, das ohne jeden Support angeboten wird und dessen Entwicklung IMHO inzwischen auch eingestellt ist, kennt dafür offenbar keine offizielle Einstellmöglichkeit. Man könnte nur vor jedem section-Eintrag einen Abstand einfügen, was aber wohl eher nicht erwünscht ist.

Eventuell könnte man bei tocbasic so etwas realisieren. Dort kann man Aktionen abhängig davon, ob die vorherige Ebene eine höhere oder tiefere war, ausführen.

Außerdem könnte man natürlich auf Ebene der Klasse eine Lösung herbeiführen, indem man \addchaptertocentry so umdefiniert, dann nach dem eigentlichen Eintrag noch ein Abstand in das Inhaltsverzeichnis eingefügt wird:
\documentclass[pagesize, a4paper, BCOR=5mm, headsepline, 12pt, 
  parskip=half,% veraltete Option halfparskip ersetzt (siehe Warnung bei Verwendung der veralteten Option)
  % abstracton, % Da scrbook kein abstract bietet kennt es auch die Option nicht!
  final, 
  listof=totoc,% veraltete Option liststotoc ersetzt (siehe Warnung mit der veralteten Option)
  index=totoc,% veraltete Option idxtotoc ersetzt (siehe oben)
  bibliography=totoc,% veraltete Option bibtotoc ersetzt (siehe oben)
]{scrbook}  

\usepackage[tocflat]{tocstyle}% ACHTUNG Alpha-Paket ohne Support! 
\usetocstyle{allwithdot}
\setkomafont{chapterentry}{\normalcolor}

\usepackage{xpatch}
\makeatletter
\providecommand*{\ext@toc}{toc}% für ältere KOMA-Script-Versionen
\apptocmd{\addchaptertocentry}{%
  \addtocontents{\ext@toc}{%
    \protect\addvspace{\protect\baselineskip}%
  }%
}{}{}
\makeatother

\begin{document}
\tableofcontents
\chapter{Theoretische Grundlagen}
\section{Speicherprogrammierbare Steuerungen}
\end{document}
Eventuell hat das auch Auswirkungen, wenn zwei Kapitelüberschriften direkt aufeinander folgen.

Beachte auch unbedingt die Hinweise zu veralteten Optionen! Du schaltest sonst diverse neuere, typografische Verbesserungen und Möglichkeiten von KOMA-Script ab. Als Beispiel sei hier die Warnung zu halfparskip aus der log-Datei zitiert:
Class scrbook Warning: You've used obsolete option `halfparskip'.
(scrbook)              Usage of this option indicates an old document
(scrbook)              and changes compatibility level using
(scrbook)              `parskip=half,version=first,
(scrbook)              enabledeprecatedfontcommands' that may result
(scrbook)              in further warnings.
(scrbook)              If you don't want this, you should simply
(scrbook)              replace option `halfparskip' by `parskip=half'. 

kaden
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 15. Apr 2017, 10:01
Wohnort: Hamburg

Beitrag von kaden »

Danke für die Antwort. Soweit funktioniert dein Code auch.
Wenn ich dich richtig verstanden habe, ist es ratsamer das Paket tocbasic für die Formatierung des Inhaltsverzeichnisses zu verwenden?

Gruß
kaden

Gast

Beitrag von Gast »

Das musst du selbst entscheiden. Schau dir aber einmal die Warnungen an, die tocstyle in die log-Datei schreibt. In der Anleitung gibt es auch Hinweise zum Status. Für ein neues Dokument würde ich es persönlich eher nicht mehr verwenden. Wenn es lediglich um das Fortschreiben eines alten Dokuments geht, würde ich vermutlich aber erst einmal darauf hoffen, dass es weiterhin funktioniert.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hier ist mal noch ein Vorschlag, der auf tocstyle verzichtet und statt dessen die Möglichkeiten von tocbasic nutzt. Letzteres wird sowieso von den KOMA-Script Klassen geladen.
\documentclass[pagesize, a4paper, BCOR=5mm, headsepline, 12pt, 
   parskip=half,% veraltete Option halfparskip ersetzt (siehe Warnung bei Verwendung der veralteten Option) 
   % abstracton, % Da scrbook kein abstract bietet kennt es auch die Option nicht! 
   final, 
   listof=totoc,% veraltete Option liststotoc ersetzt (siehe Warnung mit der veralteten Option) 
   index=totoc,% veraltete Option idxtotoc ersetzt (siehe oben) 
   bibliography=totoc,% veraltete Option bibtotoc ersetzt (siehe oben)
% folgende Optionen sind ergänzt:
   toc=chapterentrywithdots,
   toc=flat,
   listof=flat
]{scrbook}

\setkomafont{chapterentry}{\normalcolor}

\DeclareTOCStyleEntry[
  onstarthigherlevel=\addvspace{1em}
]{section}{section}

\usepackage{blindtext}% nur für Fülltext
\begin{document} 
\tableofcontents
\blinddocument
\blinddocument
\end{document}
In der Voreinstellung ist onstarthigherlevel=\LastTOCLevelWasLower, wobei \LastTOCLevelWasLower leer definiert ist. Zu beachten ist hier dass sich "higher level" auf die level Nummer bezieht. Diese ist für section höher als für chapter.

Antworten