Come scritto in oggetto io vorrei usare un nuovo sistema di numerazione simile ai più noti \Roman \arabic…
In un testo scritto palesemente in latex o visto che le parti sono “numerate” o ordinate nel seguente modo, se non mi sbaglio è il sistema numerale ordinale:Parte prima
Capitolo 1
….
Parte seconda
Capitolo 7
….Io vi chiedo se è possibile definire una nuova numerazione in modo da poter scrivere:`%semplice esempio
\renewcommand{\thepart}{\ordinalefs{part}}%ordinale femminile singolare
\setcounter{part}{2}% parte seconda
..
\part{titolo parte seconda}`senza dover fare una struttura iterativa tipo questa:`\usepackage{ifthen}
\renewcommand{\thepart}{\ifthenelse{…=1}{prima}{\ifthenelse…}}`
Imitando ciò che fa LaTeX per i simboli di nota (\fnsymbol)
`\makeatletter
\def\ordinalefs#1{\expandafter\@ordinalefs\csname c@#1\endcsname}
\def\@ordinalefs#1{\ifcase#1\or prima\or seconda\or terza\or quarta\or
quinta\or sesta\or settima\or ottava\or nona\else\@ctrerr\fi}
\makeatother`Ora puoi dare comandi come`\renewcommand{\thepart}{\ordinalefs{part}}`Se vuoi andare oltre la nona parte 😀 basta allungare la lista nella definizione.
Si può dare una definizione più in stile LaTeX, ma con questa impariamo un po’ di cose:
(1) il valore del contatore “pippo” è disponibile come \c@pippo (oltre che come \value{pippo});
(2) Quando LaTeX si trova davanti il comando \ordinalefs{part} sostituisce \@ordinalefs{\c@part}; la sequenza di controllo \c@part è costruita in modo indiretto, usando l’argomento di \ordinalefs;
(3) \ifcase permette una scelta di casi fra più valori:`\ifcase
Con \ifthenelse potresti ottenere un effetto di questo tipo, ma con molta più fatica.
Ciao
Enrico