![如何用星号标记算法的行号?](https://linux22.com/image/322021/%E5%A6%82%E4%BD%95%E7%94%A8%E6%98%9F%E5%8F%B7%E6%A0%87%E8%AE%B0%E7%AE%97%E6%B3%95%E7%9A%84%E8%A1%8C%E5%8F%B7%EF%BC%9F.png)
我正在使用IEEEtran
和algorithm2e
包。我有一个带编号行的伪代码。我想用星号标记一些行号(而不是行本身)。我该怎么做?这是一个最小示例:
\documentclass[conference]{IEEEtran}
\usepackage[ruled,linesnumbered]{algorithm2e}
% *** MATH PACKAGES ***
\usepackage{amsmath}
\usepackage{amssymb}
\newcommand{\argmin}{\operatornamewithlimits{argmin}}
\begin{document}
\begin{algorithm}
\nlset{1}
$\pi=1$\;
$\Phi=2$\;
\end{algorithm}
\end{document
答案1
不要自动枚举行。相反,使用 设置需要数字的行\nl
,使用 设置需要其他内容的行\nlset{<stuff>}
:
\documentclass[conference]{IEEEtran}
\usepackage[ruled]{algorithm2e}
\begin{document}
\begin{algorithm}
\nl $\pi=1$\;
\nlset{*} $\Phi = 2$\;
\nl $\pi = 3$\;
\end{algorithm}
\end{document}
另一个选择可能是在现有的行号上添加星号:
\documentclass[conference]{IEEEtran}
\usepackage[ruled]{algorithm2e}
\makeatletter
\newcommand{\nlast}{\refstepcounter{AlgoLine}\nlset{\theAlgoLine\rlap{*}}}
\makeatother
\begin{document}
\begin{algorithm}
\nl $\pi=1$\;
\nlast $\Phi = 2$\;
\nl $\pi = 3$\;
\end{algorithm}
\end{document}