amsbook の部品名を大文字にする

amsbook の部品名を大文字にする

フランス語では、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\partnametoc

\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」のように印刷されます。

関連情報