algorítmico + color de texto == algo anda mal, quizás falta un elemento y el diseño es incorrecto

algorítmico + color de texto == algo anda mal, quizás falta un elemento y el diseño es incorrecto

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:

ingrese la descripción de la imagen aquí

Puedo eliminar el error con un \STATEcomando antes del \textcolorcomando 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:

ingrese la descripción de la imagen aquí

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

información relacionada