是否有与“onlyenv”等效的为隐藏内容保留空间的功能?

是否有与“onlyenv”等效的为隐藏内容保留空间的功能?

我的代码:

\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

我引用了 beamer 手册(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}

相关内容