使用 algorithmicx 的彩色行号?

使用 algorithmicx 的彩色行号?

fancyvrb允许我自定义行号样式,我发现这非常有用。我使用它为行号赋予不同的颜色,然后在描述代码的文本中使用相同的颜色。我相信这可以更轻松地找到描述特定图像的文本。

彩色线号示例。

有没有办法使用伪代码列表做同样的事情algorithmicx

答案1

你需要重新定义什么\alglinenumber。更具体地说,使用类似

\algrenewcommand{\alglinenumber}[1]{\color{<color>}\footnotesize#1:}

以下示例取自algorithmicx文档

在此处输入图片描述

\documentclass{article}
\usepackage{algorithm}% http://ctan.org/pkg/algorithm
\usepackage{algpseudocode}% http://ctan.org/pkg/algpseudocode
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\begin{document}
\begin{algorithm}
  \caption{Euclid’s algorithm}\label{euclid}
  \begin{algorithmic}[1]
    \Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
      \State $r\gets a\bmod b$
      \While{$r\not=0$}\Comment{We have the answer if r is 0}
        \State $a\gets b$
        \State $b\gets r$
        \State $r\gets a\bmod b$
      \EndWhile
      \State \textbf{return} $b$\Comment{The gcd is b}
    \EndProcedure
  \end{algorithmic}

  \bigskip

\algrenewcommand{\alglinenumber}[1]{\color{red!80!blue}\footnotesize#1:}

  \begin{algorithmic}[1]
    \Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
      \State $r\gets a\bmod b$
      \While{$r\not=0$}\Comment{We have the answer if r is 0}
        \State $a\gets b$
        \State $b\gets r$
        \State $r\gets a\bmod b$
      \EndWhile
      \State \textbf{return} $b$\Comment{The gcd is b}
    \EndProcedure
  \end{algorithmic}

\end{algorithm}
\end{document}

请注意,\alglinenumber将打印整个行号构造,包括结尾:。如果您不想要分隔符,可以对其进行修改以适应。

相关内容