ToC appearance to be customized/optimized

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


aiflow77
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 2. Sep 2021, 08:35

ToC appearance to be customized/optimized

Beitrag von aiflow77 »

Hey there,

Unfortunately a minor problem with my ToC encountered recently. My recent research in the internet was equally unsuccessful. Thats why I ask you for help and I hope there is somebody skilled out there who may have the time to resolve this issue with/for me.

Specifically, I would like to have less space between ToC, ToT, ToF, List of Abbreviations and so on... I didn't find any simple solution to decrease the space between them without affecting the regular sections from chapter 1 and following. All in all I think it would be the best if they are formatted exactly as the regular sections in each chapter concerning the appearance in ToC (vertical spaces). By now they are handled as chapters. I forced them not to appear in bolt characters by calling e. g. \renewcommand{\listtablename}{\normalfont\rmfamily Tabellenverzeichnis}.

For illustration purposes I attached a commented picture you can find below.

In my way of thinking this will be very aesthetic after implementing the above descibed approach. If you have any concerns about my approach, please do not hesitate to suggest alternatives!

Thank you so much in advance!

PS: Grüße aus Deutschland. Falls notw. können wir uns auch gerne in deutsch austauschen. Für eine größere Reichweite habe ich mein Problem in Englisch formuliert. Vielen lieben Dank vorab! :)

ToC_issue.png

MWE:

\documentclass[a4paper, twoside, BCOR=12mm, 12pt]{scrbook}

