Babel: Part names in French for 20+ (more than twenty)

You can replace the loop defined in french.ldf that ends at twenty using fmtcount.

\documentclass[a4paper,11pt,openany,french]{book}
\usepackage[french]{babel}
\usepackage{fmtcount}

\makeatletter
\DeclareRobustCommand*{\FB@partname}{%
  \ifFBPartNameFull
    \Ordinalstring{part}[f]\space
    \partnameord\FB@emptypart
  \else
    Partie%
  \fi
}
\makeatother

\begin{document}
\part{A}\part{B}\part{C}\part{D}\part{E}\part{F}\part{G}
\part{H}\part{I}\part{J}\part{K}\part{L}\part{M}\part{N}
\part{O}\part{P}\part{Q}\part{R}\part{S}\part{T}\part{U}
\part{V}\part{W}\part{X}\part{Y}\part{Z}

\end{document}

enter image description here

If I add many more parts I can even get

enter image description here

enter image description here


The only solution I can find consists in modifying french.ldf (save a copy of the original first). The ordinals used for parts are determined in lines 945–950 of this file. Replace the last line

Vingti\`eme}

with

Vingti\`eme, Vingt-et-uni\`eme, Vingt-deuxi\`eme, Vingt-troisi\`eme, Vingt-quatri\`eme, Vingti\`eme, Vingt-cinqui\`eme, Vingt-sixi\`eme,}

Tags:

Parts