Estou tentando entender como usar titletoc
e consegui personalizar a aparência das entradas dos capítulos no ToC, mas estou falhando com o \part. Não consigo entender o que estou fazendo de errado.
Aqui está o código:
\documentclass{book}
\usepackage{xcolor}
\usepackage{titletoc}
\titlecontents{chapter}[0pt]{\vspace{1em}}{%
{%
\rlap{\large\bfseries\color{blue}\thecontentslabel}%
\hspace*{1.5em}%
}%
\large\sffamily\uppercase
}{}{}
\titlecontents{part}[0pt]{\vspace{1em}}{%
{%
\rlap{\large\bfseries\color{blue}\thecontentslabel}%
\hspace*{1.5em}%
}%
\large\sffamily\uppercase
}{}{}
\begin{document}
\tableofcontents
\part{First Part}
\chapter{First Chapter}
\end{document}
E aqui está a saída:
Como você pode ver, a entrada do capítulo tem a aparência desejada (\sffamily\texto em maiúscula e número colorido). No entanto, a parte simplesmente não funciona.
Como posso obter formatação semelhante para \part também?
Responder1
Você deve redefinir a formatação da peça titlesec
primeiro, porque você leu em § 3.7, Outras opções de pacote da documentação:
As partes padrão escrevem o número de entrada do toc de uma forma não padrão. Você pode alterar isso com newparttoc para que titletoc ou um pacote semelhante possa manipular a entrada. (Isso funciona apenas se \part tiver sido redefinido.)
Portanto, usei \titleformat{\part}...
, para reproduzir a formatação padrão no book
(claro, você pode alterar isso):
\documentclass{book}
\usepackage{xcolor}
\usepackage[newparttoc]{titlesec}
\usepackage{titletoc}
\titleformat{\part}[display]{\centering\bfseries\Huge}{\huge\partname~\thepart}{2ex}{}
\titlecontents{chapter}[0pt]{\vspace{1em}}{%
{%
\rlap{\large\bfseries\color{blue}\thecontentslabel}%
\hspace*{1.5em}%
}%
\large\sffamily\uppercase
}{}{}
\titlecontents{part}[0pt]{\vspace{1em}}{%
{%
\rlap{\large\bfseries\color{blue}\thecontentslabel}%
\hspace*{1.5em}%
}%
\large\sffamily\uppercase
}{}{}
\begin{document}
\tableofcontents
\part{First Part}
\chapter{First Chapter}
\end{document}