我遇到了一个奇怪的问题:我想\part
按照与以下相同的方式更改目录中的数字\chapter
:
我使用以下命令来实现章节标题:
\renewcommand{\cftchappresnum}{\color{myred}}
我也用它来改变我的和标题titlesec
的外观。当我现在尝试使用\part
\chapter
\renewcommand\cftpartpresnum{\color{myred}}
更改\part
数字,什么都没发生,我得到了上面的输出。我没有收到任何错误。我整理了一个 MWE,在那里我能够重现这个问题。我觉得很奇怪,titlesec
和tocloft
不兼容。
我找到了一种解决方法,但会产生一个问题,即现在 pdf 书签带有我使用的“颜色代码”。这显然并不理想。因此,我现在不想通过尝试覆盖书签名称来解决这个问题,而是想解决和之间的这个tocloft
问题titlesec
。
\renewcommand{\thepart}{\color{myred}\Roman{part}\color{black}}
我将包括 MWE 和我用来修改我的\part
使用的代码titlesec
:
梅威瑟:
\documentclass{book}
\usepackage{titlesec}
\usepackage[dvipsnames]{xcolor}
\definecolor{myred}{RGB}{239, 0, 0}
\definecolor{myblue}{RGB}{0,0,200}
\PassOptionsToPackage{pdfpages}{xcolor}
\usepackage{tocloft}
\renewcommand\cftpartpresnum{\color{myred}}
\renewcommand{\cftchappresnum}{\color{myblue}}
\begin{document}
\tableofcontents
\part{Trial name of Part}
this is a blind text
\chapter{Trial chapter}
this is more blind text
\section{Trial section}
\end{document}
修改代码:
\usepackage{titlesec}
\titleformat{\part}[display]
{\Huge\fontsize{30pt}{60pt}\filcenter}{\partname{} \color{myred}\thepart}{0em}
\makeatother
答案1
由于您使用titlesec
,我建议您titletoc
在以下位置加载其配套包tocloft
:
\documentclass{book}
\usepackage[showframe]{geometry}
\usepackage[newparttoc] {titlesec}
\titleformat{\part}[display]
{\Huge\fontsize{30pt}{60pt}\filcenter}{\partname{} \color{myred}\thepart}{0em}
\makeatother
\usepackage{titletoc}
\usepackage[dvipsnames, pdfpages]{xcolor}
\definecolor{myred}{RGB}{239, 0, 0}
\definecolor{myblue}{RGB}{0,0,200}
\titlecontents{part}[1.5em]{\large\bfseries}
{\contentslabel[\color{myred} \thecontentslabel]{1.1em}}
{}
{\hfill\contentspage}
\begin{document}
\tableofcontents
\part{Trial name of Part}
this is a blind text
\chapter{Trial chapter}
this is more blind text
\section{Trial section}
\end{document}