Algoritmos: altere o estilo dos números de linha individuais

Algoritmos: altere o estilo dos números de linha individuais

Gostaria de alterar o estilo de linhas individuais em um algoritmo. Por exemplo, eu gostaria de colocar os números das linhas principais em uma caixa, colori-los ou distingui-los de outra forma.

É possível alterar o estilo de todos os números de linha com o algoritmo2e, conforme detalhado aqui (e no manual):Algoritmo2e modifica números de linha

Existe uma maneira de modificar o estilo de um subconjunto arbitrário de linhas?

Responder1

Com base nesta respostaesta resposta, isso pode ser feito atualizando o \alglinenumbercomando, como segue. Esta ainda não é uma solução ideal, como demonstrado pela última linha.

\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}

insira a descrição da imagem aqui

Isso também não funciona perfeitamente ao adicionar anotações de largura diferente de zero aos números das linhas, pois o espaçamento é afetado ao passar da linha 9 para a 10 (e presumivelmente de 99 para 100, embora eu não tenha verificado).

informação relacionada