用星号标记算法的某些行,为什么它并不总是有效?

用星号标记算法的某些行,为什么它并不总是有效?

我正在使用 IEEEtran 和 algorithm2e 包。我有一个带编号行的算法。我在行前用星号标记了一些行,如下所示:

\documentclass[conference]{IEEEtran}
\usepackage[ruled,linesnumbered]{algorithm2e}

% *** MATH PACKAGES ***
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}

\begin{algorithm}

\nlset{1}$x=1$\;
\nlset{*2}\For{$i=1$ \emph{\KwTo} $10$}{
\nlset{*3}$x=x+1$\;
\nlset{*4}}
\end{algorithm}

\end{document}

问题是我无法在 for 循环的“结束”行中生成星号:相反,上面的代码会在“结束”行之前生成一个新行,并用星号标记。有办法吗?

谢谢。

答案1

您可以改用它\SetNlSty{}{}{}并将其与要添加星号的行放在一个组中。

\documentclass[conference]{IEEEtran}
\usepackage[ruled,linesnumbered]{algorithm2e}

\begin{document}
\begin{algorithm}
$x=1$\;
{% star group begin 
    \SetNlSty{textbf}{*}{}
    \For{$i=1$ \emph{\KwTo} $10$}{
    $x=x+1$\;
    }
}% star group end
$x=2$
\end{algorithm}
\end{document}

输出:

算法2e

相关内容