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

\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}

After the 20th part (vingtième partie), the part number doesn't show up.

1
  • 5
    french.ldf only contains a list of words for the first 20 parts.
    – leandriis
    Commented Mar 4, 2020 at 22:16

2 Answers 2

16

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

2
  • 1
    Shouldn't the second \makeatletter be \makeatother? Commented Mar 5, 2020 at 8:17
  • 2
    @LaurentLARIZZA Right, fixed
    – egreg
    Commented Mar 5, 2020 at 9:27
9

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,}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .