根据这里和互联网上其他地方的其他答案,要在目录中的零件编号前添加“零件”,请执行以下操作:
\usepackage{tocloft}
\renewcommand\cftpartpresnum{Part~}
但是,我花了两个小时试图弄清楚为什么它对我不起作用,最终发现这是因为我正在使用该titlesec
包。以下是显示问题的 MWE:
\documentclass{book}
\usepackage{titlesec}
\usepackage{tocloft}
\renewcommand\cftpartpresnum{Part~}
\begin{document}
\tableofcontents
\part{Beginnings}
\chapter{Things}
\chapter{More Things}
\end{document}
删除\usepackage{titlesec}
即可修复。
鉴于我正在使用titlesec
样式来设置章节和部分标题,如何在目录中的部分编号前添加“Part~”文本?
答案1
您要避免同时使用 titletoc/titlesec 和 tocloft。选择其中一个。这是一个您可以适应的模型。
\documentclass{book}
\usepackage{titlesec,titletoc}
%\usepackage{tocloft}
%\renewcommand\cftpartpresnum{Part~}
\titlecontents{part}%
[0pt]{\sffamily\bfseries\large\protect\addvspace{15pt}\titlerule\addvspace{1.5ex}}%remove rule if you like
{}{\partname~}
{\hfill\contentspage}%replaced with {} if don't want page number for parts
[\addvspace{0.7ex}\titlerule\addvspace{1.5ex}]%remove rule if you like
\begin{document}
\tableofcontents
\part{Beginnings}
\chapter{Things}
\chapter{More Things}
\end{document}