我正在尝试修改此代码,变成以下一个:
\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.
(如果你愿意,我可以粘贴日志)
我该如何改变这种情况?提前致谢
编辑:最好的选择可能是使用 algorithmicx。因此,注释\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}