Wörtertrennung im Inhaltsverzeichnis

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Manu3790
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Mi 6. Jul 2016, 14:00

Wörtertrennung im Inhaltsverzeichnis

Beitrag von Manu3790 »

Hallo Zusammen,

weiß jemand, warum die Wörtertrennun im Inhaltsverzeichnis nicht funktioniert? Stattdessen schreibt Latex einfach über den Rand hinaus weiter...

Gibt es eine Möglichkeit, einen Zeilenumbruch zu erzwingend, bzw. wie kann eine richtige Silbentrennung realisiert werden?

Vielen Dank für eure Hilfe!

Anbei ein Minimalbeispiel:
\documentclass[%
12pt,
ngerman,   
a4paper,
]{scrbook}

\usepackage{tabularx}
\usepackage{array}
\usepackage{booktabs} % nicer tables
\usepackage{rotating}
\newcommand\tabrotate[1]{\begin{turn}{90}\rlap{#1}\end{turn}}
\usepackage{varwidth}
\newcommand\tabvarwidth[2][3cm]{\begin{varwidth}[b]{#1}\centering #2\end{varwidth}}
\usepackage{colortbl}
\usepackage{multirow}

\hyphenation{Se-gel-boot-Schlaf-sack-decke}

\begin{document}
	\tableofcontents 				
	\clearpage	
	\chapter{Dies............... ist ein Test um zu zeigen, dass die Silbentrennung nicht funktioniert}
	\chapter{Blabblabatesttest Testtesttesttesttesttest test testtesttest Segelboot-Schlafsackdecke}
	\section{Dies ist ein Test um zu zeigen, dass die Silbentrennung nicht funktioniert}
	
\end{document}

Gast

Beitrag von Gast »

Problemanalyse:
  1. Korrekte Sprache nicht angegeben.
  2. Komposita mit Bindestrich werden nur am Bindestrich getrennt.
  3. \hyphenation offensichtlich nicht verstanden.
  4. [d]babel-german[/d]-Anleitung nicht gelesen.
Alles nachgeholt ergibt schon einmal:
\documentclass[%
12pt,
ngerman,   
a4paper,
]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{array}
\usepackage{booktabs} % nicer tables
\usepackage{rotating}
\newcommand\tabrotate[1]{\begin{turn}{90}\rlap{#1}\end{turn}}
\usepackage{varwidth}
\newcommand\tabvarwidth[2][3cm]{\begin{varwidth}[b]{#1}\centering #2\end{varwidth}}
\usepackage{colortbl}
\usepackage{multirow}

\hyphenation{Schlaf-sack-decke}

\begin{document}
   \tableofcontents             
   \clearpage   
   \chapter{Dies............... ist ein Test um zu zeigen, dass die Silbentrennung nicht funktioniert}
   \chapter{Blabblabatesttest Testtesttesttesttesttest test testtesttest Segelboot"=Schlaf"-sackdecke}
   \section{Dies ist ein Test um zu zeigen, dass die Silbentrennung nicht funktioniert}
   
\end{document}
Dann könnte man noch microtype laden, allerdings werden Features davon im Inhaltsverzeichnis aus gutem Grund, ganz bewusst abgeschaltet.

Und ja, wenn man das erweiterte optionale Argument für die Gliederungsbefehle nutzt, das in der KOMA-Script-Anleitung und im KOMA-Script-Buch dokumentiert ist, dann kann man auch harte Umbrüche in das Inhaltsverzeichnis schreiben, beispielsweise:
\documentclass[%
12pt,
ngerman,   
a4paper,
headings=optiontotoc,
]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{array}
\usepackage{booktabs} % nicer tables
\usepackage{rotating}
\newcommand\tabrotate[1]{\begin{turn}{90}\rlap{#1}\end{turn}}
\usepackage{varwidth}
\newcommand\tabvarwidth[2][3cm]{\begin{varwidth}[b]{#1}\centering #2\end{varwidth}}
\usepackage{colortbl}
\usepackage{multirow}
\usepackage{microtype}
\hyphenation{Schlaf-sack-decke}

\begin{document}
   \tableofcontents             
   \clearpage   
   \chapter{Dies............... ist ein Test um zu zeigen, dass die Silbentrennung nicht funktioniert}
   \chapter[Blabblabatesttest Testtesttesttesttesttest test testtesttest Segelboot-\\Schlafsackdecke]{Blabblabatesttest Testtesttesttesttesttest test testtesttest Segelboot-Schlafsackdecke}
   \section{Dies ist ein Test um zu zeigen, dass die Silbentrennung nicht funktioniert}
   
\end{document}

Gast

Beitrag von Gast »

BTW: ca. die Hälfte des Codes einschließlich des \clearpage sind min. für das Minimalbeispiel überflüssig.

Manu3790
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Mi 6. Jul 2016, 14:00

Vielen Dank!

Beitrag von Manu3790 »

Vielen Dank für deine Hilfe!

Sorry, wegen des Minimalbeispiels.

Hier das korrekte Beispiel:
\documentclass[%
12pt,
ngerman,  
a4paper,
]{scrbook}
\usepackage[ngerman]{babel}


\hyphenation{Schlaf-sack-de-cke}

%\hyphenation{Schlaf-sack-decke}

\begin{document}
   \tableofcontents            
   \clearpage  
   \chapter{Dies............... ist ein Test um zu zeigen, dass die Silbentrennung nicht funktioniert}
   \chapter{Blabblabatesttest Testtesttesttesttesttest test testtesttest Segelboot"=Schlaf"-sackdecke}
   \section{Dies ist ein Test um zu zeigen, dass die Silbentrennung nicht funktioniert}
   
\end{document}

Antworten