18

How can I achieve in beamer that the first slide of each frame is void (that is, only displays the frametitle)?

Suppose I have the following frame:

\frame{\frametitle{Title}
\begin{itemize}
\item<1-> A
\item<2-> B
\end{itemize}
}

Now I want to achieve that on the first slide only the title is displayed and the overlays already specified are accordingly shifted by one (without changing the overlay numbers already specified).

The background is that I have already specified many overlays. Adding +1 to all overlay numbers manually would be a nuisance. Hence I want to tell beamer at the beginning of each frame that it shall pause one slide before starting with the already existing overlays.

4 Answers 4

24

To increase the overlay counter manually (your title), use:

\addtocounter{beamerpauses}{X}

where X is the number of frames... or

\stepcounter{beamerpauses}

to increment the counter by 1

For example, you proceed like this:

\begin{frame}
\stepcounter{beamerpauses}
\begin{itemize}[<+->]
\item A
\item B
\end{itemize}
\end{frame}

Another possibility is to set the overlay number by hand:

\begin{frame}
\begin{itemize}
\item<2-> A
\item<3-> B
\end{itemize}
\end{frame}

Edit: it seems also possible to use this kind of construction that could fit to your purpose:

\begin{frame}
\begin{itemize}[<+(1)->]
\item A
\item B
\end{itemize}
\end{frame}

or this:

\begin{frame}[<+(1)->]
\begin{itemize}
\item A
\item B
\end{itemize}
\end{frame}
7
  • Somehow your solutions don't achieve what I intended ... I edited my question. Now it should be clearer what I had in mind ...
    – lpdbw
    Dec 12, 2012 at 10:34
  • 1
    Sorry, but IMO it is not possible: adding \item<1-> tells explicitly to beamer to display this part from slide 1. You have either to fix all your numbers, or to use incremental displaying (<+-> and co) that will be more flexible in case of modification. Dec 12, 2012 at 10:37
  • @lpdbw Changing all your overlay numeration could be more or less easy, depending on your editor. I've never done it, but editor like VIM have powerfull search/replace capabilities and I'm pretty sure that it could recognize the syntax <(num)-> and replace it automatically by <(num+1)->... Dec 12, 2012 at 10:47
  • My editor is WinEdt V5 ... VIM is out of my league! ;-) But, you could be right that my problem has no solution since I assign an absolute value to the overlay counters ...
    – lpdbw
    Dec 12, 2012 at 11:10
  • <+(1)-> saved my ass. When I tried using \pause before the item list, the pictured that came after the list was also paused — with this overlay specification, it's not. Aug 21, 2013 at 18:58
4

A simple solution to my problem: Insert a void frame:

\frame{\frametitle{Title}
}
\frame{\frametitle{Title}
\begin{itemize}
\item<1-> A
\item<2-> B
\end{itemize}
}

PS: This answer implies that my question was not very bright. Please tell me if you agree. I could then delete it.

4
  • 1
    I think someone else might find this question useful. Indeed, even though your solution is simple, as it was not immediately obvious to you, chances are that it will not be obvious to others either. So I suggest keeping it! Dec 12, 2012 at 12:17
  • OK, maybe we could find a better fitting title so that it will be found by people having the same problem...?!
    – lpdbw
    Dec 12, 2012 at 13:07
  • I would personally favour keeping the question general. It may be possible to hack beamer's decoding of the overlay number to achieve what you originally wanted, and I would be quite interested to see an answer that attempts that. In fact, the current title may in some ways be more obvious to people having the same problem (though that would depend on what alternative titles can be proposed). Ultimately, I guess it's up to you, unless anyone else expresses an opinion. Dec 12, 2012 at 13:21
  • This may be a very bad solution depending on which outer theme you use. For instance, \insertframenumber won't work as you would expect.
    – scozy
    Mar 13, 2015 at 16:27
4

How about using \only?

\begin{frame}{Frame Title}
\only<2->{
\begin{itemize}
\item A
\item B
\end{itemize}
}
\end{frame}
0

Instead of changing the interpretation of the overlay specifications, one could consider changing the first overlay number of frames. Note this is almost certainly not a good idea, but I'm offering it as a suggestion anyway.

Also, this affects all frames, not just one. There's probably things I've missed and other undesirable side-effects, but here we go:

\documentclass{beamer}
\usepackage{etoolbox}
\makeatletter
\newcount\beamer@startslidenum
\beamer@startslidenum=0\relax
\patchcmd{\beamer@doseveralframes}{\beamer@slideinframe=1\relax}{\beamer@slideinframe=\beamer@startslidenum}{}{\errmessage{failed to patch}}
\patchcmd{\beamer@dosingleframe}{\beamer@slideinframe=1\relax}{\beamer@slideinframe=\beamer@startslidenum}{}{\errmessage{failed to patch}}
\patchcmd{\beamer@donoframe}{\beamer@slideinframe=1\relax}{\beamer@slideinframe=\beamer@startslidenum}{}{\errmessage{failed to patch}}
\makeatother

\begin{document}
\frame{\frametitle{Title}
\begin{itemize}
\item<1-> A
\item<2-> B
\end{itemize}
}
\end{document}
2
  • Do commands like <handout:0> still work ? Dec 12, 2012 at 12:33
  • @LionelMANSUY: it depends what you mean by "work" in this context. The normal behaviour of <handout:0> is to suppress the frame in the handout mode, and that behaviour is preserved. Whether that is "correct" is another matter. But note that this hack is likely to break almost everything and I don't recommend it be used! Dec 12, 2012 at 13:10

You must log in to answer this question.

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