enumitem 与法国 babel 发生冲突

enumitem 与法国 babel 发生冲突

以下程序崩溃并出现错误:

!LaTeX 错误:出现错误 — — 可能缺少 \item。

\documentclass[]{article}
\usepackage[francais]{babel}
\usepackage{enumitem}
\begin{document}
\begin{itemize}[topsep=20pt]
\item item1
\item item2
\end{itemize}
\end{document}

和 english babel 配合使用没问题。我尝试了 loadonly 选项,就像enumitem 与加利西亚语冲突但没有成功。法语版 babel 也崩溃了。


我找到了一个解决方法:

使用

 \begin{enumerate}[topsep=20pt,label=--]

代替

 \begin{itemize}[topsep=20pt]

答案1

这是语言设置的问题frenchb.ldf。更新你的系统,至少babel这样它就可以正常工作了。

答案2

使用 MiKTeX加载时[french]{babel},请在序言中使用以下内容:

%\usepackage[latin1]{inputenc}    
\usepackage[french]{babel}
\usepackage[T1]{fontenc}

\frenchbsetup{StandardLists=true}   %% Resolves conflict between babel and enumitem
\usepackage{enumitem}

我不知道该[french]{babel}软件包背后的具体工作原理(如果有人能解释确切的技术问题,我将不胜感激),但我知道 babel 对 LaTeX 对某些字符的解释做了一些更改,以便根据法语印刷标准正确输出列表。这些更改是 和 之间冲突的原因babelenumitem使用\frenchbsetup{StandardLists=true}将解决此冲突。

答案3

在序言末尾加载 Babel。

相关内容