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:
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 tocstyle
pacote, 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 tocstyle
para 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}
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}
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 tocstyle
que 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
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}