Preciso colorir parte de um algoritmo com \textcolor. Eu tenho o seguinte código usando o pacote 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}
No entanto, isto produz um erro: Something's wrong--perhaps a missing \item.
e o recuo da instrução IF é quebrado:
Posso eliminar o erro com um \STATE
comando antes do \textcolor
comando assim:
\begin{algorithmic}
\FOR{$s = 1, \dots, S$}
\STATE \textcolor{red} {
\IF {$t<T'$}
\STATE do foo
\ELSE
\STATE do bar
\ENDIF
}
\ENDFOR
\end{algorithmic}
Mas isso injeta uma linha vazia extra no algoritmo:
Qual é a maneira correta de colorir seletivamente partes de um algoritmo (ou talvez um subconjunto de itens em uma lista em geral?)
Responder1
Em vez de \textcolor
, que é mais apropriado para sequências curtas de texto, você poderia 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}