# Nested columns in beamer

I would like to make an A0 poster using the beamerposter package. The poster content should appear in block environments, for which I need a flexible and clean layout handling. In particular, I need columns and subcolumns.

The best answer to the thread Spanning multiple beamer columns suggests to simply do nesting of column environments.

But this doesn't work out nicely. Because the column boundaries do not seem to be neatly aligned, nor is the space between columns the same everywhere. Oddly, the subcolumns are not even centered properly within their "master" column.

Some hfill commands and center environments do not really help. I tried to embed the blocks into minipages instead of columns, but the problem is similar: unequal and unaligned block boundaries. My understanding of the multicol environment is that it won't help either, because what I have are different column layouts stacked on top of each other, which are flanked by yet other columns.

What is a clean solution to this problem?

The result of my current attempt is the following:

Thanks for help,

\documentclass[final]{beamer}
\mode<presentation>{\usetheme{Berlin}}
\usepackage{multicol}
\usepackage[orientation=landscape,size=a0,scale=1.4,debug,grid]{beamerposter}

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

\begin{columns}[t]
\begin{column}{.24\linewidth}
\begin{block}{\large First column}
abc
\end{block}
\end{column}
\begin{column}{.48\linewidth}
\begin{block}{\large Second (double-span) column}
abc
\end{block}
\begin{columns}[t]
\begin{column}{.24\linewidth}
\begin{block}{\large First subcolumn}
abc
\end{block}
\end{column}
\begin{column}{.74\linewidth}
\begin{block}{\large Second subcolumn}
abc
\end{block}
\end{column}
\end{columns}
\end{column}
\begin{column}{.24\linewidth}
\begin{block}{\large Third column}
abc
\end{block}
\end{column}
\end{columns}

\end{frame}

\end{document}

• Welcome to TeX.SX! You can have a look on our starter guide to familiarize yourself further with our format. – karlkoeller Jun 20 '13 at 11:20
• May be you could consider to change to some other format like baposter – Ignasi Jun 21 '13 at 10:10
• Thanks for your suggestion. In fact baposter seems to handle these things better. But I am reluctant to give up beamerposter (for different reasons). It's a pity that there are these alignment issues. – jens Jun 21 '13 at 17:35

\documentclass[final]{beamer}
\mode<presentation>{\usetheme{Berlin}}
\usepackage{multicol}
\usepackage[orientation=landscape,size=a0,scale=1.4,debug,grid]{beamerposter}

\newsavebox{\squaredblocktext}
\setbeamertemplate{block begin}{
\par\vskip\medskipamount%
\makebox[\dimexpr\textwidth-1.5ex\relax][l]{%
\begin{beamercolorbox}[colsep*=.75ex]{block title}
\usebeamerfont*{block title}\insertblocktitle%
\end{beamercolorbox}}%
\begin{lrbox}{\squaredblocktext}%
\begin{minipage}[t]{\textwidth}%
\ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
}

\setbeamertemplate{block end}{
\end{minipage}%
\end{lrbox}%
{\parskip0pt\par}%
\ifbeamercolorempty[bg]{block title}{}
{\ifbeamercolorempty[bg]{block body}{}{\nointerlineskip\vskip-0.5pt}}%
\usebeamerfont{block body}%
\makebox[\dimexpr\textwidth-1.5ex\relax][l]{%
\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
\usebox{\squaredblocktext}
\end{beamercolorbox}%
}\vskip\smallskipamount%
}

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

\begin{columns}[t]
\begin{column}{.24\linewidth}
\begin{block}{\large First column}
abc
\end{block}
\end{column}
\begin{column}{.48\linewidth}
\begin{block}{\large Second (double-span) column}
abc
\end{block}
\begin{columns}[t, totalwidth=\textwidth]
\begin{column}{.225\linewidth}
\begin{block}{\large First subcolumn}
abc
\end{block}
\end{column}
\begin{column}{.725\linewidth}
\begin{block}{\large Second subcolumn}
abc
\end{block}
\end{column}
\end{columns}
\end{column}
\begin{column}{.24\linewidth}
\begin{block}{\large Third column}
abc
\end{block}
\end{column}
\end{columns}

\end{frame}

\end{document}