我需要使用 \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}