Issue #9 invalid

# Blocks and itemize: incompatibility?

Anonymous created an issue

I discovered the problem while trying to use blocks as containers/frames for images: the title works as caption.

If I have only blocks in the page, I can make them appear using the <n-> notation, but if I also have an itemize environment in the page, they don't work anymore: when using "transparent" they appear according to the specifications, but they are transparent until the last step of the slide.

Examples are given here, where I asked before making further tests and finding it could be a bug of beamer:

Workaround: if the block environments appear before the itemize, the problem disappears.

1. repo owner

Sure, I made one when testing. Here it is:

\documentclass{beamer}
\usecolortheme{crane}

\setbeamercovered{transparent}

\begin{document}

\begin{frame}
\frametitle{Title}

\begin{itemize}
\item text1
\pause
\item text2
\pause
\item text3
\pause
\item text4
\pause
\end{itemize}

\begin{onlyenv}<2->
\begin{block}{Caption1}
\end{block}
\end{onlyenv}
\begin{onlyenv}<3->
\begin{block}{Caption2}
\end{block}
\end{onlyenv}

\end{frame}

\end{document}


I did a bit of testing, and things are more subtle than I expected. The problem only shows up when the block statements have overlay specs which come after other items. For example, if you try

\documentclass{beamer}
\usecolortheme{crane}

\setbeamercovered{transparent}

\begin{document}

\begin{frame}
\frametitle{Title}

\begin{itemize}
\item text1
\pause
\item text2
\item text3
\item text4
\end{itemize}

\begin{onlyenv}<2->
\begin{block}{Caption1}
\end{block}
\end{onlyenv}
\begin{onlyenv}<3->
\begin{block}{Caption2}
\end{block}
\end{onlyenv}

\end{frame}

\end{document}


or

\documentclass{beamer}
\usecolortheme{crane}

\setbeamercovered{transparent}

\begin{document}

\begin{frame}
\frametitle{Title}

\begin{itemize}
\item text1
\pause
\item text2
\pause
\item text3
\item text4
\end{itemize}

\begin{onlyenv}<3->
\begin{block}{Caption1}
\end{block}
\end{onlyenv}
\begin{onlyenv}<3->
\begin{block}{Caption2}
\end{block}
\end{onlyenv}

\end{frame}

\end{document}


then all is fine. So it's not the itemize itself, I think, but the mix of overlay requirements.

2. repo owner

I looked at it, but looks very nontrivial. I had no particular idea in mind where to start, but likely pause will have to be implemented in a different way.

Joseph, can you look at it?

3. I'll assign this to me: don't expect immediate results, but I'll look at this once I've got through a backlog of other jobs!

Opinion: \pause causes anything following it hidden, overwriting overlay specifications of following material. In particular, it has nothing to do with itemize or block.

Example:

\documentclass{beamer}
\usecolortheme{crane}

\setbeamercovered{transparent}

\begin{document}

\begin{frame}{Title}

text1
\pause
text2
\pause
text3
\pause
text4
\pause

\begin{onlyenv}<2->
Caption1
\end{onlyenv}
\uncover<3->{Caption2}

\end{frame}

\end{document}


Re-reading the documentation Till wrote, this is pretty much spot-on. Till does say that \pause lasts until the next \pause or the end of the frame, so while this may be a bit odd it's consistent with the docs. That makes this INVALID (not a criticism of the report).