我正在使用 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 循环的“结束”行中生成星号:相反,上面的代码会在“结束”行之前生成一个新行,并用星号标记。有办法吗?
谢谢。
答案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}
输出: