
En francés, la amsbook
clase escribe el nombre de la pieza en minúsculas en el toc incluso si redefino \partname
. Me pregunto cómo solucionarlo.
\documentclass{amsbook}
\usepackage[french]{babel}
\title{La démocratie}
\author{Quelqu'un}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\part{Introduction}
\end{document}
Respuesta1
Supongo que querrás mantener “Première partie” en el título, así que aquí tienes un par de trucos.
Primero, el código babel-french
no considera que \thepart
esté precedido por un espacio que deba ignorarse (o eliminarse), por lo que lo soluciono redefiniendo (localmente) \thepart
en \unskip
en lugar de no hacer nada.
En segundo lugar, parcheo \@part
para que se escriba directamente Partie
en lugar de hacerlo \partname
en el toc
archivo.
\documentclass{amsbook}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{etoolbox}
% fix a small issue in babel-french
\makeatletter
\renewcommand\FB@emptypart{\def\thepart{\unskip}}
% make \part write 'Partie' instead of '\partname'
\patchcmd{\@part}{\partname}{Partie}{}{}
\makeatother
\title{La démocratie}
\author{Quelqu'un}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\part{Introduction}
\end{document}
Respuesta2
De acuerdo con lababel-french
documentación del paquete PartNameFull
debe configurarse false
para evitar tales problemas.
Así que simplemente agréguelo \frenchsetup{PartNameFull=false}
a su preámbulo. Esto debería resolver tu problema.
Extracto de la documentación:
PartNameFull=falso (verdadero);
cuando es verdadero, babel-french numera el título de los comandos \part{} como “Première partie”, “Deuxième partie”, etc. Con algunas clases que cambian el comando \part{} (las clases AMS lo hacen), podría obtener “Première partie 1”, “Deuxième partie 2” en el toc; cuando esto ocurre, esta opción debe establecerse en falso, los títulos de las partes se imprimirán como "Parte I", "Parte II".