我的程式碼:
\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}
此程式碼的問題在於,當程式碼被顯示時,由於內容高度的變化,內容不斷跳躍。是否有一個與之相當的環境onlyenv
可以為未來幻燈片中展示的內容預留空間。
我想我要問的是:該\only
命令不為隱藏內容保留空間,並且它有一個名為 的等效環境\onlyenv
。另一方面,\onslide
為隱藏內容保留空間,我正在嘗試為其找到等效的環境。
答案1
透過環境可以做到這一點overprint
。在此環境中,該\onslide
命令充當\item
.
我引用了投影機手冊(9.6.1 使命令和環境覆蓋規範感知)
\begin{overprint}[area width] environment contents \end{overprint}
區域寬度預設為文字寬度。在環境內部,使用 \幻燈片上命令指定應在不同投影片上為此環境顯示的不同內容。這\幻燈片上指令的使用方式如下\物品命令。環境中的所有內容都將放置在指定寬度的矩形區域中。該區域的高度和深度選擇得足夠大,以容納該區域最大的內容。疊加規格\幻燈片上命令必須是不相交的。這對於講義來說可能是個問題,因為所有覆蓋規範都預設為1。如果您使用該選項講義,您可以停用除一個之外的所有\幻燈片上透過將其他設定為0。
\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}