1

Edited/Revised Question

The original question as posed implied a couple simple solutions, namely using \begin{columns}[T] and wrapping each column in a \vbox with a manually specified height. These tips helped but did not solve the original problem. I have created a new example that illustrates that layout and alignment problems remain even after incorporating these suggestions.

Below is an example poster. I have incorporated a header and colored the boxes to highlight some of the alignment problems. As you can see, the tops of the boxes in the top row are not aligned. Additionally, the headers from the 3-column section overlap the boxes in the 2-column section. How do I solve this?

enter image description here

Here is the source code for the example

\documentclass[]{beamer}
\usepackage[orientation=landscape,size=a0,scale=1.2,debug]{beamerposter}
\usetheme{Modified}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Document information
\title{Example Poster}
\author[]{Author list}
\institute[]{Author affiliations}
\date{~}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% beamer has a problem filling vertical space in columns
% have to manually specify column heights 
% AFAICT this must be manually tweaked????
\newlength{\colheightb}
\setlength{\colheightb}{0.747\paperheight}

\begin{document}
\begin{frame}{}
\begin{columns}[T]
\begin{column}{.245\linewidth}
    \vbox to .99\textheight{%
    \begin{block}{\large First column}
        \vspace{24em}
    \end{block}
    \vfill
    \begin{block}{\large First column}
        \vspace{24em}
    \end{block}
    \vfill
    \begin{block}{\large First column}
        \vspace{19em}
    \end{block}
    }
\end{column}%
\begin{column}{.745\linewidth}
    \begin{columns}[T]
        \begin{column}{.5\linewidth}
            \begin{block}{\large First subcolumn}
                \vspace{9em}
            \end{block}
        \end{column}
        \begin{column}{.5\linewidth}
            \begin{block}{\large Second subcolumn}
                \vspace{12em}
            \end{block}
        \end{column}
    \end{columns}
    \begin{columns}[T]
        \begin{column}{.33\linewidth}
        \vbox to \colheightb{%
            \begin{block}{\large Section}
                \vspace{16em}
            \end{block}
            \vfill
            \begin{block}{\large Section}
                \vspace{17em}
            \end{block}
            \vfill
            \begin{block}{\large Section}
                \vspace{23em}
            \end{block}
        }
        \end{column}
        \begin{column}{.33\linewidth}
        \vbox to \colheightb{%
            \begin{block}{\large Section}
                \vspace{18em}
            \end{block}
            \vfill
            \begin{block}{\large Section}
                \vspace{40em}
            \end{block}
        }
        \end{column}
        \begin{column}{.33\linewidth}
        \vbox to \colheightb{%
            \begin{block}{\large Section}
                \vspace{25em}
            \end{block}
            \vfill
            \begin{block}{\large Section}
                \vspace{30em}
            \end{block}
        }
        \end{column}
    \end{columns}
\end{column}
\end{columns}
\end{frame}
\end{document}

I am using the following style, which is customized. I'm not really sure how to make beamerposter styles, so I apologize if it's not done well.

\usepackage{grffile}
\usepackage{calc}
\usepackage{tcolorbox}  
\usepackage{lmodern}% http://ctan.org/pkg/lm

\DeclareOptionBeamer{compress}{\beamer@compresstrue}
\ProcessOptionsBeamer
\mode<presentation>
\setbeamercolor{section in head/foot}{use=structure,bg=structure.fg!25!bg}
\useoutertheme[subsection=false]{miniframes}
\setbeamertemplate{frametitle}[default][center]
\AtBeginDocument{%
  {
    \usebeamercolor{section in head/foot}
  } 
  \pgfdeclareverticalshading{beamer@headfade}{\paperwidth}
  {%
    color(0cm)=(bg);
    color(1.25cm)=(section in head/foot.bg)%
  }
  \setbeamercolor{section in head/foot}{bg=}
}
\beamertemplatedotitem
\mode
<all>

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Colors

% Template from Poster has special colors
\definecolor{PosterYellow}{RGB}{234,230, 99}
\definecolor{PosterBlue}{RGB}{ 29, 23, 96}
\definecolor{PosterAzure}{RGB}{151,147,204}
\definecolor{PosterWhite}{RGB}{200,200,200}

