\textcolor を使用してアルゴリズムの一部を色付けする必要があります。アルゴリズム パッケージを使用した次のコードがあります。
\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}
ただし、これによりエラーが発生し、 Something's wrong--perhaps a missing \item.
IF ステートメントのインデントが壊れます。
次のようにコマンド\STATE
の前にコマンドを置くと、エラーを排除できます。\textcolor
\begin{algorithmic}
\FOR{$s = 1, \dots, S$}
\STATE \textcolor{red} {
\IF {$t<T'$}
\STATE do foo
\ELSE
\STATE do bar
\ENDIF
}
\ENDFOR
\end{algorithmic}
しかし、これによりアルゴリズムに余分な空行が挿入されます。
アルゴリズムの一部(または一般的にはリスト内の項目のサブセット)を選択的に色分けする正しい方法は何ですか?
答え1
\textcolor
短いテキストシーケンスに適した の代わりに、 を使用することもできます{\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}