在目录中,我希望章节显示如下
第 1 章:前言
和
第 4 章:高级主题
我尝试修改\l@chapter
MWE 中显示的命令,但我得到的实际上是
第一章 前言:
如何修复?
我想在不使用titletoc
或 的情况下做到这一点tocloft
。
\documentclass{book}
\makeatletter
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1.0em \@plus\p@
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\leftskip\@tempdima
\hskip -\leftskip
Chapter #1:\nobreak\hfil % <<<--- Changed
\nobreak\hb@xt@\@pnumwidth{\hss #2%
\kern-\p@\kern\p@}\par
\penalty\@highpenalty
\endgroup
\fi}
\begin{document}
\tableofcontents
\chapter{Preface}
\end{document}
答案1
章节号打印在\@chapter
命令中,而不是在\l@chapter
命令中。因此,您需要修补这两个命令,以便在不使用 TOC 包之一的情况下执行您想要的操作:
\documentclass{book}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\l@chapter}{#1}{\chaptername{} #1}{}{}
\patchcmd{\@chapter}{\numberline{\thechapter}}{\numberline{\thechapter:}}{}{}
\makeatother
\begin{document}
\tableofcontents
\chapter{Preface}
\end{document}