Índice
- El problema
- La solución
- Mi plantilla de presentación
- Cómo usar la plantilla de presentación
- Sistema Operativo y programas necesarios
El problema
Últimamente he asistido a varias presentaciones (a una de ellas, como ponente). Es trágico que en pleno año 2016 sigamos sufriendo el problema del formato.
Pensándolo bien, es triste pero completamente normal. Los cañones proyectores son caros, y algunos además duraderos. ¿Vamos a tirar a la basura un cañón porque sea de formato 4:3? De hecho, si tenemos una pared 4:3 y presupuesto para cubrirla entera, ¿tiene sentido que compremos un cañón 16:9?
El caso es que seguimos viendo presentaciones que desaprovechan el valioso (¡y costoso!) espacio disponible sencillamente porque están pensadas para el formato incorrecto.
En el mejor de los casos vemos una presentación 4:3 con bandas negras a los lados, en una gran pantalla 16:9. Otras veces es al revés: una presentación 16:9 con bandas arriba y abajo, en una vieja pantalla 4:3. Este caso es peor, porque las pantallas 4:3 suelen ser más pequeñas, ya sea por limitaciones tecnológicas (son más antiguas), presupuestarias o… ¡por la altura de la pared!
Hay un remedio que resulta ser peor que la enfermedad: estrujar la presentación para adaptarla al formato de la pantalla. ¡Pobres letras! Casi las oigo chillar aplastadas. Y finalmente, el colmo del colmo: letras estrujadas y barras al mismo tiempo. Yo he sido testigo. Quizás esto ocurre cuando se hacen presentaciones consecutivas con diferentes formatos y nadie se para a configurar las cosas.
¿Se puede culpar al ponente?
El ponente no suele saber con antelación si la pantalla será 4:3 ó 16:9. Es frecuente que en un mismo evento haya pantallas de ambos formatos, y siempre suele haber cambios de última hora.
Hace un par de meses yo mismo di una charla (sobre el manejo de estructuras de datos en C++) y la pantalla era de formato 4:3, pero después se iba a montar un vídeo de la charla en formato 16:9.
La solución
Entonces, ¿qué se puede hacer? ¿Preparar la presentación en los dos formatos?
Pues sí. Exactamente. Y ahí los que usamos LaTeX
y beamer
estamos de enhorabuena, porque CMake
con UseLATEX.cmake
puede hacer el trabajo sucio por nosotros.
Beamer
ofrece una gama de temas predefinidos para las presentaciones. Por un lado se puede elegir la gama de colores. Por otro lado se puede elegir la distribución de ciertos elementos, como el título de la transparencia, la sección a la que pertenece, el número de transparencia etc. Algunos temas muestran más detalles de este tipo que otros.
Lo interesante en el caso que nos ocupa es que unos temas utilizan barras horizontales para estos elementos mientras que otros temas utilizan barras verticales.
Si utilizamos un tema con barras horizontales para 4:3 y otro con barras verticales para 16:9, el espacio que queda para el contenido real de las transparencias es aproximadamente de la misma proporción en ambos formatos.
Esto es exactamente lo que hice para mi presentación de hace unos meses:
- Escribí el contenido en sí una sola vez.
- Seleccioné un tema apropiado para 4:3 (
Frankfurt
) y generé el PDF ejecutandopdflatex
- Cambié el formato y el tema para 16:9 (
Marburg
) y generé otro PDF ejecutandopdflatex
de nuevo
Cambiando además el tamaño de las fuentes (14pt
en 4:3 y 17pt
en 16:9), los contenidos de las transparencias encajaron casi igual en las dos versiones, aprovechando al máximo el espacio disponible sin sacrificar la legibilidad.
También puede ser interesante generar la versión «handout» (*) para entregarla a los asistentes en papel o para colgarla en internet, así que ya son al menos tres PDFs. Cuatro, si queremos el «handout» en ambos formatos.
* handout
: En muchas presentaciones se usa el truco de ir mostrando los contenidos de una misma transparencia progresivamente. Con beamer
este efecto se consigue generando varias páginas sucesivas para una sola transparencia. En el «handout» aparece sólo la página final (con todo a la vista) de cada transparencia. Además, con beamer
es posible configurar transparencias individuales para que aparezcan en la presentación, pero no en el «handout», o al revés.
UseLATEX.cmake
es ideal para automatizar todo esto.
Mi plantilla de presentación
Hace unas semanas decidí poner un poco de orden de cara a la próxima presentación. Ya hice algún Makefile
para mis documentos en Latex
hace años, pero me apetecía probar algo más moderno. Tras una búsqueda rápida me decanté por UseLATEX.cmake
y probé a montar una plantilla: https://github.com/mkrevuelta/TheNothingPresentation
Como en cualquier proyecto compilado con ayuda de CMake
, el orquestador principal es el archivo CMakeLists.txt
. En él se utilizan funciones de UseLATEX.cmake
para definir los cuatro objetivos (los PDF en distintos formatos) indicando de qué archivos dependen.
Por cada uno de los cuatro objetivos hay un archivo TEX que contiene la línea inicial del documento Latex
:
-
Presentation_43.tex
-
Presentation_43_handout.tex
-
Presentation_169.tex
-
Presentation_169_handout.tex
El primero de ellos, por ejemplo, contiene:
% Dear text editor, % Please, keep this file encoded in in latin1 (ISO-8859-1). % Here are some Spanish special characters: áéíóúüñÁÉÍÓÚÜÑ \documentclass[14pt]{beamer} % Available font sizes are: % 8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt, 20pt \input{src/latex/Colors.tex} \input{src/latex/Header_43.tex} \input{src/latex/Presentation.tex}
El segundo es igual, pero con el parámetro adicional handout
en la línea del documentclass
. Los dos últimos añaden el parámetro aspectratio=169
e incluyen al archivo Header_169.tex
en vez de Header_43.tex
.
Aparte de esas diferencias, los cuatro objetivos usan el mismo código. Todos incluyen a Colors.tex
y Presentation.tex
.
El contenido propiamente dicho de la presentación es sólo un pequeño catálogo de los trucos más sencillos que suelen utilizarse en beamer
. Está repartido en varios archivos TEX simplemente por organización y limpieza.
Todo el contenido está en el directorio src
. El subdirectorio src/latex
contiene los archivos en texto plano (con codificación latin1
). El subdirectorio src/figs
contiene las imágenes.
Por la forma en que funciona UseLATEX.cmake
, es necesario que todas las referencias de unos TEX a otros, o a las figuras, se hagan como si el directorio actual fuera el de CMakeLists.txt
. Por ejemplo, en Presentation.tex
hay que incluir a 1_Intro.tex
especificando \input{src/latex/1_Intro.tex}
, aunque ambos se encuentren en el directorio src/latex
.
Cómo usar la plantilla de presentación
Por supuesto, hay que descargar los archivos de la plantilla en sí: https://github.com/mkrevuelta/TheNothingPresentation
Quizás lo más conveniente, al menos la primera vez, es poner a prueba todo el sistema generando los PDF a partir de los fuentes tal y como están. Naturalmente es necesario tener instalados CMake
y Latex
con beamer
. También hay que descargar UseLATEX.cmake
(disponible en https://cmake.org/Wiki/CMakeUserUseLATEX y en https://github.com/kmorel/UseLATEX) y copiarlo en la misma carpeta del CMakeLists.txt
.
Entonces, desde esa carpeta hay que ejecutar «cmake .
«, y finalmente «make
«. Con la primera orden se despliega un directorio build
junto a src
y con la segunda se generan los cuatro PDF objetivo dentro de ese directorio.
El siguiente paso es, quizás, adaptar el «look» de la presentación: tema externo, colores, tamaño de letra etc.
Ya sólo queda cambiar los datos del autor y otros detalles de la portada en TitlePageData.tex
, y comenzar a escribir el contenido de la nueva presentación.
Naturalmente, querrás organizar tu presentación en otras secciones diferentes y querrás usar otras imágenes. Para ello debes tener en cuenta que los archivos TEX incluyen directamente a otros archivos TEX e imágenes, pero además es imprescindible que el archivo CMakeLists.txt
informe a CMake
de la dependencia de esos archivos. De lo contrario CMake
no los copiará al directorio build
y después pdflatex
no los encontrará.
Cada vez que añadas, elimines o cambies el nombre de una imagen o un archivo TEX, debes actualizar CMakeLists.txt
y ejecutar de nuevo «cmake .
«.
Nota sobre las imágenes
Las conversiones de imágenes para Latex
tienen sus trucos. Yo solía utilizar unos cuantos programas de conversión, pero creo que en lo sucesivo intentaré generarlas siempre en formato PNG ó EPS, que parecen funcionar bien con UseLATEX.cmake
.
Cabe destacar que la imagen someicon.svg
, pese a estar en un formato vectorial, ha sido convertida a mapa de bits al generar la presentación. Idealmente no debería ser así, pero si ampliamos la transparencia en la que aparece veremos unos píxeles como puños.
Sistema Operativo y programas necesarios
Hace bastantes años que, al menos en casa, soy un feliz usuario de Ubuntu. No estoy seguro de cuál es la lista completa de paquetes necesarios, pero sin duda hará falta tener latex-beamer
y cmake
.
También hay que descargar UseLATEX.cmake
, disponible en:
Hasta donde yo sé, todo esto debería funcionar también en otros sistemas operativos. Yo no lo he probado, pero me encantaría saber de vuestras experiencias, así que si lo probáis, escribidme unas líneas ;-)