
フランス語では、amsbook
を再定義しても、クラスは toc にパーツ名を小文字で書き込みます\partname
。これを修正するにはどうすればよいでしょうか。
\documentclass{amsbook}
\usepackage[french]{babel}
\title{La démocratie}
\author{Quelqu'un}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\part{Introduction}
\end{document}
答え1
タイトルに「Première partie」を残しておきたいと思うので、いくつかのヒントを紹介します。
まず、 のコードでは、 の前に無視 (または削除) すべきスペースがあるbabel-french
ことを考慮していないため、何もしないのではなく、を(ローカルに) 再定義して修正します。\thepart
\thepart
\unskip
次に、ファイルではなく\@part
直接書き込むようにパッチを適用します。Partie
\partname
toc
\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}
答え2
によるbabel-french
パッケージドキュメント PartNameFull
このような問題を回避するには、に設定する必要がありますfalse
。
したがって、\frenchsetup{PartNameFull=false}
前文に追加するだけです。これで問題は解決するはずです。
ドキュメントの抜粋:
PartNameFull=false (true);
true の場合、babel-french は \part{} コマンドのタイトルを「Première partie」、「Deuxième partie」などのように番号付けします。\part{} コマンドを変更する一部のクラス (AMS クラスはそうします) では、目次に「Première partie 1」、「Deuxième partie 2」が表示されることがあります。このような場合は、このオプションを false に設定する必要があります。そうすると、パート タイトルは「Partie I」、「Partie II」のように印刷されます。