Seite 1 von 1

Wörtertrennung im Inhaltsverzeichnis

Verfasst: Do 10. Mai 2018, 18:24
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}

Verfasst: Do 10. Mai 2018, 19:51
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}

Verfasst: Do 10. Mai 2018, 19:53
von Gast
BTW: ca. die Hälfte des Codes einschließlich des \clearpage sind min. für das Minimalbeispiel überflüssig.

Vielen Dank!

Verfasst: Fr 11. Mai 2018, 09:45
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}