Índice no scrbook/komascript: adicione pontos aos títulos dos capítulos

Índice no scrbook/komascript: adicione pontos aos títulos dos capítulos

Preciso personalizar a aparência do meu índice de acordo com os requisitos de um editor.

Aqui está um exemplo mínimo de como está agora:

\documentclass{scrbook}

\begin{document}

\frontmatter

\tableofcontents

\chapter{Preface}

\mainmatter

\part{First part}

\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\section{Second section}

\chapter{Second chapter}

\end{document}

Isso produz algo parecido com isto:


Captura de tela do meu sumário atual


Agora meu editor solicitou que ocapítuloos títulos devem ter pontos entre o título e o número da página.

Encontrei o tocstylepacote, mas não entendo sua documentação. Nem tenho certeza se o pacote me permite fazer o que preciso. Alguém pode fazer sugestões sobre como conseguir o que desejo? Obrigado.

Editar:Preciso remover os números das páginas das peças também. Publiquei esse requisito na minha pergunta original, mas várias perguntas por tópico foram desencorajadas. No entanto, mais tarde descobriu-se que isso pode realmente fazer a diferença também para a pergunta feita aqui: Se eu usar tocstylepara suprimir os números das peças das páginas, isso pode afetar as soluções postadas aqui para eliminar os pontos dos capítulos.

Responder1

Não use o pacote tocloft(mencionado em sua própria resposta) junto com uma classe KOMA-Script.

Existe uma opção KOMA-Script para preencher o espaço entre o título do capítulo e o número da página no TOC com pontos:

\KOMAoptions{toc=chapterentrydotfill}

insira a descrição da imagem aqui


Se os números das páginas dos títulos dos capítulos não devem estar em negrito, use

\addtokomafont{chapterentrypagenumber}{\mdseries}

Também é possível remover o número da página dos títulos das peças do sumário:

\addtokomafont{partentrypagenumber}{\nullfont}

insira a descrição da imagem aqui

Código:

\documentclass[toc=chapterentrydotfill]{scrbook}
\addtokomafont{chapterentrypagenumber}{\mdseries}
\addtokomafont{partentrypagenumber}{\nullfont}
\begin{document}
\frontmatter
\tableofcontents
\chapter{Preface}
\mainmatter
\part{First part}
\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\section{Second section}
\chapter{Second chapter}
\end{document}

Também é possível usar o pacote tocstyleque faz parte do pacote KOMA-Script. Para obter pontos entre os títulos de todos os níveis e os números das páginas no sumário, use

\usetocstyle{allwithdot}

como já sugerido por @Peter Ebelsberger. Para remover os pontos e os números de página dos títulos das peças no sumário, adicione

\settocstylefeature[-1]{leaders}{\hfill}
\settocstylefeature[-1]{pagenumberhook}{\nullfont}

MWE:

\documentclass{scrbook}
\usepackage{tocstyle}
\usetocstyle{allwithdot}
\settocstylefeature[-1]{leaders}{\hfill}
\settocstylefeature[-1]{pagenumberhook}{\nullfont}
\begin{document}
\frontmatter
\tableofcontents
\chapter{Preface}
\mainmatter
\part{First part}
\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\section{Second section}
\chapter{Second chapter}
\end{document}

Corra várias vezes para obter

insira a descrição da imagem aqui

Responder2

\documentclass{scrbook}

\usepackage{tocstyle}
\usetocstyle{allwithdot}
\begin{document}

\frontmatter

\tableofcontents

\chapter{Preface}

\mainmatter

\part{First part}

\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\section{Second section}

\chapter{Second chapter}

\end{document}

Responder3

Encontrei isso em outro lugar:

\RequirePackage{tocloft}
\let\partbackup\l@part  % create a backup copy of the part definition
\renewcommand*\l@part[2]{\partbackup{#1}{}}  % redefine part in order to leave out the page number for part
\renewcommand{\cftchapdotsep}{\cftdotsep}  % add dots for chapter entries
\renewcommand{\cftchapleader}{\cftdotfill{\cftchapdotsep}}  % add dots for chapter entries
\renewcommand{\cftchappagefont}{\mdseries}  % define chapter page numbers to be printed in normal font, not bold

As pessoas concordariam que esta é uma boa solução ou existem efeitos colaterais dos quais não tenho conhecimento?

Responder4

Com o novo tocloft, funciona da seguinte forma:

\DeclareTOCStyleEntry[%
  level=\chaptertocdepth,
  linefill=\TOCLineLeaderFill,
]{chapter}{chapter}

informação relacionada