使用 `titletoc` 格式化目录中的 \part 条目时出现问题

使用 `titletoc` 格式化目录中的 \part 条目时出现问题

我试图了解如何使用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} 

在此处输入图片描述

相关内容