Necesito colorear parte de un algoritmo con \textcolor. Tengo el siguiente código usando el paquete algorítmico:
\usepackage{algorithmic}
\usepackage{xcolor}
...
\begin{algorithmic}
\FOR{$s = 1, \dots, S$}
\textcolor{red} {
\IF {$t<T'$}
\STATE do foo
\ELSE
\STATE do bar
\ENDIF
}
\ENDFOR
\end{algorithmic}
Sin embargo, esto produce un error: Something's wrong--perhaps a missing \item.
y la sangría de la declaración IF está rota:
Puedo eliminar el error con un \STATE
comando antes del \textcolor
comando así:
\begin{algorithmic}
\FOR{$s = 1, \dots, S$}
\STATE \textcolor{red} {
\IF {$t<T'$}
\STATE do foo
\ELSE
\STATE do bar
\ENDIF
}
\ENDFOR
\end{algorithmic}
Pero esto inyecta una línea vacía adicional en el algoritmo:
¿Cuál es la forma correcta de colorear selectivamente partes de un algoritmo (o quizás un subconjunto de elementos de una lista en general?)
Respuesta1
En lugar de \textcolor
, que es más apropiado para secuencias cortas de texto, podrías usar {\color{red} ... }
:
\documentclass{article}
\usepackage{algorithmic}
\usepackage{xcolor}
\begin{document}
\begin{algorithmic}
\FOR{$s = 1, \dots, S$}
{\color{red}
\IF {$t<T'$}
\STATE do foo
\ELSE
\STATE do bar
\ENDIF
}
\ENDFOR
\end{algorithmic}
\end{document}