%%% PREAMBLE
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\usepackage{setspace}   
\setstretch{1,25} % Layout \usepackage[ top=2.0cm, bottom=2.5cm, headheight=0.75cm, headsep=1cm, width=155mm ]{geometry} \geometry{ bindingoffset=14mm, %verbose, includehead=true, includefoot=false, %marginparsep=0.25cm, %marginparwidth=1.5cm, %showframe } \usepackage{scrlayer-scrpage} \pagestyle{scrheadings} \clearscrheadfoot \automark[chapter]{chapter}
\renewcommand{\headfont}{\normalfont} \lehead{Seite\pagemark}
\rohead{Seite\pagemark} \renewcommand{\chaptermarkformat}{} \setheadsepline{0.2pt}
\addtokomafont{pageheadfoot}{\footnotesize\rmfamily}
\renewcommand*{\chapterpagestyle}{scrheadings} % ToC, LoF, LoT anpassen \usepackage{tocloft} \usepackage{titlesec,titletoc}
\usepackage{minitoc} \usepackage[nottoc]{tocbibind} \setcounter{secnumdepth}{3} \setcounter{tocdepth}{3} % tocdepth \renewcommand{\cftchapfont}{\bfseries} % TOC font \renewcommand{\cftsecfont}{} \renewcommand{\cftsubsecfont}{} \renewcommand{\cftsubsubsecfont}{} %\renewcommand{\cftchappagefont}{} \renewcommand{\cftsecpagefont}{} \renewcommand{\cftsubsecpagefont}{} \renewcommand{\cftsubsubsecpagefont}{} \renewcommand{\cftchapleader}{\bfseries \cftdotfill{3.5}}% TOC dots \renewcommand{\cftsecleader}{\cftdotfill{3.5}} \renewcommand{\cftsubsecleader}{\cftdotfill{3.5}} \renewcommand{\cftsubsubsecleader}{\cftdotfill{3.5}} \renewcommand{\cftfigleader}{\cftdotfill{3.5}} \renewcommand{\cfttableader}{\cftdotfill{3.5}} \renewcommand{\cftbeforechapskip}{0.7cm} % TOC vertical \renewcommand{\cftbeforesecskip}{0.1cm} \renewcommand{\cftbeforesubsecskip}{0.05cm} \renewcommand{\cftbeforesubsubsecskip}{0.05cm} \renewcommand{\cftchapnumwidth}{0.5cm} % TOC Indent between Number and character \renewcommand{\cftsecnumwidth}{0.9cm} \renewcommand{\cftsubsecnumwidth}{1.2cm} \renewcommand{\cftsubsubsecnumwidth}{1.5cm} \renewcommand{\cftaftertoctitle}{\hfill{\mdseries\normalsize Seite}} \renewcommand{\cftafterloftitle}{\hfill{\mdseries\normalsize Seite}} \renewcommand{\cftafterlottitle}{\hfill{\mdseries\normalsize Seite}} \renewcommand*{\cftmarktoc}{} \renewcommand{\cftbeforetoctitleskip}{15pt} \renewcommand{\cftaftertoctitleskip}{-10pt} \renewcommand{\cftbeforeloftitleskip}{7pt} \renewcommand{\cftafterloftitleskip}{0.3cm} \renewcommand{\cftbeforelottitleskip}{7pt} \renewcommand{\cftafterlottitleskip}{0.3cm} \titleformat{\chapter}[hang]{\fontsize{22pt}{16pt}\selectfont\sffamily\bfseries\raggedright}{\thechapter}{34pt}{} \addtokomafont{chapter}{\large} \titleformat{\section}[hang]{\fontsize{17pt}{30pt}\bfseries}{\thesection}{25pt}{} \titleformat{\subsection}[hang]{\fontsize{14pt}{14pt}\bfseries}{\thesubsection}{17pt}{} \titleformat{\subsubsection}[hang]{\normalsize\bfseries}{\thesubsubsection}{8pt}{} \titlespacing*{\chapter}{0pt}{-10pt}{0pt} \titlespacing{\section}{0pt}{12pt}{-5pt} \titlespacing{\subsection}{0pt}{8pt}{-5pt} \titlespacing{\subsubsection}{0pt}{8pt}{-5pt} \titlespacing{\paragraph}{0pt}{0pt}{0pt}
% Glossary Style \usepackage[acronym, toc, section=chapter]{glossaries} \usepackage{glossary-super} \setlength{\glsdescwidth}{15cm} \newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis} %create add. symbolslist \glsaddkey{unit}{\glsentrytext{\glslabel}}{\glsentryunit}{\GLsentryunit}{\glsunit}{\Glsunit}{\GLSunit} \glssetnoexpandfield{unit} \glsdisablehyper % Print Glossary %\loadglsentries[\acronymtype]{example-glossaries-acronym}% dummy entries \newacronym{CLIK}{CLIK}{Closed-Loop Inverse Kinematic} \newglossaryentry{Position}{name=${P=\left[P_x, P_y, P_z\right]T}$, description={Positionsvektor in x-, y- und z-Richtung}, unit={\si{\meter}}}
\makeglossaries \usepackage{lipsum} \usepackage{mdframed} \begin{document} %% Ein kleiner Abstand zu den Kapiteln im Inhaltsverzeichnis (toc) \addtocontents{toc}{\protect\vspace*{\baselineskip}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Inhaltsverzeichnis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \mainmatter \tocloftpagestyle{scrheadings} \rmfamily % Inhaltsverzeichnis in Arial \renewcommand{\contentsname}{\rmfamily Inhaltsverzeichnis} \fontsize{14bp}{\baselineskip}\selectfont \begin{center} \bfseries \begin{mdframed}[backgroundcolor=white] %gray!5 \centering Thesis von Maximilian Mustermann \end{mdframed} \end{center} \normalsize \ihead{Inhaltsverzeichnis} \pagenumbering{roman} \tableofcontents \cleardoublepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Abkürzungen/Abbreviations %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \renewcommand*{\glsgroupskip}{} \ihead{Abkürzungs- und Notationsverzeichnis} \let\cleardoublepage\clearpage \setlength{\glsdescwidth}{0.82\linewidth} \printglossary[ type=\acronymtype, nonumberlist, title=Abkürzungen, toctitle=\normalfont Abkürzungsverzeichnis, %style=mystyle ] %\addtocontents{toc}{\vspace{-15pt}} \cleardoublepage
% Notationen \ihead{Abkürzungs- und Notationsverzeichnis} \printglossary[ nonumberlist, title=Notationen, toctitle=\normalfont Notationsverzeichnis, %style=symbunitlong ] %\addtocontents{toc}{\vspace{-15pt}} \glsaddall
% ToF \chapter*{\label{figure_index}Abbildungen} \renewcommand{\listfigurename}{\normalfont\rmfamily Abbildungsverzeichnis} %\rmfamily %\addtocontents{toc}{\vspace{-4pt}} \ihead{Abbildungsverzeichnis} %\renewcommand{\chapter}[2]{} \listoffigures \cleardoublepage
% ToT \chapter*{\label{table_index}Tabellen} \renewcommand{\listtablename}{\normalfont\rmfamily Tabellenverzeichnis} %\addtocontents{toc}{\vspace{-15pt}} \ihead{Tabellenverzeichnis} %\renewcommand{\chapter}[2]{} \listoftables %\cftaddtitleline{toc}{chapter}{Contents-Example}{}% \cleardoublepage %%% Text \rehead{\chaptername\thechapter} % Reset Headers \lohead{\headmark} \pagenumbering{arabic} % Reset Page-numbering \chapter{Example Chapter} \lipsum[1] \section{Introduction} \lipsum[2] \chapter{Second Chapter} \lipsum[1] \section{Forther information} \lipsum[2] \section{Analysis of issues} \lipsum[1] \section{Problem solving process} \lipsum[1] \chapter{Summary} \end{document}
Zuletzt geändert von Stefan Kottwitz am Do 2. Sep 2021, 09:30, insgesamt 1-mal geändert.
Grund: Anhang in Beitrag eingebettet

gast.

Re: ToC appearance to be customized/optimized

Beitrag von gast. »

Das ist hier ein deutschsprachiges Forum. Hier sollten Fragen, so wie auch Antworten auf Deutsch formuliert werden. Wenn du für die größere Reichweite ein englisches Forum suchst, dann wärst das beispielsweise latex.org.

BTW: tocloft, titletoc, titlesec, tocbibind sollte man alle nicht mit KOMA-Script-Klassen kombinieren. Die Klassen haben selbst Schnittstellen für die Konfiguration von Verzeichnissen und Überschriften. Näheres ist der KOMA-Script-Anleitung zu entnehmen, die es sowohl in Englisch als auch Deutsch gibt. Deutsch gibt es außerdem ein Buch.

Und die \…name-Befehle sind für genau das vorgesehen, was der Name schon sagt: (sprachabhängige) Namen (oder Begriffe) und nicht für Formatierungen. Für Formatierungen nutzt man die Font-Einstellungsbefehle von KOMA-Script – oder bei der nicht empfohlenen Verwendung der oben genannten Pakte, deren Befehle.

Man ändert auch nicht bei jedem Verzeichnis per \ihead den Kopf, sondern lässt KOMA-Script das erledigen, indem man lebende Kolumnentitel verwendet (Stichwort \headmark). Für Kapitel gilt ähnliches.

Sieht alles nach ziemlich viel Pfusch aus. Da darf man sich nicht wundern, wenn man sich reichlich Probleme einhandelt.

Achja: a4paper und twoside sind bei scrbook voreingestellt.


aiflow77
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 2. Sep 2021, 08:35

Re: ToC appearance to be customized/optimized

Beitrag von aiflow77 »

Oh Nein! ...deine Antwort bereitet mir echt Sorgen. Ich bin nicht fortgeschritten um die Probleme eigenständig zu lösen! :( Könntest Du/Ihr mir bitte helfen die eben angesprochenen Themen anzugehen und mir helfen das nachzuvollziehen?

Ich wäre auch sehr froh, wenn wir das anfangs beschriebene Problem gemeinsam lösen könnten.

Nochmal kurz zusammengefasst auf Deutsch:
Ich mag gern die Verzeichnisse am Anfang des ToC (siehe Foto oben) enger aneinanderrücken. Die Vertikalabstände sind meiner Meinung nach zu extrem. Das liegt glaube ich daran, dass die Verzeichnisse als Kapitel interpretiert werden. Dadurch werden sie eigentlich auch fett gedruckt (bold).

Ich wandle (im Falle des Tabellenverzeichnisses) durch den Aufruf von \renewcommand{\listtablename}{\normalfont\rmfamily Tabellenverzeichnis} die Schrift im ToC um (Siehe Code). Der große Vertikalabstand bleibt aber leider! Im Endeffekt wünsche ich bei den Verzeichnissen einen Vertikalabstand wie bei den Sections im ToC. Weiterhin sollen die Punkte hinter den Verzeichnissen im ToC weg (Siehe Foto oben).

Ich hoffe ihr könnt mir dabei helfen das zu lösen und darüber Hinaus den eben angemerkten "Pfusch" zu beseitigen. Dafür wäre ich euch wirklich sehr dankbar!! :-)

Grüße,
Max

Zuletzt geändert von aiflow77 am Do 2. Sep 2021, 11:32, insgesamt 1-mal geändert.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2485
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: ToC appearance to be customized/optimized

Beitrag von Stefan Kottwitz »

Hallo Max,

willkommen im Forum!

Schön, dass Du ein komplettes Code-Beispiel gepostet hast, das man direkt testen kann. Etwas lang, aber dafür kriegst Du ja zusätzliche konstruktive Hinweise dann. ;-) Na ich kenne es ja auch, man bastelt etwas hin, das für einen funktioniert. Im Forum weist man natürlich auf problematisches hin oder auf nicht empfehlenswertes, weil wenn Sachen einmal im Internet stehen, werden sie auch mal von anderen sonst einfach gleich übernommen, also Anmerkungen sind immer gut.

