Bitte keine Silbentrennung in Inhaltsverzeichniseinträgen

Bitte keine Silbentrennung in Inhaltsverzeichniseinträgen

Ich habe einige sehr lange Abschnittstitel und möchte nicht, dass ihre Einträge im Inhaltsverzeichnis mit Bindestrichen versehen werden. Beispielausgabe

\documentclass{scrreprt}
%\usepackage[ngerman]{babel}
\usepackage{tocloft}
\cftsetindents{section}{0mm}{12mm}
\cftsetindents{chapter}{0mm}{12mm}

\begin{document}
\tableofcontents
\chapter{Introduction}
\section{This kind of problem, that kind of problem, other ones and further considerations}
\section{More problems, even more problems, much worse than these, headline hyphenation, and blablablablablablablablabla and XYZ-blablablablablablablablabla}
\end{document}

Durch einiges Googeln hatte ich den Eindruck, dass das helfen \renewcommand{\cftsecfont}{\raggedright}sollte, aber es tut es nicht.\begingroup \raggedright \tableofcontents \endgroupdie einzige (nicht akzeptierte) Antwort auf eine verwandte Frage. (Wenn ich das Kommentarzeichen entferne \usepackage{ngerman]{babel}, ändert sich interessanterweise die Silbentrennung von „conside-erations“ in „consi-derations“.)

Das Problem tritt auch auf, wenn ich nicht verwende tocloftoder die Dokumentklasse bookbeispielsweise in ändere (bei Silbentrennung).

Kann ich die Silbentrennung im Inhaltsverzeichnis vollständig entfernen, ohne sie für jedes einzelne Wort neu definieren zu müssen?! Bonuspunkte gibt es, wenn die Lösung nicht dazu führt, dass lange Wörter über die Zeile hinausgehen, wie das abschließende „blabla…“, und noch mehr Bonuspunkte, wenn Wortkombinationen, die von Anfang an einen Bindestrich enthalten („XYZ-blabla“), in dieselbe Zeile gebracht werden können.

Antwort1

Da Sie eine KOMA-Klasse verwenden, verwenden Sie am besten dietocstylePaket:

Bildbeschreibung hier eingeben

Der Code:

\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[tocflat]{tocstyle}

\newtocstyle{raggedstyle}{%
  \settocstylefeature[0]{entryhook}{\bfseries}
  \settocstylefeature[0]{leaders}{\hfill}
  \settocfeature{raggedhook}{\raggedright}
  \settocfeature{spaceafternumber}{17pt}
}
\usetocstyle{raggedstyle}

\begin{document}

\tableofcontents

\chapter{Introduction}
\section{This kind of problem, that kind of problem, other ones and further considerations}
\section{More problems, even more problems, much worse than these, headline with no hyphenation and somo more text goes here for the example}

\end{document}

Weitere Anpassungen finden Sie in der Paketdokumentation.

Antwort2

Ich denke, ich würde dazu neigen, die Antwort von Gonzalo Medina zu verwenden, da Sie verwenden scrreprt(und das Laden überspringen tocloft), aber eine tocloftLösung ist nicht zu schwierig (und auch für memoirBenutzer nützlich):

\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{tocloft}
\cftsetindents{section}{0mm}{12mm}
\cftsetindents{chapter}{0mm}{12mm}

\makeatletter
% \renewcommand{\@tocrmarg}{2.55em plus1fil}
\renewcommand{\@tocrmarg}{\@pnumwidth plus1fil} % <-- Revised
\makeatother

\begin{document}
\tableofcontents
\chapter{Introduction}
\section{This kind of problem, that kind of problem, other ones and further considerations}
\section{More problems, even more problems, much worse than these, headline hyphenation, and blablablablablablablablabla and XYZ-blablablablablablablablabla}

\end{document}

Sie sollten im Allgemeinen sicherstellen, dass der überarbeitete Wert für \@tocrmarg(Inhaltsverzeichnis rechter Rand) größer ist als der für \@pnumwidth(Seitenzahlbreite).

Antwort3

Die Verwendung des Pakets tocloftzusammen mit einer KOMA-Script-Klasse ist nicht zu empfehlen. Hier ein Vorschlag ohne dieses Paket und ohne Neudefinition eines internen Befehls:

\documentclass{scrreprt}
\RedeclareSectionCommands[
  tocindent=0mm,
  tocnumwidth=12mm,
  tocraggedentrytext
]{chapter,section}

\begin{document}
\tableofcontents
\chapter{Introduction}
\section{This kind of problem, that kind of problem, other ones and further considerations}
\section{More problems, even more problems, much worse than these, headline hyphenation, and blablablablablablablablabla and XYZ-blablablablablablablablabla}
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

toc=flatSie können anstelle der Einstellung auch die Klassenoption verwenden tocindent=0mmund tocnumwidth=12mm:

\documentclass[toc=flat]{scrreprt}
\RedeclareSectionCommands[
  tocraggedentrytext
]{chapter,section}

\begin{document}
\tableofcontents
\chapter{Introduction}
\section{This kind of problem, that kind of problem, other ones and further considerations}
\section{More problems, even more problems, much worse than these, headline hyphenation, and blablablablablablablablabla and XYZ-blablablablablablablablabla}
\end{document}

Beachten Sie, dass für die Ausrichtung ein zusätzlicher Lauf erforderlich ist.

Ergebnis:

Bildbeschreibung hier eingeben

Antwort4

Eine Lösung mit dem titletocPaket:

\documentclass{scrreprt}
\usepackage[showframe]{geometry}
%\usepackage[ngerman]{babel}
\usepackage{ragged2e}
\usepackage{fmtcount}
\usepackage{titletoc}
 \titlecontents{chapter}[12mm]
 {\contentsmargin{10mm}\bigskip\sffamily\bfseries\Large}
 {\contentslabel[\MakeUppercase{\romannumeral\thecontentslabel}]{12mm}}
 {}
 {\hfill\contentspage}[\medskip]


 \titlecontents{section}[12mm]
 { \rightskip=10mm plus 1fil\hyphenpenalty=10000\contentsmargin{2mm}}%
 {\contentslabel[\thecontentslabel.]{12mm}}
 {}
 {\hskip2pt\titlerule*[6pt]{.}\contentspage}


\begin{document}
\tableofcontents

\setcounter{page}{100}
\chapter{Introduction}
\section{This kind of problem, that kind of problem, other ones and further considerations}
\section{More problems, even more problems, much worse than these, headline hyphenation, and blablablablablablablablabla and XYZblablablablablablablablabla}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen