Sin guiones en las entradas del TOC, por favor

Sin guiones en las entradas del TOC, por favor

Tengo algunos títulos de secciones muy largos y no quiero que sus entradas en el TOC tengan guiones. salida de ejemplo

\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}

Al buscar en Google, tuve la impresión de que \renewcommand{\cftsecfont}{\raggedright}debería ayudar, pero no es así. Tampoco \begingroup \raggedright \tableofcontents \endgroupdesdela única respuesta (no aceptada) a una pregunta relacionada. (Cuando descomento \usepackage{ngerman]{babel}, la separación de palabras de "consideraciones" cambia a "consideraciones", curiosamente).

El problema también ocurre cuando no uso toclofto cuando cambio la clase del documento a book, por ejemplo (con separación de palabras en diferentes sílabas).

¿Puedo hacer que la separación de palabras en el TOC desaparezca por completo, sin tener que redefinirla para cada palabra ofensiva? Puntos de bonificación si la solución no hace que las palabras largas se pasen de la línea como el "blabla..." final, incluso más puntos de bonificación si se pueden incluir combinaciones de palabras que contienen un guión al principio ("XYZ-blabla") misma línea.

Respuesta1

Dado que está utilizando una clase KOMA, el camino a seguir es utilizar eltocstylepaquete:

ingrese la descripción de la imagen aquí

El código:

\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}

Consulte la documentación del paquete para realizar más ajustes.

Respuesta2

Creo que me inclinaría a usar la respuesta de Gonzalo Medina dado que estás usando scrreprt(y omitiendo la carga tocloft), pero la tocloftsolución no es demasiado complicada (y también útil para memoirlos usuarios):

\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}

En general, debe asegurarse de que el valor revisado para \@tocrmarg(TOC Right MARGin) sea mayor que el de \@pnumwidth(Page NUMber WIDTH).

Respuesta3

tocloftNo se recomienda el uso del paquete junto con una clase KOMA-Script. Aquí hay una sugerencia sin este paquete y sin la redefinición de un comando interno:

\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}

Resultado:

ingrese la descripción de la imagen aquí

También puedes usar la opción de clase toc=flaten lugar de configurar tocindent=0mmy 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}

Tenga en cuenta que se necesita un tramo adicional para la alineación.

Resultado:

ingrese la descripción de la imagen aquí

Respuesta4

Una solución con el titletocpaquete:

\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} 

ingrese la descripción de la imagen aquí

información relacionada