
Em francês, a amsbook
classe escreve o nome da parte em letras minúsculas no toc, mesmo que eu redefina \partname
. Eu me pergunto como consertar isso.
\documentclass{amsbook}
\usepackage[french]{babel}
\title{La démocratie}
\author{Quelqu'un}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\part{Introduction}
\end{document}
Responder1
Acho que você deseja manter “Première partie” no título, então aqui estão alguns truques.
Primeiro, o código babel-french
não considera que \thepart
é precedido por um espaço que deve ser ignorado (ou removido), então eu corrijo (localmente) redefinindo \thepart
para \unskip
em vez de não fazer nada.
Segundo, eu corrijo \@part
para que ele escreva diretamente Partie
em vez de \partname
no toc
arquivo.
\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}
Responder2
De acordo combabel-french
documentação do pacote PartNameFull
deve ser definido false
para evitar tais problemas.
Então basta adicionar \frenchsetup{PartNameFull=false}
ao seu preâmbulo. Isso deve resolver seu problema.
Extrato da documentação:
PartNameFull=falso (verdadeiro);
quando verdadeiro, babel-french numera o título dos comandos \part{} como “Première partie”, “Deuxième partie” e assim por diante. Com algumas classes que alteram o comando \part{} (as classes AMS fazem isso), você pode obter “Première partie 1”, “Deuxième partie 2” no toc; quando isso ocorrer, esta opção deverá ser definida como falsa, os títulos das partes serão impressos como “Partie I”, “Partie II”.