# Prevent two-column list from page breaking

I am using multicols in an enumerate environment to split the list into two columns. Toward the end of a page, LaTeX breaks the list across pages, which changes the order in which the list items are displayed. I tried using samepage to keep I have an enumerate environment from being split across pages:

\begin{samepage}
\begin{multicols}{2}
\begin{enumerate}
\item $Top left$
\item $Middle left$
\item $Bottom left$
\item $Top right$
\item $Middle right$
\item $Bottom right$
\end{enumerate}
\end{multicols}
\end{samepage}


However, then multicols stops working and the entire list is displayed in one column instead of two columns. Apparently samepage and multicols are incompatible with each other. I tried using minipage instead of samepage, and that resulted in a compilation error. Is there another way to prevent a two-column list from being broken across pages?

Thanks!

• minipage is what you want here – David Carlisle Oct 17 '16 at 17:51
• Thanks @DavidCarlisle . Using minipage instead of samepage gives a compilation error. – Mathemanic Oct 17 '16 at 18:10
• not if you use it correctly but you have not provided any real example that can be run to see the problem – David Carlisle Oct 17 '16 at 19:38

You just need to use a minipage to keep the list together:

\documentclass{article}
\usepackage{multicol}
\begin{document}
A two column itemize:
\begin{center}
\begin{minipage}{\textwidth}
\begin{multicols}{2}
\begin{enumerate}
\item $Top left$
\item $Middle left$
\item $Bottom left$
\item $Top right$
\item $Middle right$
\item $Bottom right$
\end{enumerate}
\end{multicols}
\end{minipage}
\end{center}
zzz
\end{document}

• Perfect! I think the reason minipage wasn't working for me before is I had omitted the {\textwidth} specification. Works wonderfully now. I appreciate your help! – Mathemanic Oct 17 '16 at 20:41