Ja, für Reichweite kannst Du gern auch auf LaTeX.org posten. Crossposts sind ok, wenn sie jeweils aufs andere Forum verlinkt sind, damit man nicht umsonst etwas bearbeitet wo im anderen Forum vielleicht schon eine Lösung steht - daher Transparenz bei Crossposts.

Hier natürlich in Deutsch. Sonst landen Nicht-Deutschsprachige auch via google hier und sind verloren wenn sie eine deutschsprachige Lösung erklärt sehen, und überhaupt Durcheinander...

Soviel erstmal dazu. :-) Mal sehen, was sich noch zum eigentlichen Problem finden lässt oder was noch an Beiträgen dazu kommt.

Stefan


aiflow77
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 2. Sep 2021, 08:35

Re: ToC appearance to be customized/optimized

Beitrag von aiflow77 »

Vielen Dank Stefan! Ich bin auch gespannt und hoffe sehr, dass ich Hilfe bekomme. Nach dem eben getätigten Kommentar weiß ich mir ehrlich gesagt nicht mehr zu helfen, was das Lösen des von mir angesprochenen ToC Problems angeht. Auch die eben angesprochenen Probleme mit KOMA-Script-Klassen und den von mir verwendeten inkompatiblen tocloft, titletoc, titlesec, tocbibind - Packages und der unschönen \ihead{} Nutzung bereiten mir gerade große Sorgen. An der Diskussion hier kann ich sicherlich auch noch einiges lernen, vorausgesetzt jemand ist bereit zu "lehren"... :D

