Почему некоторые строки алгоритма помечены звездочкой и не всегда работают?

Почему некоторые строки алгоритма помечены звездочкой и не всегда работают?

Я работаю с 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}

Проблема в том, что я не могу создать звездочку в строке "end" цикла for: Вместо этого код выше генерирует новую строку перед строкой "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

Связанный контент