# Beamer: always overlay first item on same frame

I've read and tried to follow instructions from similar questions but I can't seem to get my slide to work the way it should. I basically have an itemize block and I want my list items to show overlaid, but always remain top-aligned. My code is:

\begin{frame}[fragile]
\begin{itemize}
\item<1-1> a really long item, which takes up almost the entire page
\item<2-2> another item
\item<3-3> yet another one
\end{itemize}
\end{frame}


Currently, items 2 and 3 correctly show up by themselves, but there is a huge blank space where the first item was. Hope I made my issue clear. Cheers.

• Next time please include an entire document (starting with \documentclass and ending with \end{document} as your MWE. Makes it easier for answerers who otherwise have to type that text themselves. – Matthew Leingang Dec 12 '14 at 12:27

The default overlay specifications use the \uncover method. This means if it they are not “on” the current slide they are invisible, but take up the same amount of space as if they were there.

It sounds like you want material not on the current slide to be skipped altogether, which means you want \only instead. You can add this into the overlay spec like so:

\begin{frame}{Only}
\begin{itemize}
\item<only@1> a really long item, which takes up almost the entire page
\item<only@2> another item
\item<only@3> yet another one
\end{itemize}
\end{frame}


You don't need start and end slides if those slide numbers are the same. In fact, you can further optimize using the + token to indicate “increment one”:

\begin{frame}{Only}
\begin{itemize}
\item<only@+> a really long item, which takes up almost the entire page
\item<only@+> another item
\item<only@+> yet another one
\end{itemize}
\end{frame}


And now that all the specs are the same you can make it an argument to the itemize environment.

\begin{frame}{Only}
\begin{itemize}[<only@+>]
\item a really long item, which takes up almost the entire page
\item another item
\item yet another one
\end{itemize}
\end{frame}

• Thanks your awesomeness! :) Although I had to remove the {Only} argument from \begin{frame} because it was causing an error saying something like "Too much nesting" or smt like that... anyhow, solved! :) – Andrea Aloi Dec 12 '14 at 10:06
• @Andrea: glad it helped you. The Only parameter is just dummy text for a frame title. Put whatever you want (or nothing) there. – Matthew Leingang Dec 12 '14 at 12:17