Post by plebeienMerci pour la réponse.
J'ai repris tes lignes et je les ai un peu trifouillé pour les adapter
\renewcommand{\thechapter}{\Roman{chapter}}
\settowidth{\cftchapnumwidth}{\cftchapfont\chaptername~XXX}
\renewcommand\cftchappresnum{\chaptername~}
\renewcommand\cftchapaftersnum{~-~\hfil}
C'est vraiment bon, j'ai juste un problème... avec les chiffres
romains, on a toujours un espace trop long ou pas assez après le
numéro du chapitre... Ne pourrait-on avoir une sorte de stretch, un
espace élastique, qui permette de réduire ce gros problème de rendu ?
Merci encore
En fait, c'est le boulot du \hfil, que j'ai mis dans le
\cftchap*pres*num, de sorte que les numéros Romains soient *centrés les
uns par rapport aux autres*.
Pour ton exemple, le \hfil ne sert à rien ici, puisque par défaut les
numéros sont alignés à gauche -- autrement dit, il y a déjà un \hfil
*par défaut*, après le numéro Romain du chapitre.
Si tu veux que les tirets soient tous alignés, quel que soit la largeur
du numéro Romain du chapitre, il faut mettre :
\renewcommand\cftchapaftersnum{\hfill~-~}
Et si tu veux que les numéros soient centrés verticalement par rapport à
leur ligne médiane, ET que les tirets soient alignés, il faut :
\renewcommand\cftchappresnum{\chaptername~\hfill}
\renewcommand\cftchapaftersnum{\hfill~-~}
Et si tu préfère que les numéros soit alignés à droite :
\renewcommand\cftchappresnum{\chaptername~\hfill}
\renewcommand\cftchapaftersnum{\hfil~-~}
Bref, à toi de jouer...
*Pour répondre à ta question*, si tu mets un espace variable, les titres
des chapitres ne seront pas alignés : ce que tu as actuellement n'est
n'est donc pas un *gros problème* de rendu, mais au contraire, l'inverse
(titre non aligné) mérite cette qualification...
Essaye par exemple :
\renewcommand\cftchappresnum{\hfill\chaptername~}
\renewcommand\cftchapaftersnum{\hfil~-~}
C'est pas bô hein ?
Sinon, quand tu écris :
\settowidth{\cftchapnumwidth}{\cftchapfont\chaptername~XXX}
Tu te trompes, car si tu as VRAIMENT XXX chapitres, *XXIV=24 sera plus
large que XXX* -- et certainement aussi XXIX=29 -- ils sont fous ces
Romains... De plus, dans \cftchapnumwidth, *il faut inclure le tiret*,
car la \hbox qui fixe le numéro du chapitre contient ici :
Le-Mot-Chapitre (\chaptername)
Le-Numéro-Romain(\thechapter)
Le-tiret-après-le-numéro-romain
Sinon tu t'exposes à avoir un tiret qui "rentre dans le titre"
Essaye avec : \makeatletter\***@chapter=28\makeatother dans le préambule.
Si enfin, tu tiens à tout pris à ce que les titres des chapitres ne
soient pas alignés (et les tirets non plus donc, mais on peut les enlever) :
Chapitre XXIX - C'est le vingt-neuf
^
Chapitre XXX - C'est le trente
^
il faut redéfinir \numberline avec une box variable :
\renewcommand{\numberline}[1]{%
\hbox{\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}
Ce qui s'appliquera donc à toutes les sections de la TdM (pas seulement
les chapitres) sauf à définir une numberline spéciale (en ne touchant
donc pas à la \numberline) :
\newcommand{\numberlineforchapters}[1]{%
\hbox{\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}
et à utiliser l'astuce :
\renewcommand\cftchapfont{\let\numberline\numberlineforchapters}
qui reste locale (ok).
Voilà. Je crois que tu peux faire la TdM que tu veux maintenant.