알고리즘의 일부 행에 별표를 표시하면 왜 항상 작동하지 않는 걸까요?

알고리즘의 일부 행에 별표를 표시하면 왜 항상 작동하지 않는 걸까요?

저는 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

관련 정보