Escriba \documentclass{slides} hoy, en TeX Live 2024, y compila. La clase lleva la versión 2.4b, fechada el 18 de mayo de 2022, y se mantiene todavía como parte del núcleo de LaTeX: una clase de diapositivas mucho más antigua que beamer. Desciende de SliTeX, que no era una clase sino un formato aparte. La guía histórica del usuario del propio proyecto LaTeX, que sigue viniendo con la distribución, deja constancia en una línea de que slides es el antiguo SliTeX. Desde que SliTeX se integró en LaTeX 2e —publicado el 1 de junio de 1994—, las diapositivas son una función de LaTeX y no un programa aparte. Esta página cubre todo lo que no es beamer: la clase que lo precede, el powerdot que aspiraba a sustituirlo, la media docena de clases de presentación que siguen en TeX Live con fechas del siglo pasado, qué hacer cuando las diapositivas están escritas en Markdown y, con franqueza, cuándo un sistema de diapositivas en LaTeX es la elección equivocada.
\documentclass{slides}: qué hace realmente el superviviente de SliTeX
Lo primero que hace es agrandar el texto. slides.def define \normalsize como \@setfontsize\normalsize\itwentypt{28pt}: cuerpo de 20 pt sobre una interlínea de 28 pt. Lo segundo es el vocabulario: las diapositivas van en \begin{slide} … \end{slide}, y junto a ellas hay un entorno overlay y un entorno note. Componga un documento con uno de cada y obtendrá tres páginas, con pies que dicen 1, 1-a y 1-1: la diapositiva numerada, el overlay como rama alfabética, la nota colgada del número de diapositiva con un guion. Ese «1-a» por sí solo revela que el diseño apuntaba a apilar transparencias físicas. \onlyslides{...} y \onlynotes{...} reciben una lista de números y emiten solo una de las dos clases (líneas 92 y 97 de slides.def).
Lo más interesante es cómo trata el color. slides.cls declara \DeclareMathVersion{invisible}: una versión matemática literalmente invisible. Combinada con \colorslides{...} y \blackandwhite{...} (líneas 103 y 116 de slides.def), permite imprimir la misma diapositiva una vez por color: dejar visible el texto que irá en rojo e invisible todo lo demás, y repetir con solo el azul visible. Apile las transparencias resultantes y tendrá una diapositiva multicolor perfectamente registrada. En los años ochenta, hacer una diapositiva en color era exactamente eso. Otra cosa hace tropezar a los documentos nuevos: el papel. La línea 102 de slides.cls declara \ExecuteOptions{letterpaper,final} y, sin embargo, pasarlo por pdflatex produce un PDF A4 (595,276 × 841,89 pt). El pdftexconfig.tex de TeX Live ya ha fijado \pdfpagewidth = 210 true mm, y las clases estándar nunca lo sobrescriben. Si el tamaño importa, cargue geometry o pase explícitamente a4paper o letterpaper, y luego compruébelo con pdfinfo.
\documentclass[a4paper]{slides}
\begin{document}
\begin{slide}
Body text is 20pt here, on a 28pt baseline.
\end{slide}
\begin{overlay}
Printed as slide 1-a, meant to sit on top of slide 1.
\end{overlay}
\begin{note}
Printed as 1-1, for the speaker.
\end{note}
\end{document}¿Sigue siendo usable powerdot? Con pdflatex, no
Ahí está. El powerdot.cls de TeX Live 2024 es la versión 1.7, con fecha 19/05/2021, su estado de mantenimiento LPPL es «maintained» y el mantenedor actual es el autor, Hendri Adriaens. No es un paquete muerto. Pero quien empiece hoy con él dedicará la primera hora a la cadena de compilación en vez de a su charla: pase un archivo \documentclass[style=klope]{powerdot} por pdflatex y se detiene con ! Package hyperref Error: Wrong DVI mode driver option 'dvips', seguido de una larga tanda de ! Undefined control sequence. La causa no es una conjetura: está escrita en la clase. La línea 180 de powerdot.cls llama, cuando no se ejecuta XeTeX, a \RequirePackage[setpagesize=false,dvips,...]{hyperref}, cableando el controlador dvips dentro de hyperref. powerdot es una construcción PSTricks y carga además \RequirePackage{pstricks} sin condiciones.
Dos rutas sí funcionan. Una es la cadena PostScript que la clase presupone, latex → dvips → ps2pdf; la otra es xelatex, para la que la clase reserva su propia rama. Ambas pasaron aquí, y una diapositiva con \pause se desplegó correctamente en overlays (la BoundingBox de PostScript salió a 792 × 594 pt, es decir, 11 × 8,25 pulgadas apaisadas, que es el paper=screen por defecto de powerdot en 4:3). Pero la caja de página del PDF resultante no encaja por sí sola: en esta máquina salió cuadrada, de 594 × 594 pt, así que compruebe con pdfinfo antes de imprimir o proyectar y pase el tamaño de papel a dvips y ps2pdf de forma explícita si hace falta. Se incluyen diecisiete estilos powerdot-*.sty (aggie, ciment, fyma, husky, ikeda, jefka, klope, paintings, pazik, sailor, simple, tycja, upen y más). Históricamente powerdot sucedió a prosper/HA-prosper, y los agradecimientos del propio beamer citan a Hendri Adriaens por HA-prosper. Detalle de época: el README incluido sigue remitiendo, para la instalación, a una dirección tex.ac.uk/cgi-bin/.
# pdflatex stops here:
# ! Package hyperref Error: Wrong DVI mode driver option `dvips',
# the route the class was designed for
latex talk.tex && latex talk.tex
dvips -o talk.ps talk.dvi
ps2pdf talk.ps talk.pdf
# or the branch the class provides itself
xelatex talk.tex && xelatex talk.tex
# always confirm the page box before you print
pdfinfo talk.pdf | grep "Page size"El fuente se lee bastante distinto del de beamer. Las diapositivas van en \begin{slide}{Título} … \end{slide}, y el avance por pasos es el mismo \pause. Las notas, en cambio, no son \note{...} sino un entorno note, y va fuera de la diapositiva: escribir \note{...} dentro detiene la ejecución con ! LaTeX Error: \begin{minipage} on input line 5 ended by \end{slide}. La salida se conmuta con dos opciones de clase: mode admite present, print o handout, y display admite slides, notes o slidesnotes. Medido, mode=handout,display=slidesnotes colapsó el \pause e imprimió note 1 of slide 2 en el pie de la página de notas (el modo handout rechaza landscape, y la clase lo advierte). Un truco es exclusivo de powerdot: clock=true incrusta JavaScript de Acrobat en el PDF para poner un reloj en marcha sobre la diapositiva (clockformat=HH:MM:ss, clockrefresh=1000). Que funcione depende del soporte de JavaScript del visor, así que pruébelo en la sala antes de confiar en él.
\documentclass[style=klope,mode=handout,display=slidesnotes]{powerdot}
\title{A talk}\author{Me}
\begin{document}
\maketitle
\begin{slide}{First}
\begin{itemize}
\item One\pause
\item Two
\end{itemize}
\end{slide}
% the note environment goes OUTSIDE the slide
\begin{note}{Reminder}
Say hello here.
\end{note}
\end{document}Las clases de presentación que aún trae TeX Live, y qué dicen sus fechas
Pregunte a kpsewhich y aparecen todas: seminar.cls, talk.cls, texpower.sty, pdfscreen.sty, pdfslide.sty, prosper.cls. CTAN no borra lo viejo, así que TeX Live sigue distribuyéndolo, y alinear las fechas da la historia de las clases de presentación en una sola columna. Una de ellas es especial: seminar, escrita en 1993 por Timothy Van Zandt como estilo de documento para LaTeX 2.09 y convertida en clase de LaTeX 2e por Sebastian Rahtz, sigue manteniéndose como v1.63a (2021/07/01). Y la sección histórica del manual de beamer registra que beamer empezó como una pequeña colección privada de macros para facilitar el uso de la clase seminar. Dicho de otro modo: la entrada más antigua de esta lista es la matriz de la más reciente.
| Archivo | Versión y fecha en TeX Live 2024 | Qué es |
|---|---|---|
beamer.cls | v3.71 (2024/01/06) | el estándar de facto; escrito por Till Tantau en 2003, mantenido desde 2010 por Joseph Wright y otros |
slides.cls | v2.4b (2022/05/18) | parte del núcleo de LaTeX; el antiguo SliTeX |
seminar.cls | v1.63a (2021/07/01) | creada en 1993 por Timothy Van Zandt; la clase de la que salió beamer |
powerdot.cls | v1.7 (2021/05/19) | construcción PSTricks; sucesor de prosper/HA-prosper |
talk.cls | v1.1 (2006/07/11) | una clase pensada para producir varias versiones del mismo material |
texpower.sty | v0.2 (2005/04/08) | un paquete que añade efectos dinámicos; no es una clase |
prosper.cls | v1.5 (2001/07/17) | de Frédéric Goualard y Peter Møller Neergaard; relevado por powerdot |
pdfscreen.sty | v1.5 (2000/07/07) | para diseñar PDF pensados para pantalla; de C. V. Radhakrishnan |
pdfslide.sty | v0.50 (1999/10/10) | la fecha más antigua de la lista; un intento temprano de diapositivas en PDF |
Para el japonés hay otra opción a mano. Si ya escribe con jsarticle, \documentclass[slide,papersize,landscape]{jsarticle} basta para obtener una maquetación de diapositivas con letra grande. La línea 80 de jsarticle.cls declara \DeclareOption{slide}{\@slidetrue\def\jsc@magscale{3.583}}, y ese factor de 3,583 es idéntico al que la misma clase usa para su opción 36pt: slide equivale, pues, de hecho a 36 pt. Si quiere más, la clase llega hasta 43pt (factor 4,300). Pasado aquí por upLaTeX y dvipdfmx, produjo un PDF A4 apaisado (841,89 × 595,28 pt). No hay temas ni overlays, pero se hereda el formato de los documentos japoneses que ya escribe, lo bastante para montar en diez minutos las diapositivas del seminario interno de mañana.
Diapositivas escritas en Markdown: Marp, reveal.js, pandoc y el paquete markdown
El camino se bifurca: o bien procesar el Markdown fuera y entregar el resultado a LaTeX, o bien dejar que LaTeX lea el Markdown. Marp y la familia reveal.js representan la primera rama; son programas de Node y navegador que se instalan con npm y no forman parte de TeX Live: en esta máquina no aparecen ni marp ni pandoc. El puente habitual es pandoc, cuyo manual oficial incluye beamer entre sus formatos de salida y nombra beamer, revealjs, s5, slidy, dzslides y pptx como formatos de diapositivas; ese mismo manual indica que producir un PDF exige tener instalado un motor de LaTeX. Así que, incluso por la vía de pandoc, se sigue necesitando TeX Live.
La otra ruta se queda dentro de TeX Live. El paquete markdown (v3.4.2, 2024-03-09) lleva un analizador de Markdown dentro de TeX y compone directamente el contenido de un entorno markdown. Cargando \usepackage[hybrid]{markdown} y poniendo una lista de viñetas, un *énfasis* y un inline code dentro de un frame de beamer marcado [fragile], todo salió correctamente compuesto. Hay una condición: con pdfLaTeX, -shell-escape es obligatorio. Si se omite, la ejecución se detiene en ! Package markdown Error: Shell escape is restricted, seguido de Fatal error occurred, no output PDF file produced!. En la práctica encaja justo donde el equipo escribe en Markdown pero las ecuaciones y las figuras necesitan calidad LaTeX. A la inversa, si lo que quiere es decidir en Markdown el aspecto mismo de las diapositivas, eso es tarea de Marp, no de LaTeX.
\documentclass[aspectratio=169]{beamer}
\usepackage[hybrid]{markdown}
\begin{document}
\begin{frame}[fragile]{From Markdown}
\begin{markdown}
- first bullet
- second bullet with *emphasis*
Ordinary paragraph with `inline code`.
\end{markdown}
\end{frame}
\end{document}
% compile with: pdflatex -shell-escape file.tex
% without it: ! Package markdown Error: Shell escape is restrictedCuándo un sistema de diapositivas en LaTeX es la elección equivocada
Con franqueza, hay tres situaciones en las que LaTeX es la herramienta equivocada. La primera: una charla cuyo aspecto va a iterar decenas de veces. Las diapositivas en LaTeX son un medio de editar y esperar: una presentación de 40 frames y 121 páginas midió aquí 3,5 s por pasada, y hacen falta dos por culpa de .nav y .toc. Ese ida y vuelta no encaja con mover una caja milímetro a milímetro. La segunda: la edición conjunta. Si su coautor no escribe TeX, mandarle un .tex equivale a decirle «instala primero mi cadena de herramientas y luego contéstame». La tercera: un organizador que pide .pptx; apostar por una conversión de PDF a PowerPoint es peor que elegir otra herramienta desde el principio. Donde LaTeX gana de calle: cuando las ecuaciones, el código y las figuras salen de la misma cadena que el artículo; cuando se quiere la charla y el material generados mecánicamente desde un único fuente; y cuando se quiere un PDF que no se desplace ni un milímetro en la máquina que lo abra —el propio manual de beamer cita justo eso, no tener que preocuparse por lo que haya instalado en el ordenador del congreso, entre sus ventajas—.
- Empezar una charla nueva →
beamer. Es la única entrada de esta lista aún en desarrollo activo, y ya trae temas, overlays, modo handout y notas. - Le pasan un
.texviejo → lea primero el\documentclass.slidesindica descendencia de SliTeX;prosperseñala un candidato a migrar a powerdot. - Los dibujos PSTricks son lo esencial →
powerdot, pero compile conlatex→dvips→ps2pdfo conxelatex;pdflatexno pasará. - Diapositivas en japonés para mañana → la opción
slidede jsarticle (de hecho 36 pt, y hasta43ptsi quiere más). - El fuente está en Markdown → pandoc por fuera, o el paquete
markdowndentro de TeX Live (-shell-escapeobligatorio con pdfLaTeX). - El organizador exige
.pptx→ no fuerce LaTeX. Elegir otra herramienta desde el principio es mejor que apostar por una conversión.