算法:更改个别行号的样式

算法:更改个别行号的样式

我想更改算法中各行的样式。例如,我想用方框包围关键行号、为其添加颜色或以其他方式区分它们。

可以使用 algorithm2e 更改所有行号的样式,如此处(以及手册中)所述:Algorithm2e 修改行号

有没有办法修改任意子集线条的样式?

答案1

基于这个答案这个答案,这可以通过更新命令来实现\alglinenumber,如下所示。如最后一行所示,这还不是最佳解决方案。

\documentclass{article}
\usepackage{algpseudocode}
\usepackage{xcolor}

\newcommand{\StateRed}[1]{\algrenewcommand{\alglinenumber}[1]{\footnotesize\textcolor{red}{##1}:}\State #1}
\newcommand{\StateBlack}[1]{\algrenewcommand{\alglinenumber}[1]{\footnotesize##1:}\State #1}

\begin{document}
\begin{algorithmic}[1]
  \StateRed $x = 1$
  \StateBlack $y = 2$
  \StateRed $ z = 3$
  \State you probably didn't want this to be red!
\end{algorithmic}
\end{document}

在此处输入图片描述

当向行号添加非零宽度的注释时,这也不能完美地工作,因为从第 9 行到第 10 行(大概是第 99 行到第 100 行,虽然我没有检查过)时间距会受到影响。

相关内容