Ich muss einen Teil eines Algorithmus mit \textcolor einfärben. Ich habe den folgenden Code mit dem algorithmischen Paket:
\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}
Dies führt jedoch zu einem Fehler: Something's wrong--perhaps a missing \item.
und die Einrückung der IF-Anweisung ist beschädigt:
Den Fehler kann ich durch einen \STATE
Befehl vor dem \textcolor
Befehl wie folgt beheben:
\begin{algorithmic}
\FOR{$s = 1, \dots, S$}
\STATE \textcolor{red} {
\IF {$t<T'$}
\STATE do foo
\ELSE
\STATE do bar
\ENDIF
}
\ENDFOR
\end{algorithmic}
Dies fügt dem Algorithmus jedoch eine zusätzliche leere Zeile hinzu:
Was ist die richtige Art und Weise, Teile eines Algorithmus (oder vielleicht eine Teilmenge von Elementen in einer Liste im Allgemeinen) selektiv einzufärben?
Antwort1
Anstelle von \textcolor
, das für kurze Textsequenzen besser geeignet ist, könnten Sie verwenden {\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}