在目录中的“部分”编号前添加文字

在目录中的“部分”编号前添加文字

我想在部分编号前添加“Partie”,它只出现在文本中,而不出现在目录中。它适用于章节、小节等,但不适用于使用更新命令的部分。

这是 MWE:

\documentclass[12pt,a4paper]{report}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}
\author{...}
\usepackage{setspace}
\setcounter{secnumdepth}{5}
\usepackage{tocloft}
\makeatletter
\@addtoreset{section}{part}
\makeatother
\renewcommand{\thepart}{\Roman{part} :}
\renewcommand{\cftpartpresnum}{Partie~}
\usepackage{titlesec}
\titleformat{\part}{\huge\bfseries}{}{0pt}{Partie \thepart\quad}
\begin{document}
\tableofcontents
\part{Test}
test test
\part{Test}
test test

预先感谢您的帮助。

答案1

来自tocloft 文档(部分2.3 条目排版):

在标准类中,目录条目 a\part仅排版为编号和标题,后跟页码, \cftpartpresnum 在排版编号和标题之前调用宏。由于 LaTeX 的思想不合,\cftpartpresnum如果第三方包的行为与默认的内部 LaTeX 命令不同,则输出可能会加倍。该tocloft包包含特定代码,以防止 KomaScript 类和titlesec包出现这种情况;如果您发现其他包也表现出这种不当行为,请联系维护者添加进一步的更正。

当使用标准类时,\cftpartaftersnum\cftpartaftersnumb宏不起作用,但如果使用非标准类,它们可能会产生一些作用。

至少有一点,我们知道tocloft和之间存在一些兼容性问题titlesectitlesec(为特定 ToC 包提供动机titletoc)。

添加

\renewcommand{\cftpartpresnum}{Partie~}
\let\cftoldpartfont\cftpartfont
\renewcommand{\cftpartfont}{\cftoldpartfont\cftpartpresnum}

在您的文档序言中,在目录中\cftpartpresnum紧接着添加:\cftpartfont

在此处输入图片描述

答案2

这是您想要的吗?它现在显示Partie在零件编号之前,在文本和目录中均显示。

注意:我稍微清理了一下您的 MWE,以便集中精力解决手头的问题。您甚至不需要tocloft此包。

\documentclass[12pt,a4paper]{report}

\renewcommand{\thepart}{Partie \Roman{part} :}

\usepackage{titlesec}
\titleformat{\part}{\huge\bfseries}{}{0pt}{\thepart\quad}

\begin{document}
\tableofcontents

\part{Test}
test test

\part{Test}
test test

\end{document}

在此处输入图片描述 在此处输入图片描述

相关内容