# Printing beamer slides?

I want to print handouts of a Beamer presentation. I am using psnup to a create a copy with multiple slides per pages. I notice that there is a lot of empty space on the top of each slide and the actual printed material takes a small proportion of the space allocated to each slide. Is there a way I can fix this?

I use the following preamble, making use of the package handoutWithNotes:

% \documentclass{beamer}
% \usepackage{beamerthemeclassic}
% \documentclass[handout]{beamer}
% \mode<presentation>
% {
%    \usetheme{classic}
% }
%  Leaving the lines above commented and uncommenting the following
%  produces slides four to a page, with or without space for notes;
%  the selection is made with the command
%
%      \pgfpagesuselayout{...}
%
%  a few lines below.
\documentclass[handout]{beamer}
\usepackage{handoutWithNotes}
%
%  Load other packages you may need here
%
% \pgfpagesuselayout{4 on 1}[a4paper,landscape,border shrink=5mm
\pgfpagesuselayout{4 on 1 with notes}[a4paper,border shrink=5mm]
%
% .....


It produces rather nicely formatted output four slides to a page, either in landscape format or in portrait format, with space for notes --something my students like.

Look to the blog of Guido Diepen for more info and an example.

• It's worth noting that handoutWithNotes.sty is not on CTAN, hence not included in MikTeX or TeX Live, which make its use less easy, especially when it comes do sharing documents. I would rather use it as an inspiration, copying the definition of the needed layout in my preamble (and/or gently pressure the author of that he puts this resource on CTAN; it could even be included in beamer if the maintainers agrees). – mpg Nov 1 '10 at 12:16
• @mpg: Thank you for pointing this. It is true that having the package pre-installed in a standard distribution would make its use easier. – F. Tusell Nov 2 '10 at 8:36
• @F.Tusell: Awesome. I need to ask you one question. Suppose if I've 10 slides in all and after using \pgfpagesuselayout{4 on 1 with notes}[a4paper,border shrink=5mm] I get Notes even for slides 11 and 12. I wonder how to skip Notes for empty slides. Thanks – MYaseen208 Oct 14 '11 at 20:00
• @MYaseen208: This I don't know. I suppose you could tweak the package. You might ask Guido Diepen. – F. Tusell Oct 16 '11 at 7:48
• It also has a slight issue with respect to 16:9 aspect ratio; clipping the edge off the slide itself. – The V Mar 23 '18 at 12:47

I second the use of pgfpages instead of psnup. To make the slides more clearly delimited, I use a variation of the 4 on 1 style that puts a border around each frame.

Here's a minimal working example:

\documentclass[handout]{beamer}

\mode<handout>
{
\usepackage{pgf}
\usepackage{pgfpages}

\pgfpagesdeclarelayout{4 on 1 boxed}
{
\edef\pgfpageoptionheight{\the\paperheight}
\edef\pgfpageoptionwidth{\the\paperwidth}
\edef\pgfpageoptionborder{0pt}
}
{
\pgfpagesphysicalpageoptions
{%
logical pages=4,%
physical height=\pgfpageoptionheight,%
physical width=\pgfpageoptionwidth%
}
\pgfpageslogicalpageoptions{1}
{%
border code=\pgfsetlinewidth{2pt}\pgfstroke,%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=.5\pgfphysicalheight,%
center=\pgfpoint{.25\pgfphysicalwidth}{.75\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{2}
{%
border code=\pgfsetlinewidth{2pt}\pgfstroke,%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=.5\pgfphysicalheight,%
center=\pgfpoint{.75\pgfphysicalwidth}{.75\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{3}
{%
border code=\pgfsetlinewidth{2pt}\pgfstroke,%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=.5\pgfphysicalheight,%
center=\pgfpoint{.25\pgfphysicalwidth}{.25\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{4}
{%
border code=\pgfsetlinewidth{2pt}\pgfstroke,%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=.5\pgfphysicalheight,%
center=\pgfpoint{.75\pgfphysicalwidth}{.25\pgfphysicalheight}%
}%
}

\pgfpagesuselayout{4 on 1 boxed}[a4paper, border shrink=5mm, landscape]
\nofiles
}

\begin{document}
\begin{frame}
Frame One
\end{frame}
\begin{frame}
Frame Two
\end{frame}
\begin{frame}
Frame Three
\end{frame}
\begin{frame}
Frame Four
\end{frame}
\end{document}


which produces:

(In my actual documents, I have that page layout saved in a style file which gets loaded between loading pgfpages and the \pgfpagesuselayout command.)

• How do I include the "4 on 1 boxed" code in my main document? – csgillespie Nov 10 '10 at 15:04
• @csgillespie: I've edited my answer to make it easier to cut-and-paste into another document (I agree that my original answer wasn't clear on what should go where). Does that help? – Loop Space Nov 10 '10 at 20:07
• Yes that does help. It was the style file bit I was after. Many thanks. – csgillespie Nov 10 '10 at 20:45
• Info for newbies like me: adding/removing the [handout] option one first line enable/disable the handout mode. Also this code drops all intermediate slides generated by the \pause command, which is what you want most of the time I guess. – Gabriel Devillers Sep 20 '17 at 21:43

I found the solution in the user guide, section 4.6.2. One has to use the pgfpages package.

• Best Answer, best output. – Thanos Apr 8 '17 at 20:47

I'm using beamer to write my lecture notes. I want to be provide handouts for my students which box the slide AND have lines for their own notes - a combination of Andrew's code above and Guido's handoutWithNotes.sty.

Here's the code that does the work:

\mode<handout>
{
\usepackage{pgf}
\usepackage{pgfpages}

\pgfpagesdeclarelayout{2 on 1 boxed with notes}
{
\edef\pgfpageoptionheight{\the\paperheight}
\edef\pgfpageoptionwidth{\the\paperwidth}
\edef\pgfpageoptionborder{0pt}
}
{
\setkeys{pgfpagesuselayoutoption}{landscape}
\pgfpagesphysicalpageoptions
{%
logical pages=4,%
physical height=\pgfpageoptionheight,%
physical width=\pgfpageoptionwidth,%
last logical shipout=2%
}
\pgfpageslogicalpageoptions{1}
{%
border code=\pgfsetlinewidth{1pt}\pgfstroke,%
scale=1,
center=\pgfpoint{.25\pgfphysicalwidth}{.75\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{2}
{%
border code=\pgfsetlinewidth{1pt}\pgfstroke,%
scale=1,
center=\pgfpoint{.25\pgfphysicalwidth}{.25\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{3}
{%
border shrink=\pgfpageoptionborder,%
resized width=.7\pgfphysicalwidth,%
resized height=.5\pgfphysicalheight,%
center=\pgfpoint{.75\pgfphysicalwidth}{.29\pgfphysicalheight},%
copy from=3
}%
\pgfpageslogicalpageoptions{4}
{%
border shrink=\pgfpageoptionborder,%
resized width=.7\pgfphysicalwidth,%
resized height=.5\pgfphysicalheight,%
center=\pgfpoint{.75\pgfphysicalwidth}{.79\pgfphysicalheight},%
copy from=4
}%

\AtBeginDocument
{
\newbox\notesbox
\setbox\notesbox=\vbox
{
\hsize=\paperwidth
\vskip-1in\hskip-1in\vbox
{
\vskip1cm
Notes\vskip1cm
\hrule width\paperwidth\vskip1cm
\hrule width\paperwidth\vskip1cm
\hrule width\paperwidth\vskip1cm
\hrule width\paperwidth\vskip1cm
\hrule width\paperwidth\vskip1cm
\hrule width\paperwidth\vskip1cm
\hrule width\paperwidth\vskip1cm
\hrule width\paperwidth\vskip1cm
\hrule width\paperwidth
}
}
\pgfpagesshipoutlogicalpage{3}\copy\notesbox
\pgfpagesshipoutlogicalpage{4}\copy\notesbox
}
}
}

\pgfpagesuselayout{2 on 1 boxed with notes}[letterpaper,border shrink=5mm]

• I want to make a handout with 4 slides on each handout, but I get an error message when I try to add "boxed" to the command pgfpagesuselayout, it's like it does not recognize the command,. The error says: 'Page layout 4 on 1 boxed undefined'... Here's what I put in the preamble: \documentclass[handout]{beamer} \usepackage{pgf} \usepackage{pgfpages} \pgfpagesdeclarelayout{4 on 1 boxed} \pgfpagesuselayout{4 on 1 boxed}[a4paper,landscape,border shrink=5mm] ... various packages \begin{document}.... What is wrong? – EspenJK Jun 14 '17 at 12:44