Gibt es ein Äquivalent zu „onlyenv“, das den Platz für versteckte Inhalte reserviert?

Gibt es ein Äquivalent zu „onlyenv“, das den Platz für versteckte Inhalte reserviert?

Mein Code:

\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}

Das Problem mit diesem Code besteht darin, dass der Inhalt beim Anzeigen des Codes aufgrund der sich ändernden Höhe des Inhalts ständig herumspringt. Gibt es eine entsprechende Umgebung, onlyenvdie den Platz für die Anzeige des Inhalts in zukünftigen Folien reserviert?

Ich denke, was ich frage, ist: Der \onlyBefehl reserviert keinen Speicherplatz für versteckte Inhalte und hat eine entsprechende Umgebung namens \onlyenv. Andererseits \onslidereserviert Speicherplatz für versteckte Inhalte und ich versuche, eine entsprechende Umgebung dafür zu finden.

Antwort1

Dies ist mit der Umgebung möglich overprint. Innerhalb dieser Umgebung \onslidefungiert der Befehl als \item.

Ich zitiere das Beamer-Handbuch(9.6.1 Befehle und Umgebungen Overlay-Spezifikationsfähig machen)

\begin{overprint}[area width] environment contents \end{overprint}

Die Bereichsbreite entspricht standardmäßig der Textbreite. Verwenden Sie innerhalb der Umgebung \onFolieBefehle, um verschiedene Dinge anzugeben, die für diese Umgebung auf verschiedenen Folien angezeigt werden sollen. Die\onFolieBefehle werden verwendet wie\ArtikelBefehle. Alles innerhalb der Umgebung wird in einem rechteckigen Bereich der angegebenen Breite platziert. Die Höhe und Tiefe des Bereichs werden groß genug gewählt, um den größten Inhalt des Bereichs aufzunehmen. Die Overlay-Spezifikationen der\onFolieBefehle müssen disjunkt sein. Dies kann ein Problem für Handouts sein, da dort alle Overlay-Spezifikationen standardmäßig1Wenn Sie die OptionHandzettelkönnen Sie alle bis auf einen deaktivieren\onFolieindem Sie die anderen auf0.

\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}

verwandte Informationen