有没有办法让命令\only
在块中起作用beamer
?
或者是否有其他方法可以让块出现然后消失?
这是我的代码的一部分:
\documentclass{beamer}
\usetheme{CambridgeUS}
\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{moreverb}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]{Creation des outils principaux}
% - Le titre doit résumer le transparent dans un langage compréhensible
% par tous ceux qui ne suivront rien de ce qu'il y a sur ce transparent.
\begin{itemize}
\item Recuperation des donnees entrées dans le terminal
\only<2>{
\begin{exampleblock}{Opt Parse}
\begin{lstlisting}[firstnumber=0]
import optparse
def parser():
parser = optparse.OptionParser( description = "Dessinateur de fonctions")
parser.add_option('-o', type=str, action = "store",
default="out.ppm", dest="filename",
help='filename. Default : out.ppm')
return parser.parse_args()
if __name__ == '__main__':
(opts, args) = parser()
\end{lstlisting}
\end{exampleblock}
}
\end{itemize}
\end{frame}
\end{document}
答案1
我没看到你的问题。我构建了这个 MWE:
\documentclass{beamer}
\usetheme{CambridgeUS}
\begin{document}
\begin{frame}{Title of this frame}
% first block appears at first
\only<1>{
\begin{block}{First block}
Hello
\end{block}
}
% first block disappears and the second appears
\only<2>{
\begin{block}{Second block}
Hello again
\end{block}
}
\end{frame}
\end{document}
获得这两个框架:
如您所见,帧号始终相同,并且第二个块出现在第一个块之后,并且不太明显。
编辑
在您发布 MWE 后,我了解到了您的问题。也许我的解决方案不能完全让您满意,但它确实有效。
首先:这个选项fragile
无论如何都是需要的。其次,由于我注意到代码几乎占据了整个框架(即使将字体大小设置得更小),所以我决定在我的解决方案中将其放在环境之外itemize
。
这是新的 MWE:
\documentclass{beamer}
\usetheme{CambridgeUS}
\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{moreverb}
\usepackage{listings}
\lstset{basicstyle={\footnotesize}}
\begin{document}
\begin{frame}[fragile]{Creation des outils principaux}
% - Le titre doit résumer le transparent dans un langage compréhensible
% par tous ceux qui ne suivront rien de ce qu'il y a sur ce transparent.
\begin{itemize}
\item<1-> Recuperation des donnees entrées dans le terminal
\end{itemize}
\begin{exampleblock}{Opt Parse}<2>
\begin{lstlisting}[firstnumber=0]
import optparse
def parser():
parser = optparse.OptionParser( description = "Dessinateur de fonctions")
parser.add_option('-o', type=str, action = "store",
default="out.ppm", dest="filename",
help='filename. Default : out.ppm')
return parser.parse_args()
if __name__ == '__main__':
(opts, args) = parser()
\end{lstlisting}
\end{exampleblock}
\end{frame}
\end{document}
结果如下面两帧所示:
注意,关键点是将 插入<1->
和item
。<2>
这样exampleblock
,item
当 出现时, 的句子仍然可见exampleblock
。
答案2
Claudio 的变体回答可以通过修改动作规范环境block
,正如Beamer 3.50 版用户指南在第 9.6.3 节中:
\documentclass{beamer}
\usetheme{CambridgeUS}
\begin{document}
\begin{frame}{Title of this frame}
% first block appears at first
\begin{block}<only@1>{First block} % <-- note the "only@" here...
Hello
\end{block}
% first block disappears and the second appears
\begin{block}<only@2>{Second block} % <-- and here
Hello again
\end{block}
\end{frame}
\end{document}