算法中的自定义文本代替行号

算法中的自定义文本代替行号

在使用该包的算法中algorithmic,我想为某些行显示特殊符号(例如+),而不是行号。这可能吗?

编辑: 这是一个最小的工作示例。

\documentclass{article}

\usepackage{algorithm}
\usepackage{algorithmic}

\begin{document}

\begin{algorithm}[tb]
  \caption{My algorithm}
\begin{algorithmic}[1]
  \STATE{foo}
  \STATE{bar}
\end{algorithmic}
\end{algorithm}

\end{document}

答案1

以下似乎有效:

\documentclass{article}

\usepackage{algorithm}
\usepackage{algorithmic}

\makeatletter
\newcommand{\plusline}{%
  \let\old@ALC@lno=\ALC@lno%
  \renewcommand{\ALC@lno} {+%
    \global\let\ALC@lno=\old@ALC@lno}%
}
\makeatother

\begin{document}

\begin{algorithm}[tb]
  \caption{My algorithm}
\begin{algorithmic}[1]
  \STATE{foo}
  \STATE{bar}
  \plusline
  \STATE{foo}
  \STATE{bar}
  \STATE{foo}
  \STATE{bar}
  \STATE{foo}
  \STATE{bar}
\end{algorithmic}
\end{algorithm}

\end{document}

在 中algorithmic.sty,命令\ALC@lno负责打印行号。上面的代码将命令暂时更改为仅输出+,然后重置自身。

输出

相关内容