用星號標記演算法的某些行,為什麼它並不總是有效?

用星號標記演算法的某些行,為什麼它並不總是有效?

我正在使用 IEEEtran 和演算法2e 套件。我有一個編號行的演算法。我在行前用星號標記了一些行,如下所示:

\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 迴圈的「end」行中產生星號:相反,上面的程式碼在「end」行之前產生一個新行並用星號標記它。有出路嗎?

謝謝。

答案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

相關內容