# [Tex/LaTex] Stable vertical alignment of columns in Beamer

beamercolumnsvertical alignment

In Beamer, I often use a two-column slide layout, picture on the left and text on the right. Sometimes the same picture is used on multiple slides, with the text on the right changing. I use the Beamer columns environment for this purpose.

My problem is that typically the pictures in the two slides do not have the same vertical alignment, causing a slightly annoying "jiggle". None of the various options for column seems to help, and the default (align centers) is the most reasonable anyway.

Is there a way to force the picture to be vertically centered with respect to the page, irrespective of the size of the content of the other column?

Here's an example – the text on the left (representing a picture) moves a little between frames.

\documentclass{beamer}
\usepackage{calc}
\begin{document}
\begin{frame}\frametitle{Test frame}
\begin{columns}
\column{.5\textwidth}
A figure
\column{.5\textwidth}
\begin{itemize}
\item Item 1
\item Item 2
\end{itemize}
\end{columns}
\end{frame}
\begin{frame}\frametitle{Test frame 2}
\begin{columns}
\column{.5\textwidth}
A figure
\column{.5\textwidth}
\begin{itemize}
\item Another item 1
\item Another item 2
\item This list is longer
\item Than the previous one
\item was
\end{itemize}
\end{columns}
\end{frame}
\end{document}


You could fix the vertical alignment by using minipages of the same height in the second column. Here's the modified example with a stable left column:

\documentclass{beamer}
\usepackage{calc}
\begin{document}
\begin{frame}\frametitle{Test frame}
\begin{columns}
\column{.5\textwidth}
A figure
\column{.5\textwidth}
\begin{minipage}[c][.6\textheight][c]{\linewidth}
\begin{itemize}
\item Item 1
\item Item 2
\end{itemize}
\end{minipage}
\end{columns}
\end{frame}
\begin{frame}\frametitle{Test frame 2}
\begin{columns}
\column{.5\textwidth}
A figure
\column{.5\textwidth}
\begin{minipage}[c][.6\textheight][c]{\linewidth}
\begin{itemize}
\item Another item 1
\item Another item 2
\item This list is longer
\item Than the previous one
\item was
\end{itemize}
\end{minipage}
\end{columns}
\end{frame}
\end{document}