Can Beamer Break Frames Inside a Multicolumn Environment?
At a glance
- 1. Identify the columns
Distinguish the multicol package’s multicols environment from Beamer’s native columns environment.
- 2. Know the limit
Beamer frame breaking does not reliably split content partway through a multi-column layout.
- 3. Choose a layout
Use allowframebreaks for ordinary flowing content, or make separate frames for multi-column slides.
- 4. Continue deliberately
Repeat the column layout on the next frame and move the remaining material there.
The phrase “multicolumn environment” can refer to two different things: the multicols environment from the multicol package, or Beamer’s own columns environment. Neither is a good place to expect Beamer to automatically split a long slide into continuation slides.
For ordinary flowing material, Beamer provides the allowframebreaks frame option. For a two-column slide, the most reliable approach is to decide where the next slide should begin and put the remaining material in another frame.
What allowframebreaks does
A normal Beamer frame is designed to fit on one slide. With allowframebreaks, Beamer can split a long sequence of vertical material over several slides. This is useful for content such as a long list, bibliography, or paragraphs that naturally continue from one slide to the next.
For example, this complete document lets Beamer split a long list as needed:
\documentclass{beamer}
\begin{document}
\begin{frame}[allowframebreaks]{A long list}
\begin{enumerate}
\item First item with some explanatory text.
\item Second item with some explanatory text.
\item Third item with some explanatory text.
\item Fourth item with some explanatory text.
\item Fifth item with some explanatory text.
\item Sixth item with some explanatory text.
\item Seventh item with some explanatory text.
\item Eighth item with some explanatory text.
\item Ninth item with some explanatory text.
\item Tenth item with some explanatory text.
\end{enumerate}
\end{frame}
\end{document}
The option belongs on the frame, not on a column environment. Beamer also provides \framebreak to request a break in suitable flowing content. It does not turn a column layout into a set of independently breakable columns.
Why columns do not split like a list
The multicols environment is provided by the multicol package. It arranges material into columns using its own page-output mechanism. Beamer frames, by contrast, are assembled as slides. Combining the two mechanisms does not provide a dependable way to continue a particular column onto a later frame. A break may occur in an unexpected place, or the content may overflow rather than split as intended.
Beamer’s native columns environment is designed for side-by-side slide content, but it is also a layout mechanism, not a continuation system. Setting [allowframebreaks] does not tell Beamer how to divide each column’s contents across slides while preserving their alignment.
Recommended approach: make another frame
Use Beamer’s native columns environment and manually divide the material. The following complete example shows the same two-column layout continued on a second frame:
\documentclass{beamer}
\begin{document}
\begin{frame}{Two-column topic}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.48\textwidth}
\textbf{First column}
\begin{itemize}
\item First point
\item Second point
\end{itemize}
\end{column}
\begin{column}{0.48\textwidth}
\textbf{Second column}
\begin{itemize}
\item Third point
\item Fourth point
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Two-column topic (continued)}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.48\textwidth}
\textbf{First column}
\begin{itemize}
\item Fifth point
\item Sixth point
\end{itemize}
\end{column}
\begin{column}{0.48\textwidth}
\textbf{Second column}
\begin{itemize}
\item Seventh point
\item Eighth point
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\end{document}
Here, [T] aligns the columns at the top, and onlytextwidth makes them fit within the frame’s text area. Adjust the split so neither slide is crowded. You can also use a continuation title or a section label to show that the second frame carries on from the first.
When automatic breaking is appropriate
If the material does not need to remain side by side, remove the column environment and place it directly in a frame with [allowframebreaks]. That gives Beamer a vertical sequence it can split. For a list, keep complete items together where possible; avoid relying on automatic breaks to preserve a particular visual grouping.
If you are using multicols in a document that is not a Beamer presentation, its page-breaking behavior is a separate issue governed by the multicol package. Beamer frame breaks and the package’s column balancing are not interchangeable controls.
Common mistakes
- Adding
[allowframebreaks]tomulticols. The option is a Beamer frame option, and it does not make the package environment frame-breakable. - Using
\framebreakinside a column and expecting a column continuation. A frame break is not a command for splitting one column while keeping the other column in sync. - Confusing
columnswithmulticols. Beamer’scolumnsis its native slide layout;multicolsbelongs to a separate package. - Trying to fit everything by shrinking text. If the material needs multiple slides, dividing it across frames usually improves readability more than reducing the font size.
References
Spotted an error? Send a correction. Read how we write and check articles in our editorial policy.