0

I have a code like this:

\documentclass{beamer}
\usepackage{multicol}
\newcommand{\bm}{\begin{multicols*}{2}}
\newcommand{\em}{\end{multicols}}

\begin{document}
\begin{frame}
\bm

First sentence. \pause

Second sentence. \pause

Third sentence. \pause

Fourth sentence.

\em
\end{frame}
\end{document}

Although in regular documents \begin{multicols*} fills the first column, then fills the second column, it does not work when I insert pauses.

I understand why it doesn't work, because there is nothing else to fill yet. I also know some workarounds such as using \only<2-> or \uncover<2-> etc.

However, the codes are already written by many people, and I would love to add something to the preamble instead of manually changing every line, or perhaps changing something in the newcommands. Thank you for any help.

1 Answers1

1

Maybe not answer yet, but this snippet works fine, is this what you expect ? I changed the \em and \bm names because beamer complains \em is already defined. Also, your multicols* is not necessary, as already stated in previous comments.

\documentclass{beamer}
\usepackage{multicol}
\newcommand{\bmult}{\begin{multicols}{2}}
\newcommand{\emult}{\end{multicols}}

\begin{document}
\begin{frame}
\bmult

First sentence. \pause

Second sentence. \pause

Third sentence. \pause

Fourth sentence.

\emult
\end{frame}
\end{document}
BambOo
  • 8,801
  • 2
  • 20
  • 47