我试图了解如何使用titletoc
,并成功自定义了目录中章节条目的外观,但使用 \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 节“其他包选项”中读到:
标准部分以非标准方式写入目录条目编号。您可以使用 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}