% Configure the colors for the headline
\setbeamercolor{headline}{bg=PosterBlue,fg=PosterYellow}
\setbeamercolor{title in headline}{bg=PosterBlue,fg=PosterYellow}
\setbeamercolor{author in headline}{bg=PosterBlue,fg=PosterWhite}
\setbeamercolor{institute in headline}{bg=PosterBlue,fg=PosterWhite}

\setbeamercolor{block body}{bg=PosterAzure,fg=PosterWhite}
\setbeamercolor{block title}{bg=red!30,fg=black}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Defines the headline -- for posters, we put the title here
% Everything must be positioned manually
% 

% define a new register to hold an intermediate size calculation 
% that we'll use in defining the headline
\newlength{\residual}

\setbeamertemplate{headline}{  
  \leavevmode
  \setlength{\residual}{\paperwidth-8cm}
  \begin{beamercolorbox}[wd=\paperwidth]{headline}
    \vskip1cm
    \begin{columns}[T]
      \begin{column}{2cm}
      \end{column}
      \begin{column}{\residual}
        \raggedright
        \usebeamercolor{title in headline}{
            \color{fg}{\fontsize{80}{81}\selectfont {\inserttitle}}\\[3ex]}
        \usebeamercolor{author in headline}{
            \color{fg}\Large{\insertauthor}\\[1ex]}
        \usebeamercolor{institute in headline}{
            \color{fg}\large{\insertinstitute}\\[1ex]}  
      \end{column}
      \begin{column}{4cm}
        LOGO HERE
      \end{column}
      \begin{column}{2cm}
      \end{column}
    \end{columns}
    \vskip2ex
  \end{beamercolorbox}

  \begin{beamercolorbox}[wd=\paperwidth]{lower separation line head}
    \rule{0pt}{3pt}
  \end{beamercolorbox}
}

% no navigation on a poster
\setbeamertemplate{navigation symbols}{}  
% We need larger titles for the block
\setbeamerfont{block title}{size=\Large}

Original Question

I am trying to create a beamerposter, but am having difficulty getting good alignment of the various blocks. This post was very helpful in correcting a vertical alignment issue, but as I've been working on the poster new issues have emerged.

enter image description here

Notice how the tops of the two columns on the right are at different levels. I can get them to align by adding the argument [t] to their columns environment, but that also adds a vertical space which is incorrect.

Also notice how the blocks in the lower portion do not distribute to fill the poster. I would like LaTeX to automatically fill vertical padding to distribute these blocks equally so that they align at the base of the poster. The end result (spacing exaggerated for illustration) should look like this: enter image description here

I apologize for my ignorance here, I've been trying various options and short of fudging things with a lot of positive and negative vspaces I'm not sure really what to do.

Here is my example code

\documentclass[]{beamer}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[orientation=landscape,size=a0,scale=1.5,debug]{beamerposter}
\usetheme{Frankfurt}

\begin{document}
\begin{frame}{}
\begin{columns}[t, totalwidth=\textwidth]
\begin{column}{.245\linewidth}
    \begin{block}{\large First column}
        \vspace{24em}
    \end{block}
\end{column}%
\begin{column}{.745\linewidth}
    \begin{columns}[t]
        \begin{column}{.5\linewidth}
            \begin{block}{\large First subcolumn}
                \vspace{11em}
            \end{block}
        \end{column}
        \begin{column}{.5\linewidth}
            \begin{block}{\large Second subcolumn}
                \vspace{12em}
            \end{block}
        \end{column}
    \end{columns}
    \begin{columns}[t]
        \begin{column}{.33\linewidth}
            \begin{block}{\large Section}
                \vspace{6em}
            \end{block}
            \begin{block}{\large Section}
                \vspace{9em}
            \end{block}
            \begin{block}{\large Section}
                \vspace{3em}
            \end{block}
        \end{column}
        \begin{column}{.33\linewidth}
            \begin{block}{\large Section}
                \vspace{8em}
            \end{block}
            \begin{block}{\large Section}
                \vspace{4em}
            \end{block}
        \end{column}
        \begin{column}{.33\linewidth}
            \begin{block}{\large Section}
                \vspace{10em}
            \end{block}
            \begin{block}{\large Section}
                \vspace{10em}
            \end{block}
        \end{column}
    \end{columns}
