使用 babel 和 natbib 时出现“!缺少 \endcsname 插入”

使用 babel 和 natbib 时出现“!缺少 \endcsname 插入”

这很令人困惑,至少对我来说是这样。我在以下 MWE 中收到“!缺少 \endcsname 插入”错误:

\documentclass{article}
\usepackage[UKenglish,italian,french]{babel}
\usepackage{natbib}

\begin{document}
Hello world!~\cite{vim:2008}
\end{document}

如果我删除不可破坏的空间,或者来自 babel 的法语选项,或者来自引用的冒号,或者 natbib 包,一切都会正常工作。

我正在使用 pdflatex 进行编译。

我该怎么做才能使它们协同工作?

答案1

natbib之前加载babel

\begin{filecontents*}{\jobname.bib}
@article{vim:2008,
  author={X Y},
  title={Z},
  journal={J},
  year=2008,
}
\end{filecontents*}

\documentclass{article}
\usepackage{natbib}
\usepackage[UKenglish,italian,french]{babel}

\begin{document}

x~\cite{vim:2008}

\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}

在此处输入图片描述

相关内容