アルゴリズムのいくつかの行をアスタリスクでマークすると、必ずしも機能しないのはなぜですか?

アルゴリズムのいくつかの行をアスタリスクでマークすると、必ずしも機能しないのはなぜですか?

私は 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 ループの「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

関連情報