16

Using LaTeX and beamer, I'm using the shorthanded notation <+-> and its variants (e.g. <+-| alert@+>, etc.) to have list items uncovered so that I do not have to manually enter a specific number for each slide, and can insert a new list item without having to renumber everything.

However, sometimes I want to display some text that appears before the first list item is shown. The way I have done this is to create an invisible item (called \noitem below) and insert that as my first list item. It is admittedly a kludge ... and, furthermore, it forces the insertion of some vertical space between the text shown initially and the list. Is there a more elegant way to do this? Ideally, it should not require extra vertical space either.

Here's a MWE:

\documentclass{beamer} 

\newcommand{\noitem}{\item[{\color{white} blank}] {\color{white} blank}}

\begin{document}

\begin{frame}{Test}
Some text displayed initially.
    \begin{itemize}[<+->]
    \noitem  % invisible item shown on first slide
    \item First item, uncovered on second slide
    \item Second item, uncovered on third slide. 
    \end{itemize}
\end{frame}

\end{document}

2 Answers 2

18

You can put \pause before the \begin{itemize} line.

3
  • Of course, how silly of me not to think of that... Thank you very much.
    – André
    Commented Dec 20, 2011 at 4:27
  • 1
    @André Sometimes it's the simple stuff that escapes us. Also, I think once you learn about <+-> you tend to internalize it as "don't ever use \pause", but sometimes \pause is just what's needed.
    – Alan Munn
    Commented Dec 20, 2011 at 5:25
  • I have images coming after the item list which I want to be visible before the first list item becomes visible. Putting a \pause before the \begin{itemize} hides the images as well on the first slide. How can I prevent that? Commented Aug 21, 2013 at 18:20
19

Use the overlay specification <+(1)-> instead of <+->, to offset the + in the overlay specification by 1:

\documentclass{beamer}

\begin{document}

\begin{frame}{Test}
Some text displayed on all slides in the frame.
    \begin{itemize}[<+(1)->]
    \item First item, uncovered on second slide
    \item Second item, uncovered on third slide. 
    \end{itemize}
Some more text to be displayed on all slides in the frame.
\end{frame}

\end{document}

Animation: enter image description here

Single frames: First slide, second slide, third slide

4
  • 2
    Could you add complete code based on the OP's MWE?
    – egreg
    Commented Aug 21, 2013 at 19:25
  • 1
    @egreg: Good idea. I've updated the answer. Commented Aug 21, 2013 at 20:44
  • Cool, I didn't know about that additional syntax!
    – Daniel
    Commented Aug 21, 2013 at 21:39
  • Nice animation, Qrrbrbirlbel! :) Commented Aug 22, 2013 at 7:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .