
Auf Französisch amsbook
schreibt die Klasse den Teilenamen im Inhaltsverzeichnis in Kleinbuchstaben, selbst wenn ich ihn neu definiere \partname
. Ich frage mich, wie ich das beheben kann.
\documentclass{amsbook}
\usepackage[french]{babel}
\title{La démocratie}
\author{Quelqu'un}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\part{Introduction}
\end{document}
Antwort1
Ich schätze, Sie möchten „Première partie“ im Titel behalten, deshalb hier ein paar Tipps.
Erstens babel-french
berücksichtigt der Code in nicht, dass \thepart
ein Leerzeichen vorangestellt ist, das ignoriert (oder entfernt) werden sollte. Daher behebe ich das, indem ich (lokal) zu neu definiere, \thepart
anstatt \unskip
nichts zu tun.
Zweitens patche ich, \@part
damit es direkt schreibt, Partie
anstatt\partname
in die toc
Datei.
\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}
Antwort2
Entsprechend derbabel-french
Paketdokumentation PartNameFull
sollte auf eingestellt werden, false
um solche Probleme zu vermeiden.
Fügen Sie also einfach etwas \frenchsetup{PartNameFull=false}
zu Ihrer Präambel hinzu. Dies sollte Ihr Problem lösen.
Auszug aus der Dokumentation:
PartNameFull=false (wahr);
wenn wahr, nummeriert babel-french den Titel von \part{}-Befehlen als „Première partie“, „Deuxième partie“ und so weiter. Bei einigen Klassen, die den \part{}-Befehl ändern (AMS-Klassen tun dies), könnten Sie im Inhaltsverzeichnis „Première partie 1“, „Deuxième partie 2“ erhalten; wenn dies der Fall ist, sollte diese Option auf falsch gesetzt werden, Teiletitel werden dann als „Partie I“, „Partie II“ gedruckt.