Я пытаюсь понять, как использовать titletoc
, и мне удалось настроить внешний вид записей глав в ToC, но у меня не получается с \part. Я не могу понять, что я делаю не так.
Вот код:
\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}
И вот что получилось:
Как вы видите, запись главы выглядит так, как и хотелось (\sffamily\заглавный текст и цветной номер). Однако \part просто не работает.
Как мне получить аналогичное форматирование для \part?
решение1
Сначала вам необходимо переопределить форматирование частей titlesec
, как вы прочитали в § 3.7, Другие параметры пакета документации:
Стандартные части записывают номер записи toc нестандартным способом. Вы можете изменить это с помощью newparttoc, чтобы titletoc или аналогичный пакет мог манипулировать записью. (Это работает только если \part был переопределен.)
Поэтому я использовал \titleformat{\part}...
, чтобы воспроизвести форматирование по умолчанию в book
(конечно, вы можете его изменить):
\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}