在 amsbook 中将零件名称大写

在 amsbook 中将零件名称大写

在法语中,amsbook即使我重新定义,类也会在目录中以小写形式显示零件名称\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 时,babel-french 会将 \part{} 命令的标题编号为“Première partie”、“Deuxième partie”等等。对于某些会更改 \part{} 命令的类(AMS 类会这样做),您可能会在目录中看到“Première partie 1”、“Deuxième partie 2”;当出现这种情况时,应将此选项设置为 false,然后部分标题将打印为“Partie I”、“Partie II”。

相关内容