使い方を理解しようとしており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\uppercase テキストと色付きの数字)。ただし、\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}