# Is there a nice way to compile a beamer presentation without the pauses?

Say I made a beamer presentation and I want to print it out. Is there a nice way to make beamer ignore the pauses so that I don't get lots of pages with duplicate information?

Of course there are some things one could do with find & replace, but I would prefer a more sophisticated solution if such exists.

Use the handout mode:

\documentclass[handout]{beamer}


It collapses each frame to one page. Sometimes its method of collapsing needs a little fine-tuning, but it's generally okay. For more on that fine-tuning, read about mode-specific instructions in the beamer user guide. As lockstep says, it also sets up some other defaults such as removing the navigation symbols (which, after all, don't make sense on a handout version). All of these changes are customisable.

The sections to read in the beamer user guide are in Part IV (Creating Supporting Material), in particular section 21 (Creating Handouts and Lecture Notes). Section 21.3 has the details on how to achieve the fine-tuning using mode specifications.

Mikael included this link to a version of this question on MathOverflow. As I answered that question, and I think that it's good to keep TeX-related stuff here rather than there, I'm copying my answer to that question below, with very minor modification, which deals with variants of the basic answer.

1. Print it 4-up using the pgfpages package (from the pgf/TikZ meta-package). If you want to distinguish the pages, don't change the background colour (waste of ink), rather use pgfpages to put a border around each frame (this isn't one of the standard page-type declarations, but it isn't hard and I can make mine available if anyone wants it).

2. It's possible to change the type of the output (between beamer, handout, trans, or article) without modifying the file. The trick is to put the main document in one file, say geometry.tex but without the documentclass declaration. Then you create a new file for each type with just the documentclass declaration. For example, geometry.beamer.tex could contain:

\documentclass[12pt,t,xcolor=dvipsnames,ignorenonframetext]{beamer}
\input{geometry.tex}


whilst geometry.handout.tex might contain

\documentclass[12pt,xcolor=dvipsname,ignorenonframetext,handout,%
notes=only%
]{beamer}
\input{geometry.tex}


and geometry.article.tex might be

\documentclass[a4paper,10pt]{article}
\usepackage[envcountsect]{beamerarticle}
\setjobnamebeamerversion{geometry.beamer}
\input{geometry.tex}


Not only does this make sure that you are always compiling the correct version of the document, it also means that if you use a version control system then it doesn't keep complaining about you modifying the file just because you change the output type.

3. If you are strong in the ways of beamer and TeX, you can go one step further. I use beamer for lectures which means that one single file contains the beamer versions and the handout versions of nearly 30 lectures. To produce a given version of a given lecture, I need to have a way of telling TeX what I want. I could have 60 separate files all with variations on the above, but I've found a simpler way is to have TeX examine the jobname to determine this. Then I just have to have 60 symlinks to the main file (and I can create all 60 symlinks with a single zsh command). That is, lecture.beamer.2009-11-19.tex is a symlink to lectures.tex and when I run LaTeX on it then I get tomorrow's lecture in beamer format (well, I would if I'd written it yet). Again, I'd be happy to share the code for this if anyone's interested.

• Nice, I would be interested in the code of number 1 and 3 if you have it anywhere :-) Thanks in advance! Jun 6, 2012 at 11:34
• @BertramNudelbach The code is distributed between my generic class file (math.ntnu.no/~stacey/HowDidIDoThat/LaTeX/MyClass.html) and my generic macro file (math.ntnu.no/~stacey/HowDidIDoThat/LaTeX/MyMacros.html). Jun 6, 2012 at 11:48
• @LoopSpace These internet links are broken. Where can we find the codes you're referring to? Feb 26, 2020 at 18:17
• @AndréC They are now on github, at github.com/loopspace/myclass and github.com/loopspace/mymacros respectively. Feb 27, 2020 at 0:12
• @Dr.ManuelKuehner Yes, I still use that code for my stuff. I can probably add some example code to the repository without difficulty. If there is anything particular you'd be interested in, do let me know. Simplest (for me) would be to open an issue on github. Mar 22, 2021 at 18:50

Add the handout class option:

\documentclass[handout]{beamer}


Note that this will also remove the navigation symbols, which should be a good thing for your handout.

The class option handout will remove pauses and get you one page per actual frame environment.

• I'd forgotten about that question! Thanks for reminding me. (I've copied my answer across here to keep TeX-related stuff in one place.) Aug 9, 2010 at 20:28

Use the handout option:

\documentclass[handout]{beamer}


\documentclass[handout]{beamer} is ok, but could not import it to the lyx-latex preamble. (error: documentclass already defined, Lyx 2.0.5.1). I ended with a shell script, which did the trick

lyx --force-overwrite --export pdflatex file.lyx
sed -i  's/\\documentclass\[/\\documentclass\[handout,/' file.tex
pdflatex file.tex

• To change the class settings in LyX, go to Document > Settings and add "handout" to "custom" under "class options". Do not try to add it under the custom LaTeX Preamble. Jul 12, 2014 at 4:13

If the source of the presentation is not available, it is possible to use handoutify to convert an existing presentation into the same presentation with the pauses removed.

A publicly accessible is accessible: https://tools.nilsand.re/handoutify/

DISCLAIMER: I am the author of handoutify