隠しコンテンツ用のスペースを予約する「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オプションを使用する場合配布資料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}

関連情報