# Is it possible to convert a beamer presentation directly to an a0 Poster?

Suppose I have a Beamer presentation with 20 slides, and I need to make a poster out of them in 5 minutes.

Is it possible to have Beamer output the slides into a 5x4 grid on an a0 sized pdf?

I'm not really sure how I'd go about doing this, but I have a hunch that it should be possible. Any thoughts?

-
Take a look at pgfpages (in the pgf manual). That should give you a starting point. –  Loop Space Oct 17 '12 at 14:49
@lockstep answered. Defining the layout is a pain without a loop so I figured it worth answering. –  Loop Space Nov 4 '12 at 19:06

## 1 Answer

This is eminently possible using pgfpages. It doesn't have a 20 on 1 layout built in (the biggest being 16 on 1) but it's not hard to define one (a bit tedious without a for loop).

\documentclass{beamer}
%\url{http://tex.stackexchange.com/q/78041/86}

\usepackage{pgffor}
\usepackage{pgfpages}
\usepackage{pgf}

\pgfpagesdeclarelayout{20 on 1}
{
\edef\pgfpageoptionheight{\the\paperheight}
\edef\pgfpageoptionwidth{\the\paperwidth}
\edef\pgfpageoptionborder{0pt}
}
{
\pgfpagesphysicalpageoptions
{
logical pages=20,
physical height=\pgfpageoptionheight,
physical width=\pgfpageoptionwidth
}
\def\pgfpgtemp{}
\foreach \i in {1,...,4} {
\foreach \j in {1,...,5} {
\pgfmathtruncatemacro\n{(\i-1)*5 + \j}
\pgfmathsetmacro\ri{1 - (\i - .5)/4}
\pgfmathsetmacro\rj{(\j - .5)/5}
\edef\temp{%
\noexpand\pgfpageslogicalpageoptions{\n}
{
border code=\noexpand\pgfsetlinewidth{2pt}\noexpand\pgfstroke,
border shrink=\noexpand\pgfpageoptionborder,
resized width=.25\noexpand\pgfphysicalwidth,
resized height=.2\noexpand\pgfphysicalheight,
center=\noexpand\pgfpoint{\rj\noexpand\pgfphysicalwidth}{\ri\noexpand\pgfphysicalheight}
}
}
\expandafter\expandafter\expandafter\gdef\expandafter\expandafter\expandafter\pgfpgtemp\expandafter\expandafter\expandafter{\expandafter\pgfpgtemp\temp}
}
}
\pgfpgtemp
}

\pgfpagesuselayout{20 on 1}[a0paper, border shrink=5mm,landscape]

\begin{document}

\foreach \k in {1,...,20} {

\begin{frame}{Frame \k}

This is frame \k.
It is exciting.
\end{frame}
}
\end{document}


-