Seite 1 von 2

Abstände in Verzeichnissen wegen Zeilenumbrüchen anpassen

Verfasst: Do 4. Dez 2014, 14:44
von LarsVegas
Hallo liebe Latex-Gemeinde,

bei meiner Studienarbeit habe ich ein (optisches bzw. ästhetisches) Problem mit dem Inhalts- und Abbildungsverzeichnis: Der Titel einer Subsection und der Titel (Caption) eines Bildes sind zu lang, sie benötigen deswegen in ihren jeweiligen Verzeichnissen einen Zeilenumbruch. Dafür sorgt Latex zwar auch, aber die Wörter am Ende der Zeilen lassen sich nicht passig trennen, sodass die Schrift nicht bündig mit den anderen Einträgen der Verzeichnisse bzw. mit den ihnen folgenden Punkten abschließt. Umbenennen möchte ich die beiden Einträge nicht, daher würde ich gerne den Absatnd zwischen dem rechten Rand der "Spalte" in der die Einträge stehen (also da, wo eigentlich umgebrochen werden sollte) und den folgenden Seitenzahlen vergrößern.

Ich hoffe ich konnte mich verständlich ausdrücken und ihr habt ein paar nicht zu komplizierte Vorschläge für mich! (Das Nachlesen in der Dokumentation hat mich nicht weitergebracht, vielleicht bin ich aber auch nur zu blöd, das dort Geschriebene zu verstehen!)

