My purpose is to make a frame with 2 columns: on the left, a series of items, and on the right, figures (with one exception). The items are meant to appear one at a time, with different figures (or text) on the right column, which are related to the text on the items.
That exception (slide 3 in the example below) is what is giving me trouble (see the gif animation below). At the 3rd slide on the right there should be an itemized. The list is there actually, but transparent.
This only happens when I put the list on a middle slide. If I change the order so that the list appears at the end, then everything is OK.
If I eliminate the alertblock
and the itemize
environments (i.e.: make it just normal text), then the problem disappears. Any of those environments alone (i.e.: just the alertblock
or just the itemize
) seem to trigger the problem again.
The figure below explains (I hope) what the problem is:
This is a toy example source code:
\documentclass{beamer}
\mode<presentation>
{
\usecolortheme{default}
\setbeamercovered{transparent}
}
\usepackage{lmodern}
\begin{document}
\begin{frame}[t]{some title}
\begin{columns}[T]
\column{.5\textwidth}
\begin{itemize}
\item<1-| alert@1>
item 1
\item<2-| alert@2>
item 2
\item<3-| alert@3>
item 3 %%% THE PROBLEM APPEARS IN THIS SLIDE
\item<4-| alert@4>
item 4
\item<5-| alert@5->
item 5
\end{itemize}
\onslide<6->
\footnotesize final words...
\column{.5\textwidth}
\only<1>{ figure 1 }
\only<2>{ figure 2 }
%% AND NOW, THE PROBLEMATIC PART:
\only<3>{
\begin{alertblock}
\small % if I comment this line it doesn't compile.
\begin{itemize}
\item
more items 1
\item
more items 2
\end{itemize}
\end{alertblock}
}
%% END OF TROUBLEMAKER
\only<4>{ figure 3 }
\only<5->{ figure 4 (last) }
\end{columns}
\end{frame}
\end{document}
And there's another weird behavior: if I comment out the \small
command, the document doesn't even compile, giving me this error message:
! TeX capacity exceeded, sorry [input stack size=5000].
\end #1->\csname end#1
\endcsname \@checkend {#1}\expandafter \endgroup \if@e...
l.50 \end{frame}
! ==> Fatal error occurred, no output PDF file produced!
Any help is much appreciated!
Best Answer
There are two problems with your code:
\onslide
differ depending on whether it's used within anoverprint
environment (onslide<...> ...
) or not (onslide<...>{...}
). You need to surround the overlay element (\footnotesize final words...
) with braces here. See Transparent table captions when using onslide with overprint and setbeamercovered{invisible} for more details. Not using braces as required wreaks havok on the rest of the frame; that is the source of your overlay problem.alertblock
environment requires one argument (namely the title of the block). No argument is passed to thealertblock
environment if you comment out the next line. If you don't want a title, just pass{}
as the mandatory argument.See below: