Das Markieren einiger Zeilen eines Algorithmus mit einem Sternchen – warum funktioniert das nicht immer?

Das Markieren einiger Zeilen eines Algorithmus mit einem Sternchen – warum funktioniert das nicht immer?

Ich arbeite mit IEEEtran und dem Algorithm2e-Paket. Ich habe einen Algorithmus mit nummerierten Zeilen. Ich markiere einige Zeilen mit einem Sternchen vor der Zeile wie folgt:

\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}

Das Problem ist, dass ich in der Zeile „end“ der For-Schleife kein Asterisk erzeugen kann: Stattdessen erzeugt der obige Code eine neue Zeile vor der „end“-Zeile und kennzeichnet sie mit dem Asterisk. Gibt es da einen Ausweg?

Danke schön.

Antwort1

Sie können stattdessen verwenden \SetNlSty{}{}{}und es in eine Gruppe mit den Zeilen einfügen, denen Sie einen Stern hinzufügen möchten.

\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}

Ausgabe:

algorithm2e

verwandte Informationen