Grüße!

Zuletzt geändert von aiflow77 am Do 2. Sep 2021, 09:37, insgesamt 1-mal geändert.

gast.

Re: ToC appearance to be customized/optimized

Beitrag von gast. »

Vielleicht spezifizierst du erst einmal, welche Änderungen vom scrbook-Standard du insgesamt beabsichtigst. Eigentlich wäre es auch sinnvoll, einzelne Fragen mit passendem (wirklich minimalen) Minimalbeispiel zu all den gewünschten Änderungen zu stellen, statt einer Sammelfrage, bei der man erst einmal selbst herausfinden muss, was im einzelnen wo mit den inkompatiblen Zusatzpaketen erreicht werden soll. Einiges davon hat ja vermutlich auch nichts mit Verzeichnissen an sich zu tun.


aiflow77
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 2. Sep 2021, 08:35

Re: ToC appearance to be customized/optimized

Beitrag von aiflow77 »

Also im Grunde möchte ich das Problem mit dem Inhaltsverzeichnis (ToC) lösen. Konkret: Die Vertikalabstände zwischen den Verzeichnissen reduzieren. Mein Ansatz wäre, die Verzeichnisse im ToC als Section und nicht wie aktuell als Chapter anzuführen. Dann sollte das Problem eigentlich gelöst sein. Ich weiß nur nicht, wie ich das umsetzen kann.

Weiterhin: Du hast mich mit deinen Anmerkungen sehr neugierig gemacht. Mein LaTeX Verzeichnis funktioniert ja. Es ist aber so, dass ich schon sehr gerne in Sachen LaTeX dazulerne. Und Optimierung ist ja nie verkehrt. Wenn ihr die Probleme rund um die \iheads und die mit KOMA inkompatiblem Packages mit mir angehen könntet, wäre ich wirklich sehr, sehr, sehr dankbar.


