使用 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}