![Umfang oder \pause überschreiben?](https://rvso.com/image/327801/Umfang%20oder%20%5Cpause%20%C3%BCberschreiben%3F.png)
Ich habe einige Vorlesungsfolien mit mehrteiligen Aufgaben. Ich möchte, dass die Studenten die gesamte Aufgabe sehen und dann die Antworten Schritt für Schritt ausfüllen können. Das ist machbar, solange das auszufüllende Material in schöne kleine Abschnitte aufgeteilt werden kann:
\documentclass{beamer}
\begin{document}
\begin{frame}\onslide<+->{}
This problem has three parts.
\begin{enumerate}
\item What is the answer to part 1?\\
\onslide<+->{First interpret the question.}\onslide<+->{ Then do some work.}\onslide<+->{ Now we can answer the question, and the answer is} \onslide<+->{ 42.}
\item What is the answer to part 2?\\
\onslide<+->{This problem is easy, and the answer is }\onslide<+->{0.}
\item What is the answer to part 3?\\
\onslide<+->{You'll have to figure this one out for yourself.}
\end{enumerate}
\end{frame}
\end{document}
Diese Lösung ist ziemlich elegant (bis auf den Anfangsbuchstaben \onslide<+->
zum Erhöhen des Zählers). Leider bricht sie zusammen (oder wird zumindest sehr chaotisch), wenn ich mitten in einer Umgebung pausieren möchte, wie z. B. bei einer Ausrichtung:
\documentclass{beamer}
\usepackage{amsmath}
\begin{document}
%% Standard (?) fix to make \pause work at all in align environment
\mode<presentation>{\setbeamercovered{transparent=0}}
\makeatletter
\def\beamerorig@set@color{%
\pdfliteral{\current@color}%
\aftergroup\reset@color
}
\def\beamerorig@reset@color{\pdfliteral{\current@color}}
\makeatother
%%
\begin{frame}
This problem has three parts.
\begin{enumerate}
\item What is the answer to part 1?\\\pause
First interpret the question. Then calculate
\begin{align*}
\Pr[X\in A] &=\pause \frac{1}{2^n} \sum_{i=0}^n \binom{n}{i} \\
&=\pause 1
\end{align*}
\item What is the answer to part 2?\\\pause
More answers, \pause with more parts.
\item What is the answer to part 3?\\\pause
...
\end{enumerate}
\end{frame}
\end{document}
Wenn ich es auf diese Weise mache, treten die späteren Teile des Problems natürlich erst auf, wenn wir den ersten Teil fertiggestellt haben.
Ich könnte den früheren Ansatz wahrscheinlich zum Laufen bringen, indem ich die Antwort in noch kleinere Abschnitte aufteile und dann sicherstelle, dass der Text davor und der erste Teil align
gleichzeitig angezeigt werden, aber das scheint eine Menge manuelles Herumfummeln von Fall zu Fall zu erfordern. Ich würde denken, dass die richtige Lösung darin besteht, entweder die Wirkung von \pause
auf einen gewissen Umfang innerhalb der Antwort selbst zu beschränken oder sie zu überschreiben, indem das spätere Material, das ich am Anfang sichtbar haben möchte, undurchsichtig gemacht wird (ich glaube, dass der Fix für align
bereits dafür sorgt, dass der Text immer da ist, nur transparent).
Gibt es eine gute Möglichkeit, dies zu tun?
Antwort1
Ich habe letztendlich den folgenden Workaround mit dem (zugegebenermaßen sehr hackigen) \always
Befehl verwendet, der den Folienzähler für seinen Inhalt zurücksetzt:
\documentclass{beamer}
\usepackage{amsmath}
%% Standard (?) fix to make \pause work at all in align environment
\mode<presentation>{\setbeamercovered{transparent=0}}
\makeatletter
\def\beamerorig@set@color{%
\pdfliteral{\current@color}%
\aftergroup\reset@color
}
\def\beamerorig@reset@color{\pdfliteral{\current@color}}
\makeatother
%%
%% \always{} command ensures that its contents are visible on all slides of the frame.
\newcounter{beamerpausessave}
\newcommand{\always}[1]{\setcounter{beamerpausessave}{\value{beamerpauses}}
\setcounter{beamerpauses}{0}\pause #1
\setcounter{beamerpauses}{\value{beamerpausessave}}\addtocounter{beamerpauses}{-1}\pause}
\begin{document}
\begin{frame}
This problem has three parts.
\begin{enumerate}
\always{\item What is the answer to part 1?\\}\pause
First interpret the question. Then calculate
\begin{align*}
\Pr[X\in A] &=\pause \frac{1}{2^n} \sum_{i=0}^n \binom{n}{i} \\
&=\pause 1
\end{align*}
\always{\item What is the answer to part 2?\\}\pause
More answers, \pause with more parts.
\always{\item What is the answer to part 3?\\}\pause
...
\end{enumerate}
\end{frame}
\end{document}
Ich verstehe immer noch nicht wirklich, warum diese spezielle Kombination aus Einstellung beamerpauses
und Verwendung \pause
zufällig funktioniert hat, wenn nichts Einfacheres funktioniert hat.