是否有相當於「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.

我引用了投影機手冊(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}

相關內容