[Tex/LaTex] How to distribute beamer overlayareas in handout mode across multiple frames

beameroverlays

I have a beamer frame with an overlayarea environment. Inside that environment are some bits marked \only<n> so that they appear on consecutive slides.

\begin{frame}
\begin{theorem}
     There are infinitely many primes.
\end{theorem}
This has many ramifications:
\begin{overlayarea}{\textwidth}{0.3\textheight}
    \only<2>{\begin{corollary}Corollary 1\end{corollary}}
    \only<3>{\begin{corollary}Corollary 2\end{corollary}}
    \only<4>{\begin{corollary}Corollary 3\end{corollary}}
\end{overlayarea}
\end{frame}

In beamer mode, you get one frame with four slides, the first of which will just have the theorem and the next three with one each of the corollaries under the theorem. The overlayarea environment keeps the theorem from jumping as the heights of the corollaries change.

In handout mode, all \onlys are expanded regardless of the slide number, unless you explicitly shut them off with a <handout:0> mode specification. So the code above will produce a single too-long frame with all three corollaries one after the other.

What I would like instead is to have three frames in handout mode, one with the theorem and corollary 1, one with the theorem and corollary 2, one with the theorem and corollary 3. In other words, the overlayarea should "distribute" across the three overlays specified.

The brute force way to do this would be to copy, paste, and edit so that only the slide needed is there. But I'm looking for something more elegant.

Is there, for instance, a way to make handout mode not overlay all overlay-specfified material, and instead set a frame as if it were slide number n? This is related to a question "different overlay specification in different beamer modes?" I asked a while back on SO.

Best Answer

The <handout:O> syntax tells beamer to remove something from a slide in the handout version. It can also be used to tell beamer to put things on different slides in the handout version. Thus saying <handout:2> says "make sure that there is a second slide in the handout version and put this on it.". Thus:

\documentclass[handout]{beamer}

\begin{document}
\begin{frame}
\begin{theorem}
     There are infinitely many primes.
\end{theorem}
This has many ramifications:
\begin{overlayarea}{\textwidth}{0.3\textheight}
    \only<2|handout:1>{\begin{corollary}Corollary 1\end{corollary}}
    \only<3|handout:2>{\begin{corollary}Corollary 2\end{corollary}}
    \only<4|handout:3>{\begin{corollary}Corollary 3\end{corollary}}
\end{overlayarea}
\end{frame}
\end{document}