Question intéressante… que je découvre avec beaucoup de retard car je ne suis
pas un lecteur assidu de TeXnique :-(
Il est assez facile de paramétrer `tocbasic` pour obtenir dans la table des
matières des entrées de la forme :
`Partie I. mon titre`
On peut utiliser pour cela les options de `\DeclareTOCStyleEntry`, notamment
`entrynumberformat=\mycommand`, voici un exemple :
\documentclass[french,chapterprefix=false,openany]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareTOCStyleEntry[entrynumberformat=\myPart,
%breakafternumber=true,
numwidth=.25\linewidth]%
{tocline}{part}
\setcounter{tocdepth}{4}
\newcommand*{\myPart}[1]{Partie #1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\part{Ceci est ma partie 1}
\chapter{Ceci est mon premier chapitre}
\chapter{Ceci est mon deuxième chapitre}
\part{Ceci est ma partie 2}
\chapter{Ceci est mon quatrième chapitre}
\chapter{Ceci est mon cinquième chapitre}
\chapter{Ceci est mon sixième chapitre}
\part{Ceci est ma partie 3}
\chapter{Ceci est mon septième chapitre}
\chapter{Ceci est mon huitième chapitre}
\tableofcontents
\end{document}
Ceci ne répond pas à la question mais ce premier pas indique que le
paramètre passé à la commande `\myPart` est le numéro de partie en
capitales romaines suivi d'un point (I. II. III. IV. etc.) mais en fait
c'est beaucoup plus touffu que ça… Il y a plein de commandes parasites (qui n'affichent rien).
Il est finalement plus simple d'utiliser l'option `entryformat` qui ne s'affichent pas.
Les curieux pourront aller voir opère sur la totalité du deuxième argument de `\addtocontentsline` (voir le résultat de la commande `\ShowCommand{\tmp}` dans
le code ci-dessous (à insérer à la place du précédent entre les deux lignes de '%").
Ce code, nettement moins simple malheureusement, répond cette fois mieux à la question posée.
fichier `.toc`), par exemple comme ceci :
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareTOCStyleEntry[entrynumberformat=\FrenchPartNum,
\DeclareTOCStyleEntry[entryformat=\FrenchPartNum,
%breakafternumber=true,
numwidth=.25\linewidth]%
]%
{tocline}{part}
\setcounter{tocdepth}{4}
\newcommand*{\OrdinalI}{Première partie\hfil}
partie}
\newcommand*{\OrdinalII}{Deuxième partie\hfil}
partie}
\newcommand*{\OrdinalIII}{Troisième partie\hfil}
partie}
\newcommand*{\OrdinalIV}{Quatrième partie\hfil}
\makeatletter
\def\GetRomanNumber\begingroup#1\endgroup#2{#2}
\DeclareRobustCommand*{\FrenchPartNum}[1]{%
partie}
\newcommand*{\FrenchPartNum}[1]{%
\begingroup
\def\numberline@prefix{}%
\def\numberline@postfix{}%
\def\numberline@numberformat##1{##1}%
\edef\tmp{#1}%
%\ShowCommand{\tmp}%
\edef\RoNum{\expandafter\GetRomanNumber\tmp}%
%\ShowCommand{\RoNum}%
\def\numberline ##1{%
\makebox[.25\linewidth][l]{%
\expandafter\csname Ordinal\RoNum\endcsname
Ordinal##1\endcsname}}%
\usefontofkomafont{partentry}#1
\endgroup
}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%
Résultat affiché :
![alt text][2]
On peut décommenter l'option `breakafternumber=true,` pour ajouter passage à la ligne suivante
après `... partie` (utile éventuellement en cas de titre long).
On pourrait faire une boucle pour définir plus de commandes
`\OrdinalV`, `\OrdinalVI`, etc.
[2]: https://texnique.fr/osqa/upfiles/koma-toc2.png