[Tex/LaTex] Beamer overlays outside of environments

beamer

I would like to uncover elements of a slide in beamer, even if these elements are just plain text in the frame environment. I know how to accomplish this in a brute-force way. That is, the following MWE exhibits exactly the behavior I want.

\documentclass{beamer}

\mode<presentation>{\usetheme{default}}


\begin{document}


\begin{frame}

  Some text

  \pause%
  Some more text

  \begin{description}
  \item [First def]<3-> foo
  \item [Second def]<4-> bar
  \end{description}

  \uncover<5->{Some final remarks}

\end{frame}

\end{document}

Clearly, this method is labor intensive and extremely fragile. Adding "[<+->]" as an option to the initial declaration of the frame environment does not affect the display of the text, so that doesn't do it.

I'm looking for a solution that ideally does better on both counts, i.e., is more automated and more robust.

I know that I could handle things simply by putting the text inside an itemize-environment, but doing so indents the text and unbalances the slides visually. In other words, I'm quite committed to the layout.

Best Answer

Maybe a solution using +- (next overlay) and .- (current overlay):

\documentclass{beamer}
\mode<presentation>{\usetheme{default}}
\begin{document}

\begin{frame}
  \uncover<+->{Some text}

  \uncover<+->{Some more text}

  \uncover<.->{with Some more text}

  \begin{description}
  \item [First def]<+-> foo
  \item [Second def]<.-> bar
  \item [Third def]<+-> foobar
  \end{description}

  \uncover<+->{Some final remarks}
\end{frame}

\end{document}