1

In a beamer class document, I would like to change the definition of the enumerate environment in such a way that every item is displayed in its own frame, at the top of the frame. In other words, I would like the following code

\documentclass{beamer}
% Code changing the definition of enumerate
\begin{document}

\begin{enumerate}
  \item First point
  \item Second point
\end{enumerate}

\end{document}

to produce the same result than

\documentclass{beamer}
\begin{document}

\begin{frame}
1) First point
\vspace*{\textheight} % moves the item at the top of the slide
\end{frame}

\begin{frame}
2) Second point
\vspace*{\textheight}
\end{frame}

\end{document}

Note that I do not want the 1) First point to appear on the second slide.

If it is possible (cherry on the cake!), I would like this redefinition of enumerate to be applied only when used inside a certain environment (say myenv).

1

You can use <only@1> to show a particular item on the first slide of a frame only. Instead of \vspace*{\textheight}. use [t] in order to top align the contents of a frame:

enter image description here

\documentclass{beamer}
\begin{document}

\begin{frame}[t]
\begin{enumerate}
 \item<only@1> First point
 \item<only@2> Second point
\end{enumerate}
\end{frame}

\end{document}
1
  • Thanks! But you do not answer my question, as I want the behavior of \item to be modified once and for all, and not having to type <only@n> to every item
    – Guillaume
    Nov 11 '20 at 8:32

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.