Algoritmos: cambiar el estilo de los números de línea individuales

Algoritmos: cambiar el estilo de los números de línea individuales

Me gustaría cambiar el estilo de líneas individuales en un algoritmo. Por ejemplo, me gustaría rodear los números de las líneas clave con un cuadro, colorearlos o distinguirlos de otra manera.

Es posible cambiar el estilo de todos los números de línea con algoritmo2e, como se detalla aquí (y en el manual):Algorithm2e modifica los números de línea

¿Hay alguna manera de modificar el estilo de un subconjunto arbitrario de líneas?

Respuesta1

Construyendo sobre esta respuestaesta respuesta, esto se puede lograr actualizando el \alglinenumbercomando, de la siguiente manera. Ésta aún no es una solución óptima, como lo demuestra la última línea.

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

ingrese la descripción de la imagen aquí

Esto tampoco funciona perfectamente cuando se agregan anotaciones de ancho distinto de cero a los números de línea, ya que el espaciado se ve afectado al pasar de la línea 9 a la 10 (y presumiblemente de 99 a 100, aunque no lo he comprobado).

información relacionada