Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

In a certain frame, I would like to have a picture at the bottom of the frame and several list items that describe it. So my plan is to divide the frame vertically, put the picture at bottom and the list items on top. However because of room issue, I would like the first item to appear, then be replaced by the second item, and so on.

That is, my first slide in that frame should look like:

\begin{frame}[t]{System overview}
    \begin{minipage}{\textwidth}
            \begin{itemize}
                \item item1
            \end{itemize}
    \end{minipage}
    \vfill
    \begin{minipage}{\textwidth}
        \begin{center}
            \includegraphics[scale=0.65]{picture.jpg}
        \end{center}
    \end{minipage}
\end{frame}

and the second slide:

\begin{frame}[t]{System overview}
    \begin{minipage}{\textwidth}
            \begin{itemize}
                \item item2
            \end{itemize}
    \end{minipage}
    \vfill
    \begin{minipage}{\textwidth}
        \begin{center}
            \includegraphics[scale=0.65]{picture.jpg}
        \end{center}
    \end{minipage}
\end{frame}

and so on. Any ideas?

share|improve this question
add comment

2 Answers

up vote 6 down vote accepted

You can simply use overlay specifications on the items. As follows:

\begin{frame}[t]{System overview}
  \begin{minipage}{\textwidth}
    \begin{itemize}
      \item<1> item1
      \item<2> item2
    \end{itemize}
  \end{minipage}
  \vfill
  \begin{minipage}{\textwidth}
    \centering
    \includegraphics[scale=0.65]{picture.jpg}
  \end{minipage}
\end{frame}

Note that I replaced the center environment with \centering, it deals better with space. If you want elements to be visible on more than one slide, you can use ranges like <1-4> for slides 1 through 4 and <3-> for from slide 3 onwards.

Edit: I misunderstood the quesiton, to keep the items in place you need an \only specification. You can renew the \item macro to be "overlay-aware" like this:

\documentclass{beamer}
\renewcommand<>{\item}[1]{\only#2{\beameroriginal{\item}{#1}}}
\begin{document}
  \begin{frame}[t]{System overview}
  \begin{minipage}{\textwidth}
    \begin{itemize}
      \item<1>{item1}
      \item<2>{item2}
    \end{itemize}
  \end{minipage}
  \vfill
  \begin{minipage}{\textwidth}
    \centering
    \includegraphics[scale=0.65]{picture.jpg}
  \end{minipage}
\end{frame}
\end{document}

Note that you need the {} around the argument to \item.

If for some reason you don't want to have to use curly braces to delimit the argument to \item or you don't want to renew the item command you can use the action specification like follows:

\documentclass{beamer}
\begin{document}
  \begin{frame}[t]{System overview}
  \begin{minipage}{\textwidth}
    \begin{itemize}
      \item<1|only@1> item1
      \item<2|only@2> item2
      \item<3|only@3> item3
    \end{itemize}
  \end{minipage}
  \vfill
  \begin{minipage}{\textwidth}
    \centering
    \includegraphics[scale=0.65]{picture.jpg}
  \end{minipage}
\end{frame}
\end{document}
share|improve this answer
    
Thanks. However, I want the second item to appear in the same place as the first item, and so on. Otherwise I don't have room for the picture –  Elec Jan 23 '12 at 8:56
    
@Elec: see the updated answer. –  Roelof Spijker Jan 23 '12 at 9:11
    
Thanks, it does the trick. But is it possible to define it only locally? (I don't want to change the itemize definition outside that specific frame). Also another issue - is it possible to make the picture "stick" to the bottom of the page? it changes the vertical position as I change slides, depending on the item's number of rows, even though I used \vfill –  Elec Jan 23 '12 at 9:35
    
@Elec: You can specify \begin{frame}[b], then the whole frame is aligned to bottom instead of center. –  tohecz Jan 23 '12 at 9:45
    
Ok, the updated answer is perfect regarding the items. Do you know how to solve the issue of vertical alignment? –  Elec Jan 23 '12 at 9:46
show 3 more comments

You need the \alt command which works like \item\alt<1>{item1}{item2} or nested: \item\alt<1>{item1}{\alt<2>{item2}{item3}} etc. Look up the details of this command in the beamer documentation.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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