\end{column}
\end{columns}
\end{frame}
\end{document}
  • 1
    To help with the top alignment, try \begin{columns}[T, totalwidth=\textwidth] – user36296 Sep 27 '15 at 21:05
  • 1
    And for the vertical filling: tex.stackexchange.com/a/15246/36296 – user36296 Sep 27 '15 at 21:24
  • Thanks, between those two tips it's mostly working. There is still a slight vertical misalignment that I don't understand, even with [T]. I'll see if I can update my example to illustrate it later. – MRule Sep 27 '15 at 21:55
  • Ok, I have revised the question. Despite samcarter's suggestions, I still can't get the boxes to align correctly. – MRule Sep 28 '15 at 19:01
2

1. Problem

Top aligment: can be fixed by using [T] only for the first occurrence

2. Problem

Automatic Calculation of column height: This is a bit more complicate. In the following I assume that you know if the left or the right top block is longer. Now copy the longer block into the \setbox0 right after \begin{document} to get its height. Subtracting this height and the height of the headline from the paperheight gives the height of the remaining column.

\documentclass[]{beamer}
\usepackage[orientation=landscape,size=a0,scale=1.2,debug]{beamerposter}
\usetheme{Modified}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Document information
\title{Example Poster}
\author[]{Author list}
\institute[]{Author affiliations}
\date{~}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% beamer has a problem filling vertical space in columns
% have to manually specify column heights 
% AFAICT this must be manually tweaked????
\newlength{\colheightb}
\newlength{\myheight}

\begin{document}

    \setbox0=\vtop{%
                        \begin{block}{\large Second subcolumn}
                            \vspace{12em}
                        \end{block} 
    }
    \setlength{\myheight}{\ht0}%
    \addtolength{\myheight}{\dp0}%
    \setlength\colheightb{\dimexpr.99\paperheight-\headheight-\myheight\relax}

    \begin{frame}{}
        \begin{columns}[T]
            \begin{column}{.245\linewidth}
                \vbox to .99\textheight{%
                    \begin{block}{\large First column}
                        \vspace{24em}
                    \end{block}
                    \vfill
                    \begin{block}{\large First column}
                        \vspace{24em}
                    \end{block}
                    \vfill
                    \begin{block}{\large First column}
                        \vspace{19em}
                    \end{block}
                }
            \end{column}%
            \begin{column}{.745\linewidth}
                \begin{columns}[t]
                    \begin{column}{.5\linewidth}
                        \begin{block}{\large First subcolumn}
                            \vspace{9em}
                        \end{block}
                    \end{column}
                    \begin{column}{.5\linewidth}
                        \begin{block}{\large Second subcolumn}
                            \vspace{12em}
                        \end{block}             
                    \end{column}
                \end{columns}
                \begin{columns}[t]
                    \begin{column}{.33\linewidth}
                        \vbox to \colheightb{%
                            \begin{block}{\large Section}
                                \vspace{16em}
                            \end{block}
                            \vfill
                            \begin{block}{\large Section}
                                \vspace{7em}
                            \end{block}
                            \vfill
                            \begin{block}{\large Section}
                                \vspace{23em}
                            \end{block}
                        }
                    \end{column}
                    \begin{column}{.33\linewidth}
                        \vbox to \colheightb{%
                            \begin{block}{\large Section}
                                \vspace{8em}
                            \end{block}
                            \vfill
                            \begin{block}{\large Section}
                                \vspace{40em}
                            \end{block}
                        }
                    \end{column}
                    \begin{column}{.33\linewidth}
                        \vbox to \colheightb{%
                            \begin{block}{\large Section}
                                \vspace{25em}
                            \end{block}
                            \vfill
                            \begin{block}{\large Section}
                                \vspace{10em}
                            \end{block}
                        }
                    \end{column}
                \end{columns}
            \end{column}
        \end{columns}
    \end{frame}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.