![Algorithm2e 中仅包含没有关键字的数字行](https://linux22.com/image/450948/Algorithm2e%20%E4%B8%AD%E4%BB%85%E5%8C%85%E5%90%AB%E6%B2%A1%E6%9C%89%E5%85%B3%E9%94%AE%E5%AD%97%E7%9A%84%E6%95%B0%E5%AD%97%E8%A1%8C.png)
对于 Algorithm2e 中的算法,我只想对以分号结尾的行进行编号\;
。
我尝试使用以下答案来破解一些东西Algorithm2e - 禁用特定行的行号:
\let\oldnl\nl
\newcommand{\nonl}{\renewcommand{\nl}{\let\nl\oldnl}}
\let\oldKwSty\KwSty
\renewcommand{\KwSty}[1]{\nonl\textnormal{\textbf{#1}}\unskip}
我希望这可以禁用带有关键字的行编号,但它不能完全按要求工作:
\documentclass{article}
\usepackage[ruled, linesnumbered]{algorithm2e}
\let\oldnl\nl
\newcommand{\nonl}{\renewcommand{\nl}{\let\nl\oldnl}}
\let\oldKwSty\KwSty
\renewcommand{\KwSty}[1]{\nonl\textnormal{\textbf{#1}}\unskip}
\begin{document}
\begin{algorithm}[H]
%\SetLine
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms}
\end{algorithm}
\end{document}
我希望其他带有分号的行也被编号(即从 1 到 5)。
我也尝试修改\;
命令,我所做的任何更改要么打印行末的数字,要么修改下一行的行为。