Nueva solución para generar PDFs desde Markdown con Pandoc y Typst

Fuentes: Imaginary Text
Nueva solución para generar PDFs desde Markdown con Pandoc y Typst
Imagen generada con IA

Este artículo describe una solución para generar archivos PDF a partir de documentos Markdown utilizando Pandoc y Typst, abordando los desafíos de la evolución de ambas herramientas. El autor, JMax, originalmente creó una plantilla para este propósito, pero las actualizaciones de Pandoc y Typst la hicieron obsoleta. La nueva solución, desarrollada para un curso de posgrado, se centra en una arquitectura más robusta y flexible.

¿Qué es y por qué es importante? Typst es un lenguaje de tipografía y composición de documentos que busca ser una alternativa moderna a LaTeX. Pandoc es una herramienta de conversión de documentos que puede transformar archivos Markdown a diversos formatos, incluyendo PDF. La combinación de ambas permite crear documentos PDF de aspecto profesional a partir de archivos Markdown, lo cual es útil para académicos, escritores, y cualquier persona que necesite generar documentos formateados de manera consistente.

¿Cómo funciona? La nueva plantilla utiliza el template predeterminado de Typst dentro de Pandoc, pero lo extiende con un archivo Typst separado (article.typ). La ejecución se realiza a través de la línea de comandos: pandoc file.md -o file.pdf -V template=article.typ --pdf-engine=typst. Esto pasa el nombre del archivo Typst como una variable a Pandoc, que luego lo importa y utiliza para la composición del PDF. Esta separación de lógica entre Pandoc y Typst facilita el mantenimiento y la actualización de la plantilla, ya que evita la dependencia directa de los templates internos de Pandoc.

La plantilla incluye varias secciones de configuración: mapeo de contenido para manejar metadatos complejos (como nombres de autores), configuración de valores predeterminados (tamaño de página, fuentes), estilos para encabezados, bloques de código, citas, y una sección para definir estilos personalizados usando etiquetas Markdown (similar a IDs en HTML). También incluye una sección para aplicar estilos específicos a elementos de texto, como fechas o URLs, y finalmente, define el diseño general del documento, incluyendo la presentación del título, el cuerpo del texto y un colofón.

Casos de uso: Esta solución es ideal para investigadores, estudiantes, y profesionales que escriben artículos, informes, tesis o cualquier otro documento que requiera un formato específico y una tipografía cuidada. Permite mantener la simplicidad de Markdown para la escritura, mientras se delega el control de la apariencia visual a Typst.

Consideraciones: La plantilla asume que el documento Markdown tiene un bloque de metadatos al principio. Aunque es altamente personalizable, requiere cierto conocimiento de Typst para realizar modificaciones avanzadas. Alternativas podrían incluir el uso directo de LaTeX, pero Typst ofrece una sintaxis más moderna y una curva de aprendizaje potencialmente más suave.