24

I am trying to create two columns of a single enumerated list on a single frame in beamer. How do I go about getting the enumeration to continue from one column to the next?

2 Answers 2

33

The usual way to resume lists is to use the enumitem package, but this doesn't work very well with beamer. So in this case, the easiest way to do this is to define a counter to store the enumeration number in the one column and restore it at the beginning of the enumeration in the next column:

\documentclass{beamer}
\newcounter{savedenum}
\newcommand*{\saveenum}{\setcounter{savedenum}{\theenumi}}
\newcommand*{\resume}{\setcounter{enumi}{\thesavedenum}}
\begin{document}
\begin{frame}
\begin{columns}[T]
  \begin{column}{.5\linewidth}
  \begin{enumerate}
    \item First item
    \item Second item
    \saveenum
  \end{enumerate}
  \end{column}
  \begin{column}{.5\linewidth}
  \begin{enumerate}
    \resume
    \item Third item
    \item Fourth item
  \end{enumerate}
  \end{column}
\end{columns}
\end{frame}
\end{document}
5
  • Awesome, just what I was looking for!
    – DJJerome
    Commented Aug 16, 2011 at 3:56
  • @PatrickT What do you mean? Can you explain what you tried to do that didn’t work?
    – Alan Munn
    Commented Feb 6, 2022 at 4:49
  • @AlanMunn, I don't know, I just spent 30 minutes trying to make a minimal example, but the minimal examples always work. If I find out what the problem is, I'll report back... Thanks for asking!
    – PatrickT
    Commented Feb 6, 2022 at 5:43
  • What about continuing numbering for subitems? Commented Dec 22, 2023 at 9:29
  • 1
    @AbdelhakElfengour It's not quite clear how that would work. This solution works by starting a new list and then resetting the number, so it's not literally splitting the list. But you can't continue a subitem list the same way because it needs to be embedded in a split list and you can't achieve that in the same way.
    – Alan Munn
    Commented Dec 22, 2023 at 14:51
10

Environments like enumerate will have to be split across other environments - column in this case since \begin{<env>} and \end{<env>} have to remain grouped. However, you can also specify the enumerate number manually in the usual way you would for lists:

...
\begin{column}{.5\linewidth}
  \begin{enumerate}
    \item<1->[1.] First item
    \item<2->[2.] Second item
    ...
    \item<5->[5.] Fifth item
  \end{enumerate}
\end{column}
\begin{column{.5\linewidth}
  \begin{enumerate}
    \item<6->[6.] Sixth item
    \item<7->[7.] Seventh item
    ...
    \item<10->[10.] Tenth item
  \end{enumerate}
\end{column}
...

Enumerate across columns in beamer

Definitely not as elegant as Alan's answer, but works in a pinch.

2
  • Elegance is sometimes overrated :-)
    – DJJerome
    Commented Aug 16, 2011 at 3:56
  • It IS elegant. Usually in Beamer you have a limited number of enumeration items. The whole point of enumeration is that it is automatic. Not usually needed in Beamer. Commented May 11, 2018 at 0:39

You must log in to answer this question.

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