Algorithm2e 换行符缺失

Algorithm2e 换行符缺失

我正在使用 algorithm2e 在我的论文中显示算法。我现在正在使用一个使用\documentclass[10pt,a4paper,twoside,dutch,english]{book}序言的新模板。

下列包和语句与算法相关:

\usepackage[algoruled,vlined,linesnumbered]{algorithm2e}
\usepackage{chngcntr}
\newfloat{algorithm}{ht}{algorithm}
\floatname{algorithm}{Algorithm}
\counterwithin{algorithm}{chapter} %count algorithms within chapter

我的算法代码的第一行如下:

\begin{algorithm}
\setstretch{1.2}
\DontPrintSemicolon
\LinesNumbered
  $\forall j\colon w_j \leftarrow 0.5$\;
  $\eta \leftarrow 0.01$\;
  $\mathcal{L}_{\text{mean-old}} \leftarrow \infty$\;
  \Repeat{STOP}{
  $\mathcal{L}_{\text{mean}} = 0$\hfill\CommentSty{~~~~~~~~~~~~~~~~~~~~~~~$\triangleright$new epoch}\;
  \For{batch $i \in$ dataset}{
        [...]
\end{algorithm}

编译后显示如下: 编译后的 TeX 输出

我注意到的是:

  1. 没有换行符。我可以通过添加来解决这个问题\\,但在以前的模板中我不需要这样做。删除\DontPrintSemicolon也无济于事。
  2. linesnumbered尽管我使用了该选项并且明确输入\LinesNumbered了算法,但行没有编号。

有人能帮我吗?谢谢!

答案1

删除

\newfloat{algorithm}{ht}{algorithm}
\floatname{algorithm}{Algorithm}
\counterwithin{algorithm}{chapter} %count algorithms within chapter

位,解决了问题。

相关内容