Hier ein (hoffentlich weitestgehend) minimalisiertes Beispiel:
\documentclass[a4paper, twoside, 12pt]{scrartcl}
\usepackage[inner=27mm, outer=27mm, top=27mm, bottom=27mm, headsep=10mm, footskip=12mm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\parindent 0pt
\parskip 12pt
\usepackage{setspace}

\usepackage[font=footnotesize]{caption}
\usepackage{tocloft}
\renewcommand{\cftfigpresnum}{Abb. }
\setlength{\cftfignumwidth}{1.8cm}
\setlength{\cftfigindent}{0cm}

\begin{document}

\renewcommand{\figurename}{Abb.}
\pagenumbering{roman}
\tableofcontents\newpage
\listoffigures\addcontentsline{toc}{section}{Abbildungsverzeichnis}\newpage
\clearpage
\onehalfspacing
\pagenumbering{arabic}

\section{Absatzmärkte und Preisbildungsmechanismen für niedrigpreisige Sekundärrohstoffe am Beispiel der Eisen- und Stahlerzeugung}
\subsection{Kuppelprodukte aus der Eisen- und Stahlerzeugung und ihre Einsatzmöglichkeiten als Sekundärrohstoffe}
\subsection{Marktabgrenzung für Sekundärrohstoffe aus der Eisen- und Stahlerzeugung}
\subsubsection{Voreinschätzung und allgemeines Vorgehen}
\subsubsection{Hüttensand für die Zementherstellung}
\begin{figure}
\caption{Eisenerzeugung, Kalksteinvorkommen und Zementherstellung in Deutschland}
\end{figure}
\subsubsection{Hochofenstückschlacke und Stahlwerksschlacke als Baustoffe}
\subsection{Preisbildung auf den Absatzmärkten für Sekundärrohstoffe aus der Eisen- und Stahlerzeugung}

\end{document}

Wie ihr hoffentlich sehen könnt ragt im Inhaltsverzeichnis der Eintrag 1.2 über den eigentlichen Rand hinaus. Im Abbildungsverzeichnis dasselbe Problem.

Danke für eure Hilfe!

Verfasst: Do 4. Dez 2014, 15:08
von Johannes_B
Rein inhaltlich eine Anmerkung, auch wenn du es nicht hören willst: Die Section benennt die Eisen- und Stahlerzeugung, jeder einzelne Unterabschnitt benennt dieses Gebiet erneut. Doppelt-gemoppelt würde man hier sagen.

Verfasst: Do 4. Dez 2014, 15:56
von Besserwisser
BTW: Aus den ganzen \newpage schließe ich, dass du eigentlich echte Kapitel willst,also scrreprt oder scrbook statt scrartcl verwenden solltest. Aus der römischen Nummerierung des Vorderteils schließe ich, dass du eigentlich mit scrbook am besten bedient wärst. Die \addcontentsline-Anweisung ist falsch platziert und bei Verwendung einer KOMA-Script-Klasse wie scrartcl oder scrbook ohnehin besser per Option listof oder toc zu erledigen. Die Verwendung von tocloft ist für KOMA-Script-Klassen auch nicht notwendig. Man kann dort per Option dafür sorgen, dass die Abbildungen (und konsistenter Weise auch die Tabellen) im Verzeichnis mit einem Präfix versehen werden. Und das Gefummel an \parindent und \parskip ist nicht nur bei den KOMA-Script-Klassen der falsche Weg. Die KOMA-Script-Klassen haben dafür eine Option. Sieht für mich so aus, als solltest du zumindest die KOMA-Script-Anleitung oder das KOMA-Script-Buch mal lesen.

Verfasst: Do 4. Dez 2014, 17:34
von LarsVegas
@ Johannes_B: Den Hinweis finde ich nicht schlecht, das werde ich tatsächlich noch einmal überdenken. Danke!

@ Besserwisser: Deine Schlussfolgerung mit \newpage kann ich nicht nachvollziehen! \newpage verwende ich doch lediglich am Anfang bei den Verzeichnissen, im eigentlichen Hauptteil kommt es nicht einmal vor.

Gibt es denn abgesehen von den mit Sicherheit begründeten Hinweisen nun auch noch eine Möglichkeit die angesprochenen Abstände zu verändern?

Verfasst: Do 4. Dez 2014, 17:59
von u_fischer
Gibt es denn abgesehen von den mit Sicherheit begründeten Hinweisen nun auch noch eine Möglichkeit die angesprochenen Abstände zu verändern?
Interessantes Problem. Ich verstehe nicht genau, warum LaTeX da keinen Zeilenumbruch macht. Muss ich mal auf tex.sx diskutieren. Als Work-around kannst du sowas machen:

\subsection{Marktabgrenzung für Sekundärrohstoffe aus der Eisen- und Stahlerzeugung\protect\hspace{0pt}}

Verfasst: Do 4. Dez 2014, 18:20
von LarsVegas
Danke u_fischer! Ich verstehe zwar nicht ganz, was da passiert, aber für den Eintrag im Inhaltsverzeichnis klappt's! Mit \caption scheint es nichts zu bringen, aber immerhin!

Ich war wirklich stark davon ausgegangen, dass es am einfachsten sei, die Abstände zwischen den Einträgen der Verzeichnisse und den Seitenzahlen bzw. die Breite der Einträge der Verzeichnisse zu verändern, da aber niemand darauf eingegangen ist, scheint dies nicht ganz so einfach zu sein wie gedacht.

Jetzt stellt sich die Frage was schlimmer aussieht, die Trennung mit nur einer Silbe in der neuen Zeile oder das Schreiben über dem (gedachten) Rand hinaus... Habe auch noch weitere Einträge, bei denen unglücklich umgebrochen wird, sodass nur eine Silbe in die nächste Zeile rutscht, daher hätte die Anpassung der "Spaltenbreite" schon ihren Reiz gehabt!

Verfasst: Fr 5. Dez 2014, 09:44
von u_fischer
Nun, eine Nacht Schlaf und eine Diskussion auf tex.sx hat die Frage geklärt:

1. Dass die letzte Zeile eines Verzeichniseintrags "überstehen" kann, ist per Design so gewollt (um die von dir monierte "die Trennung mit nur einer Silbe in der neuen Zeile" zu vermeiden). Das Verhalten kann man natürlich ändern, in dem man z.B. \@dottedtocline umdefiniert, oder indem man die Verzeichnisse \raggedright setzt.

2. Dass \protect\hspace{0pt} in diesem Fall funktioniert, liegt an TeX-Feinheiten und man kann sich nicht darauf verlassen, dass es überall funktioniert.

3. Die Spaltenbreite kann man natürlich ändern, aber möglicherweise verschiebt das nur das Problem und es sind dann einfach andere Einträge, die "überstehen".

Verfasst: Fr 5. Dez 2014, 09:50
von LarsVegas
Guten Morgen u_fischer! Danke für das Licht, dass nun langsam ins Dunkle kommt! Darf ich dann noch einmal zu Punkt 3 nachhaken? Wie geht es denn? Welcher Parameter ist dafür zuständig? Kann mir auch vorstellen, dass es knifflig wird, weil eventuell das Problem nur verlagert wird, würde aber gerne mal mit dem Parameter rumspielen.

Verfasst: Fr 5. Dez 2014, 09:56
von Johannes_B

Verfasst: Fr 5. Dez 2014, 10:09
von u_fischer
LarsVegas hat geschrieben:Guten Morgen u_fischer! Danke für das Licht, dass nun langsam ins Dunkle kommt! Darf ich dann noch einmal zu Punkt 3 nachhaken? Wie geht es denn? Welcher Parameter ist dafür zuständig? Kann mir auch vorstellen, dass es knifflig wird, weil eventuell das Problem nur verlagert wird, würde aber gerne mal mit dem Parameter rumspielen.
\makeatletter\renewcommand\@tocrmarg{6cm} %default 2.55em
             \renewcommand\@pnumwidth{3cm} % 1.55em
\makeatother