使用 Babel French 进行字幕格式化

使用 Babel French 进行字幕格式化

使用 babel 的法语选项时,我无法覆盖浮动字幕的默认格式。francais选择 babel 的设置后,字幕的格式为小写字母的标签(“图 X”)。我尝试使用包覆盖该caption格式,但无济于事。以下是最小示例:

\documentclass{article}
\usepackage[labelfont=it]{caption}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\begin{document}
\begin{figure}\caption{xxxxx}\end{figure}
\end{document}

给出

在此处输入图片描述

其中只有数字是斜体。如果我注释掉该babel行,它就可以正常工作:

在此处输入图片描述

caption的文档说应该在之后加载babel以覆盖它,但这里似乎并非如此。有人知道如何解决这个问题吗?

答案1

该语言的 babel 包加载具有以下定义的francais文件:frenchb.ldf

\def\figurename{{\scshape Figure}}%

的组合\itshape\scshape是用当前字体定义的,因此您将得到奇怪的结果。

我不明白为什么 babel 会影响格式。

但是,您可以通过以下方式解决该问题:

1. 软件包的使用caption

您可以通过以下方式重新定义名称:

\captionsetup[figure]{name=Figure}

2. 软件包的使用babel

\addto\captionsfrancais{%
   \def\figurename{Figure}%
}

以下是完整的 MWE:

\documentclass{article}
\usepackage[francais]{babel}

\addto\captionsfrancais{%
   \def\figurename{Figure}%
}
\usepackage[T1]{fontenc}
\usepackage[labelfont=it,]{caption}
%\captionsetup[figure]{name=Figure}

\begin{document}
\begin{figure}\caption{xxxxx}\end{figure}


\end{document}

答案2

刚刚遇到了同样的问题并在 babel 手册中找到了此解决方案:

\usepackage[francais]{babel}
\frenchbsetup{SmallCapsFigTabCaptions=false}

相关内容