Mi código:
\documentclass{beamer}
\begin{document}
\begin{frame}[fragile]
% Slide 1
\begin{onlyenv}<1->
\begin{verbatim}
#include <stdio.h>
int main()
{
printf("hello, world\n");
return 0;
}
\end{verbatim}
\end{onlyenv}
% Slide 1 + Slide 2
\begin{onlyenv}<2>
\begin{verbatim}
$ cc hello.c
\end{verbatim}
\end{onlyenv}
% Slide 1 + Slide 3
\begin{onlyenv}<3>
\begin{verbatim}
$ cc hello.c
$ ./a.out
\end{verbatim}
\end{onlyenv}
% Slide 1 + Slide 4
\begin{onlyenv}<4>
\begin{verbatim}
$ cc hello.c
$ ./a.out
hello, world
\end{verbatim}
\end{onlyenv}
\end{frame}
\end{document}
El problema con este código es que a medida que se revela, el contenido sigue saltando debido al cambio de altura del contenido. ¿Existe un entorno equivalente onlyenv
que reserve el espacio para que el contenido se revele en futuras diapositivas?
Supongo que lo que pregunto es: el \only
comando no reserva espacio para contenido oculto y tiene un entorno equivalente llamado \onlyenv
. Por otro lado, \onslide
reserva espacio para contenido oculto y estoy intentando encontrar un entorno equivalente para ello.
Respuesta1
Es posible hacer esto con el overprint
medio ambiente. Dentro de este entorno, el \onslide
comando funciona como un archivo \item
.
Cito el manual del proyector(9.6.1 Cómo hacer que los comandos y entornos superpongan las especificaciones según las especificaciones)
\begin{overprint}[area width] environment contents \end{overprint}
El ancho del área por defecto es el ancho del texto. Dentro del entorno, utilice \onslidecomandos para especificar diferentes cosas que deben mostrarse para este entorno en diferentes diapositivas. El\onslideLos comandos se usan como\artículocomandos. Todo lo que esté dentro del entorno se colocará en un área rectangular del ancho especificado. La altura y profundidad del área se eligen lo suficientemente grandes como para acomodar el mayor contenido del área. Las especificaciones de superposición del\onslideLos comandos deben ser separados. Esto puede ser un problema para los folletos, ya que allí todas las especificaciones de superposición son predeterminadas.1. Si usas la opciónrepartir, puedes desactivar todos menos uno\onslideconfigurando los demás para0.
\documentclass{beamer}
\begin{document}
\begin{frame}[fragile]
% Slide 1
\begin{overprint}
\onslide<1->
\begin{verbatim}
#include <stdio.h>
int main()
{
printf("hello, world\n");
return 0;
}
\end{verbatim}
\end{overprint}
% Slide 1 + Slide 2
\begin{overprint}
\onslide<2->
\begin{verbatim}
$ cc hello.c
\end{verbatim}
\end{overprint}
% Slide 1 + Slide 3
\begin{overprint}
\onslide<3->
\begin{verbatim}
$ ./a.out
\end{verbatim}
\end{overprint}
% Slide 1 + Slide 4
\begin{overprint}
\onslide<4->
\begin{verbatim}
hello, world
\end{verbatim}
\end{overprint}
\end{frame}
\end{document}