if로 시작하고 discover/visible을 사용하여 줄에 알고리즘으로 주석을 달았습니다.

if로 시작하고 discover/visible을 사용하여 줄에 알고리즘으로 주석을 달았습니다.

수정하려고 합니다이 코드, 다음 중 하나로 :

\documentclass{beamer}
\usepackage[utf8]{inputenc} 
\usepackage[english]{babel}
\usepackage[plain]{algorithm}
\usepackage{algorithmic}
\usepackage{array}
\usepackage{eqparbox}
\renewcommand\algorithmiccomment[1]{%
  \eqparbox{COMMENT}{#1}%
}

\begin{document}
\begin{frame}
\begin{algorithm}[H]
  \begin{algorithmic}[1]
    \STATE $x := 1$ \visible<2->{\COMMENT{$x_1 \in [1;1]$}}
    \WHILE[\visible<2->{\COMMENT{whatever}}]{{$x < 10000$}
      \STATE $x := x+1$     \COMMENT{bla}
      \ENDWHILE
  \end{algorithmic}
\end{algorithm}
\end{frame}

\end{document} 

if 블록의 주석이 두 번째 및 다른 슬라이드에 나타나기를 원합니다. 그래서 을 사용했지만 컴파일 중에는 \uncover에서 허용되지 않습니다 .pdflatex

그만큼오류! Undefined control sequence.(원하시면 로그를 붙여넣을 수 있습니다 )

이것을 어떻게 바꿀 수 있나요? 미리 감사드립니다

편집하다: 가장 좋은 옵션은 logicicx를 사용하는 것입니다. 따라서 a에 대한 주석은 \While같은 줄의 끝에 삽입해야 하며 다음과 같은 주석은 삽입하지 않아야 합니다.\WHILE[]

답변1

이게 요청된 건가요? 잘 모르겠지만 때로는 \only명령을 사용하는 것이 더 나을 때도 있습니다.

\documentclass{beamer}
\usepackage[utf8]{inputenc} 
\usepackage[english]{babel}
\usepackage[plain]{algorithm}
\usepackage{algorithmic}
\usepackage{array}
\usepackage{eqparbox}
\renewcommand\algorithmiccomment[1]{%
  \eqparbox{COMMENT}{#1}%
}

\begin{document}
\begin{frame}
\begin{algorithm}[H]
  \begin{algorithmic}[1]
    \only<1>{%
      \STATE $x := 1$
      \WHILE[]{$x < 10000$}
      \STATE $x := x+1$     \COMMENT{bla}
      \ENDWHILE
    }%
\only<2->{%
  \STATE $x := 1$ {\COMMENT{$x_1 \in [1;1]$}}
  \WHILE[\COMMENT{whatever}]{$x < 10000$}
  \STATE $x := x+1$     \COMMENT{bla}
  \ENDWHILE
}%
\end{algorithmic}
\end{algorithm}
\end{frame}

\end{document} 

관련 정보