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 \alglinenumber
comando, 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}
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).