Curso no convencional de LaTeX: también podemos presentar

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ífico1, el resultado no depende del sistema operativo2, la colaboración más sencilla y demás ventajas habituales del texto plano que ya conocemos.

  • 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 diferen te. A LaTeX le va más el minimalismo3.

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 aque las tablas, imágenes, bibliografía, apéndices4, 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 o shadow.

  • 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 e inmargin. 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, el encabezamiento, el pie y la barra lateral. Las opciones son default, miniframe, sidebar, split, shadow, tree y smoothtree. 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 temas 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 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 a beamer 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 opciones fg y bg 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, con left 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


NOTA: WordPress ha destruido los símbolos de mayor y menor que, con la que la lía para el tema de los overlays. En el repo del curso eást odo corecto, podéis leerlo allí mientras me resuelven el problema.


Mediante las opciones de overlay se puede controlar cuando 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 mostrarán 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{CONTENIDO}: solo se muestra el contenido en las copias indicadas pero se le reserva espacio desde el principio.
  • \only{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, mostrará el contenido solo en la primera copia; en todas a partir de la segunda y “ 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 la 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:VIDEO}{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 ejemplo.

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 Cygwin5.

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.

pdfpc en acción

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.

pdfpc con notas

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 siguiente6:

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 con ESC.

  • 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) o ESC: 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.

  • Impressive7: 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

Manual de beamer

Producing beautiful slides with LaTeX

Beamer theme matrix

Beamer theme gallery

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


Hoy unas músicas que no tienen relación alguna porque Franco Battiato tenía que aparecer en el blog 😀


  1. Luego veremos que a la hora de presentar tal vez necesitemos un programa si queremos usar alguna funcionalidad específica. 
  2. 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. 
  3. Por 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. 
  4. Para tener apéndices numerados necesitamos cargar el paquete appendixnumberbeamer 
  5. Hablé un poco más en detalle sobre cómo compilar aquí 
  6. Y no llegué a la cuenta atrás en rojo porque en media hora lo tenía ventilado. 
  7. ¡Gracias a Shevek por informarme de su existencia! 
Anuncios

2 pensamientos en “Curso no convencional de LaTeX: también podemos presentar

  1. victorhck

    Con Battiato tengo sentimientos encontrados… aunque desde hace unos años le voy descubriendo y me va gustando más!
    En YT hay un directo en Baghdad que me gusta bastante…

    Ah! que el post va de LaTEX! :þ

    Responder
    1. Ondiz Autor de la entrada

      A mí me parece tan loco lo que hace que me encanta. ¡Veré el directo!

      Te dejo que offtopic-ees si quieres, pero solo por ser tú 😛

      Responder

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s