Termina la charla, alguien dice «¿me pasas las diapositivas?» y usted reenvía el archivo que acaba de proyectar. Lo que llega a su bandeja es un PDF de 120 páginas en el que el mismo esquema aparece cuatro veces: una figura revelada con \pause es un despliegue por pasos en pantalla y pura duplicación sobre el papel. La clase beamer de LaTeX tiene una opción de clase que existe justo para este problema: handout. Colapsa todos los overlays y devuelve un frame a una sola página; medido, una presentación de dos frames con tres pasos cada uno pasó de 6 páginas a 2. Esta página trata de handout, de las notas del ponente que se escriben con \note, de poner cuatro diapositivas por hoja con pgfpages, y de una vía completamente distinta: repartir la charla en forma de documento.
\documentclass[handout]{beamer}: colapsar los overlays
Basta añadir una palabra a las opciones de clase. Escriba \documentclass[handout,aspectratio=169]{beamer} y tanto \pause como \item<2-> dejan de hacer nada; cada frame pasa a ser exactamente una página. Medido: una presentación de dos frames —uno con dos \pause, otro con una lista itemize de \item<1->, <2-> y <3->— daba 6 páginas en modo normal y 2 páginas con handout. Las dimensiones de página no cambian (362,835 × 272,126 pt en ambos casos). Sin tocar un solo carácter del contenido se obtienen dos PDF del mismo .tex. En la práctica, lo más seguro es un segundo archivo de tres líneas que fije la clase con handout y luego haga \input del cuerpo.
Aquí está la trampa que arruina los materiales de apoyo sin hacer ruido. handout no colapsa un overlay a su estado final: imprime el contenido de todos los pasos, unos sobre otros. Compile en modo handout un frame con \only<1>{ALPHA} y \only<2>{BRAVO} y la única página resultante lleva tanto ALPHA como BRAVO. El truco habitual de sustituir parte de una fórmula con \only deja, por tanto, el antes y el después uno junto a otro en el material repartido. La solución es nombrar el modo dentro de la especificación de overlay. \only<2| handout:1>{...} significa «diapositiva 2 en la charla, diapositiva 1 en el material», es decir, mostrarlo; \item<2-| handout:0> significa «nunca en el material». Los frames enteros se conmutan igual: \begin{frame}<handout:0> retira un frame del material y \begin{frame}<beamer:0> lo reserva para él; medido, una presentación de tres frames que usaba ambos produjo exactamente 2 páginas en cada modo, con contenidos distintos.
\documentclass[handout,aspectratio=169]{beamer}
% WRONG in a handout: both versions of the formula are printed
\only<1>{$x^2 + y^2$}
\only<2>{$x^2 + y^2 = r^2$}
% RIGHT: say what each mode should do
\only<1| handout:0>{$x^2 + y^2$} % talk only
\only<2| handout:1>{$x^2 + y^2 = r^2$} % talk step 2, handout step 1
% frame-level switches
\begin{frame}<handout:0>{Live demo} % not in the handout
\begin{frame}<beamer:0>{Full derivation} % handout only\note{...} no imprime nada por defecto: hace falta \setbeameroption{show notes}
Escriba \note{mencionar aquí la financiación} dentro de un frame y, por defecto, el PDF no cambia en absoluto. Medido: añadir \note a dos de tres frames dejó la salida en tres páginas. Es intencionado: beamer se limita a guardar la nota. Para sacarla se declara \setbeameroption{...} en el preámbulo. Sobre esa misma presentación de tres frames, show notes produjo 5 páginas (las tres diapositivas más una página de notas propia tras cada frame que llevaba una), show only notes produjo 2 páginas (solo las notas) y show only slides with notes produjo 4 páginas (solo los frames con nota, cada uno con la suya). Un hide notes tras un show notes devuelve a tres páginas: cambiar esa línea es más seguro que comentar código minutos antes de salir a escena.
| Línea del preámbulo | Qué sale | Medido en una presentación de 3 frames |
|---|---|---|
(none) | solo diapositivas; \note se guarda pero no se imprime | 3 páginas |
\setbeameroption{show notes} | las diapositivas, cada una seguida de su página de notas | 5 páginas |
\setbeameroption{show only notes} | solo las páginas de notas: un guion para leer | 2 páginas |
\setbeameroption{show only slides with notes} | solo los frames que llevan nota, cada uno con la suya | 4 páginas |
\setbeameroption{hide notes} | anula un show notes anterior; el interruptor previo a la charla | 3 páginas |
\setbeameroption{show notes on second screen=right} | el recuento no cambia; cada página se ensancha a dos pantallas | 3 páginas a 725,669 × 272,126 pt |
Merece la pena ver qué contiene una página de notas. La página que produce show notes lleva arriba una miniatura de la diapositiva y la fecha, y debajo su texto. Varios \note{...} seguidos se convierten en párrafos; para una enumeración, \note[item]{...} da una lista numerada: medido, un frame con dos \note[item] produjo una página de notas con «1. first bullet» y «2. second bullet». Otra cosa que conviene saber: un \note{...} suelto colocado después de \end{frame} se convierte en una página de notas independiente, sin frame asociado, que es justo el sitio de un recordatorio más largo del tipo «antes de la siguiente sección, acuérdate de estas tres cosas». A diferencia del contenido de las diapositivas, las notas nunca rompen la maqueta por mucho que se escriba. Es la única herramienta de esta página de la que no se puede abusar.
\documentclass{beamer}
\setbeameroption{show notes} % swap for "hide notes" before you present
\begin{document}
\begin{frame}{Results}
Body of the slide.
\note[item]{mention the sample size}
\note[item]{do not read the table aloud}
\end{frame}
% a standalone note page, bound to no frame
\note{Before section 3: water, timer, ask about questions.}
\end{document}Cuatro diapositivas por hoja: pgfpages y \pgfpagesuselayout
Cargue \usepackage{pgfpages} y escriba \pgfpagesuselayout{4 on 1}[a4paper,border shrink=5mm]. Medido, eso convirtió una presentación de cinco frames en modo handout en dos páginas A4 verticales (595,276 × 841,89 pt). Cambie a 2 on 1 y salen tres páginas; pase [a4paper,landscape,border shrink=5mm] y obtendrá A4 apaisado (841,89 × 595,276 pt). border shrink es cuánto se reduce cada diapositiva para dejar blanco, que es lo que interesa para un margen de encuadernación o para quien toma apuntes. pgfpages es obra del propio Till Tantau, autor tanto de beamer como de PGF/TikZ, y su línea de versión sigue diciendo \ProvidesPackage{pgfpages}[2011/01/05 ver 0.02]: léalo como un paquete asentado hace mucho.
Contando dentro de pgfpages.sty hay nueve diseños: 2 on 1, 4 on 1, 6 on 1, 8 on 1, 16 on 1, más resize to (escalar una diapositiva a otro formato de hoja), rounded corners, two screens with lagging second y two screens with optional second. Fíjese en que no existe 3 on 1. De ahí la pregunta que aparece de vez en cuando, «3 on 1 da error»: el diseño de tres diapositivas lo añade handoutWithNotes, del que trata la sección siguiente. Un apunte práctico: 4 on 1 en A4 vertical coloca las diapositivas en 2 × 2, así que una presentación 16:9 deja márgenes visibles a izquierda y derecha. Con 16:9, añada landscape o use 2 on 1 en vertical; ambos llenan mejor la hoja.
% the whole handout build, in five lines
\documentclass[handout]{beamer}
\usepackage{pgfpages}
\pgfpagesuselayout{4 on 1}[a4paper,border shrink=5mm]
% for a 16:9 deck, turn the sheet instead
\pgfpagesuselayout{4 on 1}[a4paper,landscape,border shrink=5mm]
% one slide per sheet, scaled up to fill A4
\pgfpagesuselayout{resize to}[a4paper]Una columna de notas junto a cada diapositiva: handoutWithNotes
Añadir \usepackage{handoutWithNotes} amplía pgfpages con diseños que reservan sitio para notas. TeX Live 2024 trae la v1.3 (2022/02/22, mantenida por Marei Peischl y Guido Diepen), y el .sty declara seis diseños: 1 on 1 with notes, 2 on 1 with notes, 3 on 1 with notes, 4 on 1 with notes, más las variantes apaisadas de los dos primeros. Medido, una presentación de tres frames con \pgfpagesuselayout{3 on 1 with notes}[a4paper] y \setbeameroption{show notes} cupo en dos páginas A4 verticales. Olvidar la línea show notes es el accidente habitual: la columna de notas sale en blanco. Para apuntes de clase eso no tiene por qué ser malo: la columna vacía sirve de espacio de escritura para el alumnado, así que el diseño resulta útil incluso sin haber escrito ni un \note.
\documentclass[handout]{beamer}
\usepackage{pgfpages}
\usepackage{handoutWithNotes}
\pgfpagesuselayout{3 on 1 with notes}[a4paper,border shrink=5mm]
\setbeameroption{show notes} % without this the note column is emptyRepartir el mismo fuente como documento: beamerarticle
A veces lo que hay que repartir no es una copia de las diapositivas sino algo realmente legible. beamer ofrece beamerarticle para eso: ponga \usepackage{beamerarticle} en un archivo \documentclass{article} y los entornos frame fluyen como texto corriente. Medido, una presentación de dos frames compilada del lado article salió como una página A4 con el contenido de ambos frames en prosa continua. \pause se ignora, y no se aplica ni marco de diapositiva ni tema. Es el mecanismo tras la promesa de beamer de hacer diapositivas a partir de apuntes y apuntes a partir de diapositivas; el propio beamer incluye beamerexample-lecture-beamer-version.pdf y beamerexample-lecture-print-version.pdf, construidos desde el mismo fuente. Para texto que deba aparecer solo en una de las dos versiones, envuélvalo en \mode<presentation>{...} o \mode<article>{...}.
% talk.tex holds only the frames; two wrappers build two documents
% slides.tex
\documentclass[aspectratio=169]{beamer}
\input{talk}
% notes.tex
\documentclass[a4paper,11pt]{article}
\usepackage{beamerarticle}
\input{talk}
% inside talk.tex, when the two versions must differ
\mode<presentation>{Three points.}
\mode<article>{The argument rests on three points, each of which is developed below.}Generar todas las variantes sin editar el fuente: \PassOptionsToClass y -jobname
Reescribir la línea \documentclass y compilar tres veces es el procedimiento que acaba haciéndole proyectar la versión handout cinco minutos antes de hablar. Pase la opción por la línea de órdenes y el fuente no cambia ni un carácter: pdflatex -jobname=slides-handout "\PassOptionsToClass{handout}{beamer}\input{slides.tex}". Medido, el mismo slides.tex daba 3 páginas en condiciones normales, y esta única línea produjo un slides-handout.pdf de 2 páginas (453,543 × 255,118 pt en ambos casos). La mitad importante es -jobname: sin él las dos compilaciones se pelean por los mismos .aux y .nav, y los totales de frames y el índice se cruzan. Las notas funcionan igual, porque beamer tiene una opción de clase notes; los valores que acepta beamer.cls son hide, show, only y onlyslideswithnotes. Así, \setbeameroption{show only slides with notes} se escribe en una sola palabra: \documentclass[notes=onlyslideswithnotes]{beamer}; fíjese en que los espacios desaparecen en esa grafía.
# the talk itself
pdflatex -jobname=slides slides.tex
# the handout, from the identical unedited source
pdflatex -jobname=slides-handout \
"\PassOptionsToClass{handout}{beamer}\input{slides.tex}"
# your own script: the note pages only
pdflatex -jobname=slides-notes \
"\PassOptionsToClass{notes=only}{beamer}\input{slides.tex}"
# remember: every one of these needs two runs for .nav and .tocCuando de verdad va al papel: hojas, tóner y una última comprobación
Antes de imprimir, mire el color de fondo del tema. Algunos temas de color de beamer son oscuros: albatross declara en beamercolorthemealbatross.sty \setbeamercolor*{normal text}{fg=yellow!50!white,bg=blue!50!black}, es decir, no negro sobre blanco sino amarillo pálido sobre azul profundo. Saque cuarenta copias de eso y el papel se abarquilla, el tóner se agota y encima cuesta leerlo. Para la versión repartida, vuelva a \usecolortheme{default} (sencillamente fg=black,bg=white) o conmute por modo con algo como \mode<handout>{\usecolortheme{default}}. Lo mismo vale para un tema como beetle, cuyo fondo es bg=black!40, un gris al 40 %. Del lado del papel, dejar unos 5 mm de border shrink absorbe tanto el margen de encuadernación como lo que recorta la copiadora. Y pase pdfinfo sobre el archivo antes de pulsar imprimir: el fallo más común es descubrir que el supuesto A4 sigue midiendo 128 × 96 mm.
- La charla — overlays intactos,
\documentclass[aspectratio=169]{beamer}. El archivo que se proyecta. - El material impreso —
\documentclass[handout]{beamer}conpgfpages4 on 1. Dondequiera que haya usado\only, no olvide la partehandout:de la especificación. - Su propio guion —
\setbeameroption{show only notes}. Imprima solo las notas y déjelas en el atril. - Una hoja de trabajo para el público —
3 on 1 with notesdehandoutWithNotes. Sinshow notesla columna sale en blanco, y eso también sirve. - Algo para leer de verdad —
\documentclass{article}másbeamerarticle, cuando el material deba ser prosa y no diapositivas. - Trampa común — estas compilaciones no deben compartir
.auxni.nav. Dé a cada salida su propio nombre de trabajo, con un directorio aparte o-jobname.