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?

Alan Munn
  • 218,180
DJJerome
  • 4,056

2 Answers2

32

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}
Alan Munn
  • 218,180
  • Awesome, just what I was looking for! – DJJerome Aug 16 '11 at 03:56
  • @PatrickT What do you mean? Can you explain what you tried to do that didn’t work? – Alan Munn Feb 06 '22 at 04: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 Feb 06 '22 at 05:43
  • What about continuing numbering for subitems? – Abdelhak Elfengour Dec 22 '23 at 09: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 Dec 22 '23 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.

Werner
  • 603,163