当使用 algorithm2e 与 natbib 时,“\Ualgocf@original@chapter”未定义

当使用 algorithm2e 与 natbib 时,“\Ualgocf@original@chapter”未定义

是否可以plainnat不使用包而直接使用natbib?当我这样做时,多个作者引用效果不太好。我得到

[作者等 (年份)作者1、作者2 和作者3]

当我想要的只是

[作者等(年份)]

有任何解决这个问题的方法吗?

如果我添加,\usepackage{natbib}只会收到错误:

Undefined control  sequence.

\chtapter ...ace {10\p@ }}\algocf@original@chapter

1.1 \begin{thebibliography}{28}

因此,使用plainnatwithoutnatbib是我最接近实现这个功能的方法。

例子:

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{listings}
\usepackage[ruled,vlined]{algorithm2e}
\usepackage[ngerman,english]{babel}
\usepackage{babelbib,url} 
\usepackage{breakcites}
%\usepackage{natbib}
%\usepackage[square, comma, sort&compress]{natbib}
\usepackage[latin1]{inputenc}
\usepackage{pslatex}
\usepackage{setspace}
\setstretch{2} 
\begin{document}
    \cite{DPS2000}
\newpage\pagebreak
\nocite{*}
\bibliographystyle{plainnat}
\bibliography{references}
\end{document}

它可以编译,但我得到

[作者等 (年份)作者1、作者2 和作者3]

风格引用,如果我取消注释,natbib它将无法编译。

答案1

问题是期望algorithm2e\chapter定义。它对参考书目的打印方式进行了一些不合理的更改。一个解决方法是执行

\let\chapter\section

加载之前algorithm2e:问题应该消失。

答案2

加载algorithm2e natbib

相关内容