J'utilise la classe book sur windows 10 avec TeX Live 2019.

Je voudrais ajouter les mots « Première partie », « Deuxième partie » etc. avant les entrées dans la table des matières à la place des numéros I, II etc.

J'ai essayé d'utiliser les packages titletoc et tocloft mais sans succès.

Quelqu'un a-t-il déjà résolu un tel problème ?

Voici un ECM :

Ouvrir dans l'éditeur Overleaf
\documentclass[french]{book}

\usepackage[T1]{fontenc}

\usepackage[utf8]{inputenc}

\usepackage{babel}

\begin{document}

\tableofcontents

\part{Titre de la partie 1}

\part{Titre de la partie 2}

\part{Titre de la partie 3}

\end{document}

Voici le résultat :

alt text

Posée 27 Oct '19, 07:38

Hugues's gravatar image

Hugues
772916
Taux d'acceptation : 25%

Modifiée 27 Oct '19, 19:15

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

Quel est la classe du document ? Vraiment book ou article ?

(27 Oct '19, 10:22) touhami touhami's gravatar image
3

Voir ma réponse à cette question.

(27 Oct '19, 11:43) touhami touhami's gravatar image

@touhami : La classe du document réel est book mais j'ai utilisé la classe article dans mon ECM.

(27 Oct '19, 11:53) Hugues Hugues's gravatar image

Voici une possibilité avec titlesec, titletoc et fmtcount. À noter que cela ne fonctionne pas avec cleveref.

\documentclass[french]{book}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{fmtcount, etoolbox}
\usepackage[newparttoc]{titlesec}
\usepackage{titletoc}
\usepackage{hyperref}

\renewcommand\thepart{\Ordinalstring{part}[f]}

 \titleformat{\part}[display]
 {\bfseries\filright}
 {\huge\Ordinalstring{part}[f] partie}
 {20pt}
 {\thispagestyle{empty}\Huge}%}

 \titlecontents{part}[0pt]{\addvspace{2pc}\Large \bfseries }{\thecontentslabel~ partie\newline\LARGE}{}{\hfill\thecontentspage}[\medskip]%

\begin{document}

\tableofcontents

\part{Titre de la partie 1}
La \ref{part2} partie
\part{Titre de la partie 2}
\label{part2}
\part{Titre de la partie 3}

\end{document}

alt text

Lien permanent

Publiée 27 Oct '19, 16:24

Bernard's gravatar image

Bernard
4.6k15
Taux d'acceptation : 35%

Modifiée 21 Mai '21, 12:31

samcarter's gravatar image

samcarter
8.2k2817

@Bernard : Je voudrais que vous nous proposiez aussi un code où "Première partie" et "Titre de la partie 1" seront sur la même ligne.

(28 Oct '19, 00:32) Hugues Hugues's gravatar image
1

@Hugues: Je vois tardivement votre dernier message, désolé. Il suffit, dans \titlecontents{part}{...}, de remplacer \newline, par exemple, par :\, ou tout autre ponctuation qui vous conviendra

(28 Oct '19, 19:09) Bernard Bernard's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.