babel[french] 和 KOMA-Script 类之间不兼容

babel[french] 和 KOMA-Script 类之间不兼容

汇编

\documentclass{scrreprt} %or with any other KOMA-Script classes, like scrartcl
%\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\begin{document}
test
\end{document}

导致控制台中出现警告:

Package frenchb.ldf Warning: The definition of \@makecaption has been changed,
(frenchb.ldf)                frenchb will NOT customise it;

ngerman经过测试,这个问题在、、english以及其他我测试过的语言中没有出现。

问题是:这个警告重要吗?如果重要,我们该怎么做才能避免这个问题?

答案1

出现警告的原因是french选项babel重新定义了字幕的制作方式,因为传统的法语排版使用与英语文档不同的样式。但是,KOMA-Script也使用其自己的字幕系统版本,比 LaTeX 内核版本更灵活。就我个人而言,我会使用界面KOMA-Script,而不必担心警告。

答案2

如果您想要旧的定义,请尝试以下操作:

\makeatletter
\let\kernel@makecaption\@makecaption
\makeatother
\documentclass{scrreprt} %or with any other KOMA-Script classes, like scrartcl
%\usepackage[T1]{fontenc}
\makeatletter
\let\@makecaption\kernel@makecaption
\makeatother
\usepackage[french]{babel}
\begin{document}
test
\end{document}

但正如 Joseph 已经指出的那样,请使用 KOMA-Script 中的那个

相关内容