12

I'm making a presentation in Beamer and I've been having some trouble getting exactly the effect I want.

I have three blocks, one that stretches across the entire width of the slide, and two that are side by side in a \columns environment. The top block should be always visible, but on the first slide I don't want to see the either two. The next slide should show the top block and the left block, but not the right block. The third and last slide should show all three blocks, but the left block should be greyed out.

I have tried using \visible and \pause but everything I try I can make work only if I duplicate a lot of my text, which I don't think should be necessary.

Here is an example that almost works, it just needs to grey out the left block on the second slide

\documentclass{beamer}
\usetheme{Darmstadt}
\begin{document}
\begin{frame}{example}
  \begin{block}{Top Block}
    Should be visible on all slides
  \end{block}
  \begin{columns}[C]
    \begin{column}{0.5\textwidth}
      \begin{block}<2>{left  block}
        Should be visible on slide 2 and greyed out on slide 3
      \end{block}
    \end{column}
    \begin{column}{0.5\textwidth}
      \begin{block}<3>{right block}
        Should only be visible only on slide 3
      \end{block}
    \end{column}
  \end{columns}
\end{frame}
\end{document}
  • Welcome to TeX.sx! Please add a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}. – jub0bs May 5 '13 at 15:04
9

The grayed-out effect is activated with \setbeamercovered{transparent}. When using \only the item will only appear on the specified slides, and not even grayed out on the other slides.

\documentclass{beamer}
\usetheme{Darmstadt}
\setbeamercovered{transparent}
\begin{document}
\begin{frame}[t]{example}
  \begin{block}{Top Block}
    Should be visible on all slides
  \end{block}
  \begin{columns}[C]
    \begin{column}{0.5\textwidth}
      \only<2->{%
      \begin{block}<2>{left  block}
        Should be visible on slide 2 and greyed out on slide 3
      \end{block}}
    \end{column}
    \begin{column}{0.5\textwidth}
      \only<3>{%
      \begin{block}{right block}
        Should only be visible only on slide 3
      \end{block}}
    \end{column}
  \end{columns}
\end{frame}
\end{document}

I top-aligned the slide contents, so that appearing blocks do not affect the layout. If you have troubles with that, we can search for an alternative solution without \only.

  • 2
    This is almost what I want. The only problem is with the vertical alignment of the left block. In my actual document, the right block is taller than the left block and with this the left block moves between slides 2 and 3. I fixed this by changing the \only<3>{ to \visible<3>{ – Matt May 5 '13 at 16:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.