gast.

Re: ToC appearance to be customized/optimized

Beitrag von gast. »

Wenn die Verzeichnisse Kapitel sind, sollte man sie auch im Inhaltsverzeichnis als Kapitel behandeln. Wahlweise kann man bei KOMA-Script auch auch recht einfach, die Verzeichnisse eine Ebene tiefer ansiedeln, also Abschnitte darauf machen:

\documentclass[12pt,BCOR=12mm,ngerman,listof=leveldown,listof=totoc]{scrbook}
\setuptoc{toc}{leveldown}

\usepackage{blindtext}
\usepackage{babel}

\begin{document}
\frontmatter
\addchap{Verzeichnisse}
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\blinddocument
\captionof{figure}{Beispielabbildung}
\captionof{table}{Beispieltabelle}
\end{document}

Inkonsistenz sollte man hingegen generell vermeiden.


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: ToC appearance to be customized/optimized

Beitrag von KOMA »

Ich stimme meinem Vorredner zwar zu, aber wenn man es unbedingt inkonsistent und zudem hässlich haben will, geht das mit KOMA-Script auch. Es gibt dafür sogar verschiedene Möglichkeiten. Hier die einfache über die Umschaltung der Abstände innerhalb der toc-Datei:

\documentclass[12pt,BCOR=12mm,ngerman,listof=totoc]{scrbook}
\usepackage{xpatch}
% Ich empfehle das folgende Vorgehen nicht, weil das Ergebnis inkonsistent
% und eher hässlich ist.
\makeatletter
\xapptocmd\frontmatter{%
  \addtocontents{\ext@toc}{%
    \protect\DeclareTOCStyleEntry[beforeskip=0pt]{chapter}{chapter}%
  }%
}{}{\PatchFailed}
\xapptocmd\mainmatter{%
  \addtocontents{\ext@toc}{%
    \protect\DeclareTOCStyleEntry[beforeskip=1em plus 1pt]{chapter}{chapter}%
  }
}{}{\PatchFailed}
\makeatother
\usepackage{blindtext}
\usepackage{babel}

\begin{document}
\frontmatter
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\blinddocument
\captionof{figure}{Beispielabbildung}
\captionof{table}{Beispieltabelle}
\end{document}

Und wenn das Abbildung- und Tabellenverzeichnis in total inkonsistenter Weise zwar Kapitel sein sollen, aber ins Inhaltsverzeichnis als Abschnitte eingetragen werden sollen, dann geht auch das:

\documentclass[12pt,BCOR=12mm,ngerman,listof=totoc]{scrbook}
% Leute verwendet den folgenden Code bitte nicht!
% Das Ergebnis ist einfach nur schrecklich!
% So etwas macht man nicht!
\makeatletter
\deftocheading{lof}{%
  \chapter*{#1}%
  \addsectiontocentry{}{#1}%
  \@mkdouble{#1}%
}
\deftocheading{lot}{%
  \chapter*{#1}%
  \addsectiontocentry{}{#1}%
  \@mkdouble{#1}%
}
\makeatother
\usepackage{blindtext}
\usepackage{babel}

\begin{document}
\frontmatter
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\blinddocument
\captionof{figure}{Beispielabbildung}
\captionof{table}{Beispieltabelle}
\end{document}

Merke: Man kann mit KOMA-Script viele Dinge machen – sogar solche, die man keinesfalls machen sollte.

Zuletzt geändert von KOMA am Do 2. Sep 2021, 12:44, insgesamt 1-mal geändert.

aiflow77
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 2. Sep 2021, 08:35

Re: ToC appearance to be customized/optimized

Beitrag von aiflow77 »

@Koma: Vielen, vielen Dank! Ihre fachkundige Einschätzung ist mir nicht unwichtig und daher frage ich Sie: Wie würden Sie das Inhaltsverzeichnis denn formatieren? Als Chapter mit den Standard-Abständen?

Ich bin gerade nicht zu Hause, werde das aber in wenigen Stunden implementieren und mich zurückmelden.

Könnten Sie mir auch noch Auskunft geben bzgl. der anderen angemerkten Dinge rund um die mit KOMA-Klassen inkompatiblen Pakete, die ich verwende?

Danke, das ist wirklich eine große Hilfe!


Antworten