También podemos presentar
Como muchos ya sabréis, con LaTeX además de fabricar documentos con
una excelente calidad también podemos crear presentaciones. Para ello
tenemos varias clases diferentes, beamer
es la más famosa
y probablemente habréis oído hablar de ella, pero también tienen el
mismo objetivo powerdot
y las más viejecillas
prosper
, seminar
y slides
. Yo
voy a hablar de la clase beamer
que es la que controlo, pero antes
de nada vamos a ver en qué nos beneficia usar LaTeX para hacer una
presentación.
¿Merece la pena usar LaTeX para una presentación?
He de reconocer que odio Power Point, Impress y todo el software similar y que la primera vez que usé LaTeX para una presentación fue única y exclusivamente por llevar la contraria, pero no volvería atrás. Estas son las ventajas que le veo:
-
Contenido y formato separados: esta es una de las características fundamentales de LaTeX y aquí nos resulta especialmente útil, definimos ambas cosas por separado y se afectan muy poco entre sí.
-
Orden lógico: nos vemos obligados a escribir el contenido como si fuera un texto y no como unos cuadrados con cosas dentro.
-
Formato favorable para el espectador: es más complicado poner muchísimo texto o imágenes sin ton si son en una diapositiva que hacerla sencilla y clara.
-
Texto plano: como siempre, trabajamos con texto plano por lo que no necesitamos un programa específicoLuego veremos que a la hora de presentar tal vez necesitemos un programa especial si queremos usar alguna funcionalidad específica., el resultado no depende del sistema operativo, la colaboración más sencilla y demás ventajas habituales del texto plano que ya conocemos.
Algo que importante cuando eres linuxera en entorno Windows y no quieres que te echen la bronca porque sus formatos privativos no funcionan en tu sistema operativo libre o viceversa, porque tus formatos estándar no funcionen en su sistema privativo.
-
Reutilización: si la presentación deriva de otro documento, como un artículo o tesis, que hemos escrito en LaTeX podemos copiar el trozo correspondiente a las imágenes, ecuaciones, tablas… directamente en la presentación.
También tiene, evidentemente, sus inconvenientes:
-
No vemos lo que hacemos: esto nos lleva pasando mucho tiempo pero puede ser un problema para una presentación ya que es algo más visual. Este problema es especialmente acuciante si no tenemos claro el orden en el que queremos decir las cosas.
-
Diseños complejos: es bastante difícil crear una diapositiva con muchos elementos y que siga teniendo buena pinta. Esto quiere decir que nunca conseguiríamos reproducir las míticas presentaciones comerciales que tienen en cada página el logo de la empresa y su slogan, un índice de contenidos, diecisiete imágenes, dos tablas y texto en tres tipos de fuente diferente. A LaTeX le va más el minimalismoPor cierto, me encanta cuando dicen que con LaTeX se crean presentaciones de calidad y el ejemplo tiene unos colores que hacen sangrar los ojos. Aberraciones estéticas se pueden cometer por mucho que usemos LaTeX..
La clase beamer
Bien, pasemos entonces a hablar sobre beamer
. Aunque esta clase
tenga un manual de casi 250 páginas enseguida puede uno
montarse una presentación decente. Esto se debe a que las
tablas, imágenes, bibliografía, apéndicesPara tener apéndices numerados necesitamos cargar el
paquete appendixnumberbeamer
,
ecuaciones y demás características de LaTeX funcionan
exactamente igual, aunque su aspecto varía dependiendo del estilo que
estemos utilizando. Del mismo modo, \maketitle
nos hace la portada y
\tableofcontents
nos fabrica el índice de contenidos como viene
siendo habitual.
En definitiva, creamos el documento de la misma manera que creábamos
un artículo o libro, definiendo el contenido de cada diapositiva
dentro del entorno frame
:
\begin{frame}{Título}
% Contenido de la diapositiva
\end{frame}
Algo a tener en cuenta es que tanto las secciones como las subsecciones añaden una entrada al índice pero no establecen el título de la diapositiva, debemos hacerlo nosotros a mano. Dependiendo del estilo, tener diferentes secciones y subsecciones nos permite crear diapositivas de título para separar cada sección y que nuestra presentación pueda seguirse más fácilmente.
Estilo
En cuanto al estilo debemos diferenciar dos cosas: los temas y el estilo de ciertos elementos como las alertas, los ejemplos o los teoremas, que cada tema redefine.
El tema es lo que establece el formato general de nuestra
presentación, vendría a ser como la plantilla. Aparte de los temas que
define el propio beamer
y de los que hablaremos a continuación,
tenemos muchos temas disponibles en Internet, por ejemplo, en
Overleaf. A mí me gustan especialmente
Presento, el de la universidad de Berkeley y
Metropolis, el que usé con algunas modificaciones para
la defensa de mi tesis.
Lo más importante que hay que entender respecto a los temas de
beamer
es que hay cinco tipos:
-
Temas de presentación: afectan a toda la presentación. Eligen un tema de color, uno de fuente, uno exterior y otro interior que combinen (relativamente) bien. Tienen nombres de ciudades. Antiguamente se llamaban cosas tipo
bars
oshadow
. -
Temas de color: afectan a la paleta de colores de la presentación. Hay temas de color exterior, con nombres de animales acuáticos; interior, con nombres de flores; y completos con nombre de animales voladores. Los temas interiores afectan al color de lo de dentro de la diapositiva; los exteriores a los elementos del borde y los completos a ambas cosas.
-
Temas de fuente: controlan el tipo de fuente que usamos en la presentación, por defecto es Sans Serif, pero hay opción de Serif (
serif
); títulos en negrita (structurebold
), títulos en cursiva (structureitalicserif
) y títulos en versalita (structuresmallcapsserif
). -
Temas interiores: controlan el aspecto de los elementos del interior de la diapositiva, es decir, como se muestran los bloques, las tablas, las figuras, las listas… Las opciones son
default
,circles
,rectangles
,rounded
einmargin
. Lo más fácil es probar uno mismo que hace cada una, si no se hace muy largo de explicar. -
Temas exteriores: controlan el aspecto de los bordes, es decir, del encabezamiento, el pie y la barra lateral. Las opciones son
default
,miniframe
,sidebar
,split
,shadow
,tree
ysmoothtree
. Podéis probar a ver cuál os gusta más.
Podemos combinarlos como nos parezca más bonito. Existen, de hecho, matrices recopilando combinaciones de estilos, sobre todo para los tema de presentación y de color.
Para terminar con los temas, veamos como se establecen todos ellos:
% Preámbulo
\usetheme{Bergen} % tema de presentación
\usecolortheme{rose} % tema de color
\usefonttheme{serif} % tema de fuente
\useinnertheme{circles} % tema interior
\useoutertheme{split} % tema exterior
En el caso de que haya la posibilidad de definir más opciones, las añadimos entre corchetes como argumento opcional, eso ya depende de cada tema.
En cuanto al estilo de los diferentes elementos de la presentación, son los temas los que establecen cómo son todos y cada uno de ellos, por lo que si no nos gusta, por ejemplo, la pinta que tienen las listas podemos pisar su estilo por defecto con el nuestro. Esto nos permite que nuestra presentación sea coherente y que no tengamos en la diapositiva 7 el título verde y en la 23 rosa. En el siguiente apartado veremos cómo se modifica el estilo de los elementos.
Opciones
Lo que sí cambia respecto a otros documentos de LaTeX es el modo de
establecer las opciones, ya que para ello usamos la familia de
comandos \setbeamer
y especificamos qué elemento queremos cambiar y
cómo. Según qué queramos conseguir tenemos diferentes comandos:
-
\setbeameroption{opción general}
, establece las opciones generales para la presentación. Por ejemplo y tal y como veremos en la próxima sección, se usa para decirle abeamer
que muestre u oculte las notas mediante\setbeameroption{hide notes}
. -
\setbeamertemplate{elemento}{definición}
, define el aspecto de cierto elemento, por ejemplo, con\setbeamertemplate{itemize item}{$\Rightarrow$}
conseguimos que en las listas no numeradas se indiquen los ítems con una flecha. -
\setbeamercolor{elemento}{fg=colorPrimerPlano, bg=colorDeFondo}
, establece el color de determinado elemento, por ejemplo,\setbeamercolor{title}{fg=magenta, bg=white}
establece que todos los títulos sean rosas con el fondo blanco. No es necesario usar las opcionesfg
ybg
a la vez, lo que no cambiemos mantendrá el color que tenía. -
\setbeamerfont{elemento}{size=tamaño, shape=estilo}
, establece la forma y tamaño de fuente de determinado elemento, por ejemplo,\setbeamerfont{title}{series=\bfseries}
pone en negrita el título de la presentación. Podemos establecer solo el tamaño o solo el estilo, lo que no cambiemos permanecerá como estaba.
Para ver qué elementos tiene una presentación no nos queda otra que acudir al manual, pero ahora ya sabemos mucho y lo podemos entender perfectamente. También en el manual encontraremos los argumentos opcionales de estos comandos.
Podemos usar todos estos comandos en cualquier parte del documento y afectan desde donde están situados hasta encontrarse con otra definición o, si no hay ninguna más, hasta el final.
Notas
Con beamer
tenemos la opción de crear unas notas secretas que solo
vemos nosotros en la línea de la
consola del presentador de Impress. Para escribir las
notas usamos el comando \note{}
que nos crea una página de notas
detrás de la diapositiva en cuestión:
\documentclass[notes=show]{beamer}
\begin{document}
\begin{frame}
% Contenido de la diapositiva
\note{Notas}
\end{frame}
\end{document}
Esto es interesante, pero se le puede sacar mucho más jugo uniéndolo
al paquete pgfpages
que nos permite unir la diapositiva
con la página de notas en una hoja más ancha de tal manera que al
proyectarla nosotros veamos las notas y la audiencia la
presentación. Hay que tener en cuenta que esta funcionalidad no es
compatible con todos los visores de pdf, en el siguiente apartado
hablaremos de ello.
Controlamos el comportamiento de las notas mediante las siguiente opciones:
-
\setbeameroption{hide notes}
solo muestra la presentación. -
\setbeameroption{show only notes}
solo muestras las notas. -
\setbeameroption{show notes on second screen=right}
crea una presentación el doble de ancha que contiene las diapositivas y las notas. En este caso mostramos las notas en la pantalla de la derecha, conleft
las pondríamos en la izquierda.
Veamos como quedaría:
\documentclass{beamer}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen=right}
\begin{document}
\begin{frame}
% Contenido de la diapositiva
\note{Notas}
\end{frame}
\end{document}
Efectos y multimedia
Que hagamos la presentación con beamer
no significa que vaya a ser
aburrida y estática, podemos personalizar cómo va apareciendo el
contenido e incluso añadir multimedia. Os cuento ahora unas cosillas
al respecto.
Overlay
Mediante las opciones de overlay se puede controlar cuándo se muestra cada elemento. Esto nos viene bien, por ejemplo, para mostrar los elementos de una lista uno a uno. Para ello LaTeX nos creará múltiples copias de la diapositiva con overlays que irán mostrando los elementos que vayamos indicando. De esta manera, al ir avanzando dará la sensación de que va surgiendo o desapareciendo contenido en la presentación.
Hay varios comandos para gestionar este mecanismo, como los que siguen:
-
\pause
: solo se muestra el contenido hasta este punto. -
\uncover<OVERLAY>{CONTENIDO}
: solo se muestra el contenido en las copias indicadas pero se le reserva espacio desde el principio. -
\only<OVERLAY>{CONTENIDO}
: como\uncover
pero sin que se reserve espacio previamente para el contenido.
Además, muchos otros comandos y entornos aceptan opciones de overlay, generalmente con esta estructura:
\comando<OVERLAY>{CONTENIDO}
\begin{entorno}<OVERLAY>
CONTENIDO
\end{entorno}
En OVERLAY
especificamos cuándo queremos que aparezcan las cosas,
<1>
mostrará el contenido solo en la primera copia; <2->
en todas
a partir de la segunda y <-5>
solo hasta la quinta.
Un caso interesante es el de las listas, ya que hay una sintaxis simplificada para mostrar los elementos de uno en uno:
\begin{itemize}[<+->]
\item Ítem 1
\item Ítem 2
\end{itemize}
Aprovecho el ejemplo para decir que los overlays también funcionan en las notas:
\note<1>{Notas para el ítem 1}
\note<2>{Notas para el ítem 2}
Vídeos
En las presentaciones de beamer
también podemos añadir vídeos,
faltaría más. Hay varios paquetes con este fin, como multimedia
, que
viene con el propio beamer
y media9
, que sustituye a
media15
. El problema aquí es que muy pocos visores de
pdf soportan los vídeos incrustados. Si conseguís encontrar uno, los
vídeos se incrustan muy fácilmente:
% Vídeo con multimedia
\movie[OPCIONES]{SUSTITUTO}{VÍDEO}
% Vídeo con media9
\includemedia[OPCIONES]{SUSTITUTO}{VÍDEO}
Donde SUSTITUTO
es el texto o imagen que guardará sitio al
vídeo, por ejemplo, un fotograma del mismo. En VÍDEO
debemos
escribir al ruta al vídeo.
Otra opción es usar el comando \href
del paquete
hyperref
, que sirve para crear enlaces en nuestros
documentos. En lugar de incrustar el vídeo en la presentación, en este
caso ponemos un texto o imagen para que cuando la pinchemos se abra el
reproductor de vídeo en una ventana aparte:
\href{run:VÍDEO}{SUSTITUTO}
Navegación
En la parte inferior de las diapositivas nos aparecen por defecto unos iconitos para navegar por la presentación y buscar. Hay gente que los ama y gente que los detesta. Si sois de los segundos podéis asesinarlos con:
\setbeamertemplate{navigation symbols}{}
Repetición
La última cosa que os voy a contar sobre beamer
es cómo insertar
automáticamente un contenido concreto cuando se dé cierto evento. Esto
es útil para hacer aparecer una diapositiva con el título o para
mostrar el índice cada vez que vaya a comenzar una nueva sección, por
poner un par de ejemplos.
Conseguimos esto con la familia de comandos\AtBegin
(y \AtEnd
para
el caso de las notas) que se disparan al comenzar una sección, parte,
nota o demás. Os dejo aquí dos casos que creo que se entienden con
facilidad:
% Diapositiva con el título de sección al iniciar sección
\AtBeginSection{
\begin{frame}
\vfill
% Caja con colores de título
\begin{beamercolorbox}[center]{title}
\usebeamerfont{title} % Fuente de título
\insertsectionhead % Nombre de sección
\end{beamercolorbox}
\vfill
\end{frame}
}
% Índice mostrando subsección actual al iniciar subsección
\AtBeginSubsection
{ \begin{frame}{Outline}
\tableofcontents[currentsection,
currentsubsection,
sectionstyle=show/hide,
subsectionstyle=show/shaded/hide]
\end{frame}
}
Programas para presentar
El mayor problema de beamer
desde mi punto de vista es que no todos
los visores de pdf son capaces de mostrarnos en nuestro ordenador
las notas y proyectar las diapositivas. Si somos valientes y damos las
presentaciones a pelo esto no nos importa, con cualquier lector en
pantalla completa estamos servidos, pero si somos cobardicas con miedo
escénico como la que escribe tenemos un problema.
¡No nos asustemos aún! El mundo es grande y los cobardes que usan LaTeX y saben programar parece que abundan. Es por ello que hay diferentes alternativas para que podamos hacer trampa y leer de nuestras notas secretas. En concreto voy a hablar de pdfpc que es el que yo he usado, luego nombraré algunos otros que sé que existen pero poco más.
Pdfpc
Pdfpc es una herramienta de línea de comandos para visualizar presentaciones en formato pdf en varias pantallas. Es un fork de Pdf Presenter Console, que dejó de desarrollarse. Se distribuye con licencia GNU GPL v2 así que es software libre. Es muy fácil de utilizar y ayuda mucho a la hora de presentar, no solo por las notas, como luego veremos.
La única pega que le pondría es que tuve que compilarlo desde fuente porque el que estaba en los repositorios era muy viejecito, pero no es difícil, yo lo hice en GNU/Linux y hasta en Windows con CygwinHablé un poco más en detalle sobre cómo compilar aquí.
Para usarlo simplemente escribimos:
pdfpc PRESENTACIÓN
Donde PRESENTACIÓN
es la ruta a la presentación en pdf.
De por sí pdfpc nos enseña en la vista de presentador la diapositiva actual, la siguiente, un reloj, el número de la diapositiva actual y el total. Todo ello muy útil a la hora de presentar.
Para ver las notas de beamer
necesitamos crear la presentación con
las notas integradas como hemos visto antes:
\setbeameroption{show notes on second screen=right}
Luego llamamos a pdfpc con la opción --notes
:
pdfpc presentation.pdf --notes=right
Ahora en la vista de presentador veremos las notas y una minidiapositiva mostrándonos la diapositiva actual, en lugar de verla en grande como antes.
El programa tiene otras muchas opciones, os resumo unas pocas que me parecen especialmente útiles, las demás están en el manual:
-
−d
,−−duration=N
la duración en minutos (N
) de la presentación. Sirve para que nos ponga una cuenta atrás en la parte inferior de la pantalla. -
−l
,−−last−minutes=N
tiempo en minutos (N
) a partir del que la cuenta atrás se verá en rojo. Para irse poniendo nerviosillo. -
-s
,−−switch−screens
cambia la vista de presentador de pantalla. -
-w
,--windowed
crea dos ventanas, una con la vista del presentador y otra con lo que verá la audiencia. Útil para ver el resultado cuando solo tenemos una pantalla.
Por ejemplo, para presentación de la tesis usé lo siguienteY no llegué a la cuenta atrás en rojo porque en media hora lo tenía ventilado.:
pdfpc presentation.pdf --duration=45 --notes=right --last-minutes=10
Además, durante la presentación se pueden usar diferentes teclas para hacer cosas:
-
F
(freeze): congela la imagen de la presentación para la audiencia mientras nosotros jugamos en nuestra vista. Pinta un copo de nieve en la parte inferior. -
B
(black): pone la pantalla de la audiencia negra y a nosotros nos pinta un cuadradito negro con una cruz blanca. Útil cuando das clase y alternas pizarra y proyector (así no montas el lío que solían montar mis profesores, ingenieros industriales casi todos ellos). -
G
(go): nos lleva a la diapositiva que le indiquemos. Fantástico para cuando te dicen en la diapositiva 12 hay una tabla que… -
N
(notes): nos permite escribir notas en la diapositiva. Salimos conESC
. -
E
(end): marca la diapositiva final. Útil si tenemos diapositivas de repuesto para las preguntas. -
O
(overlay): sirve para marcar/desmarcar diapositivas como parte de una diapositiva que va surgiendo poco a poco. No las tendrá en cuenta en el cómputo total de diapositivas. -
P
(pause): pausa el reloj. -
R
(reset): reinicia la presentación. -
Q
(quit) oESC
: cierra la presentación.
Las notas y diferentes marcas (fin, overlay, …) las guarda en un archivo pdfpc que recupera cada vez que leemos la presentación. Es un archivo de texto plano y podemos abrirlo. Tiene esta pinta:
[file]
presentation.pdf
[duration]
45
[skip]
8,
[end_user_slide]
10
[notes]
### 1
Notas en la diapositiva 1
Otras opciones para presentar
Los programas que cito ahora nunca los he usado, encontré pdfpc y me quedé con él, los pongo aquí para que vosotros elijáis el que más os guste.
-
Impressive¡Gracias a Shevek por informarme de su existencia!: un programa escrito en Python con funcionalidades curiosas como el modo foco y la vista global de todas las diapositivas.
-
Pympress: también escrito en Python, soporta vídeo y las notas de
beamer
y tiene una consola para el presentador. -
Dspdfviewer: un visor simple para las presentaciones de
beamer
.
Resumen
Para resumir lo que hemos estado comentando, vamos a ver cómo quedaría un ejemplo completo aunque sencillo de una presentación en LaTeX:
% Definición
\documentclass{beamer}
% Notas
\usepackage{pgfpages}
\setbeameroption{show notes on second screen=right}
% Datos
\title{Presentaciones en \LaTeX}
\author{Ondiz}
\institute{Home, sweet home}
\date{\today}
% Temas
\usetheme{Bergen}
\usefonttheme{serif}
\usecolortheme{rose}
% Opciones
\setbeamercolor{title}{fg=magenta, bg=white}
\setbeamertemplate{navigation symbols}{}
% Inicio
\begin{document}
% Diapositivas
\begin{frame}
\maketitle
\note{Notas}
\end{frame}
\begin{frame}{Índice}
\tableofcontents
\note{Más notas}
\end{frame}
\section{Introducción}
\subsection{Primera parte}
\begin{frame}{Introducción}
\begin{itemize}
\item<1-> Ítem 1
\item<2> Ítem 2
\end{itemize}
\end{frame}
\end{document}
¡No es tan difícil!
En cualquier caso, para empezar con beamer
yo recomendaría coger una
presentación ya hecha y probar a cambiar cosas hasta que nos sintamos
cómodos con este nuevo sistema de trabajo. Cuando ya manejemos lo más
sencillo ir al manual (o a StackOverflow) y personalizar la
presentación es coser y cantar.
Por último, como soy maja os dejo una presentación de ejemplo en el repositorio del curso, contiene muchas de las cosas que he comentado.
Referencias
Which package to use for presentations? Beamer, Prosper, or Other en TeXExchange
Creating a presentation with LaTeX and powerdot
Producing beautiful slides with LaTeX
Create your own beamer template
Embedding videos and animations en TeXExchange
Is there a nice solution to get a “presenter mode” for Latex presentations? en TeXExchange
Anterior: Píntame ese código, Siguiente: Nuestras propias macros [Contenido]