Skip to content

Two \column's in a beamer frame swallow a page break, and can reorder the pages #205

Description

@tannevaled

With the REAL beamer.cls (the default when the class file resolves), a frame
holding a columns environment with two or more \columns loses a page
break: the frames that follow merge onto one page. With material after
\end{columns} the pages also come out in the wrong order.

Reproduction

\documentclass{beamer}
\begin{document}
\begin{frame}{Un}
\begin{columns}
\column{0.5\textwidth}
gauche
\column{0.5\textwidth}
droite
\end{columns}
\end{frame}
\begin{frame}{Deux}beta\end{frame}
\begin{frame}{Trois}gamma\end{frame}
\end{document}
  • expected 3 pages; 2 come out, the last two frames sharing one:
    "Un gauche droite" / "Deux beta Trois gamma".
  • with one \column (or none) the same deck gives 3 pages, so it is the
    second column that costs the break.
  • add APRESCOLUMNS after \end{columns} and the order breaks too: page 1 is
    APRESCOLUMNS, page 2 the frame's own content.
  • the built-in emulation (GOTEX_BEAMER=0) is correct; only the real class is
    affected.

What is already right

collectEnvBody's two beamer cases both fire, in order (traced):

collect(minipage): \column ferme la colonne
collect(minipage d=0): \end{columns} colclose->end=true endMacroLeads=true
collect(minipage d=0): \end{minipage} colclose->end=true endMacroLeads=false

So the first column ends at the second \column, the second ends through
\endcolumns\beamer@colclose\end{minipage}. The body capture is not
where it goes wrong; what \endcolumns pushes back and runs after that is.

Weight

9 of the 200 corpus talks use two or more \column; among the 79 with a
reference, 3 do, 2 of them inexact, 3 pages of the 40-page beamer gap. Small
in pages — but a mis-ordered page is worse than a mis-counted one, and the same
machinery is what shredded a 17-page talk to 1 before #176.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions