알고리즘 + 텍스트 색상 == 뭔가 잘못되었습니다. 항목이 누락되었거나 레이아웃이 잘못되었을 수 있습니다.

알고리즘 + 텍스트 색상 == 뭔가 잘못되었습니다. 항목이 누락되었거나 레이아웃이 잘못되었을 수 있습니다.

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

관련 정보