Pandoc para tesis: workflow Markdown → LaTeX → PDF/A en 2026
Tu director quiere el capítulo en Word. Tu universidad exige PDF/A-1b para el depósito TESEO. La revista en la que quieres publicar el capítulo tres acepta solo LaTeX. Si tu tesis vive en un único documento Word de 300 páginas, satisfacer esas tres demandas simultáneamente implica horas de trabajo manual cada vez que haces un cambio. El workflow Pandoc para tesis resuelve este problema con un modelo de fuente única: escribes en Markdown, y Pandoc convierte a cualquier formato que necesites en segundos. Esta guía de 2026 cubre la instalación, los filtros clave, la plantilla LaTeX de tu universidad y la automatización con GitHub Actions.
Pandoc no es un procesador de texto; es un conversor de formatos. En el contexto de una tesis doctoral, actúa como el pegamento entre tu editor de texto (Obsidian, VS Code, cualquier editor Markdown), el sistema de composición tipográfica LaTeX y los formatos de entrega (PDF/A para TESEO, DOCX para el director, HTML para publicación web del abstract). Dominar Pandoc significa liberarte del vendor lock-in de Word o Overleaf sin renunciar a ninguno de sus puntos fuertes.
--template, pandoc-crossref para referencias cruzadas de figuras y tablas, y GitHub Actions para compilación automática al hacer push. El resultado es un PDF/A-1b válido para TESEO y un DOCX limpio para el director, generados desde la misma fuente sin trabajo manual.
Por qué Markdown como fuente única
Word almacena texto en formato binario OOXML. Overleaf almacena código LaTeX. Ambos son excelentes sistemas de salida pero problemáticos como fuente de datos única porque:
- Word: el historial de versiones de Word es limitado, los documentos se corrompen con archivos grandes, el control de cambios entre versiones de distintos colaboradores genera conflictos difíciles de resolver, y exportar a LaTeX de calidad requiere retrabajo manual.
- LaTeX / Overleaf: excelente para composición tipográfica, pero la curva de aprendizaje es alta, el tiempo de compilación aumenta con el tamaño del documento, y enviar un .tex a un director que usa Word genera fricción.
Markdown es texto plano con sintaxis mínima. Un fichero .md se puede abrir con cualquier editor de texto, versionar en Git perfectamente, leer incluso sin renderizado, y convertir a cualquier formato con Pandoc. Para una tesis de 3-5 años, la permanencia del formato fuente importa tanto como la calidad del formato final.
El workflow de fuente única no significa abandonar LaTeX o Word; significa que esos son los formatos de salida, no la fuente. Escribes una vez en Markdown y entregas en el formato que cada receptor necesita.
Instalación de Pandoc 3.x en 2026
Pandoc 3.x es la versión estable en 2026. La versión actual (mayo 2026) es la 3.7.x. Para instalar:
macOS (Homebrew): brew install pandoc pandoc-crossref
Windows: descarga el instalador .msi desde github.com/jgm/pandoc/releases. Añade al PATH.
Linux (Debian/Ubuntu): apt install pandoc instala una versión antigua. Mejor: descarga el .deb desde GitHub releases.
Además de Pandoc, necesitas:
- TeX Live (completo) o MiKTeX: necesario para compilar a PDF via LaTeX.
- pandoc-crossref: filtro para referencias cruzadas (figuras, tablas, ecuaciones) con números automáticos. Versión compatible con Pandoc 3.7: 0.3.18.x.
- Better BibTeX para Zotero: genera el fichero .bib sincronizado con tu biblioteca Zotero para citas.
- El CSL para APA 7: descarga
apa.csldesde el repositorio oficial CSL (zotero.org/styles/apa).
Filtros esenciales: citeproc, crossref, abstract
Pandoc aplica filtros en el pipeline de conversión antes de generar el formato final. Los tres filtros imprescindibles para una tesis son:
citeproc (integrado en Pandoc 3.x)
citeproc procesa las citas en formato pandoc-citeproc ([@autor2020] o [@autor2020, p. 45]) y genera la bibliografía automáticamente según el estilo CSL especificado. En Pandoc 3.x, citeproc está integrado y se activa con el flag --citeproc. No necesitas instalarlo por separado.
pandoc-crossref
pandoc-crossref gestiona referencias cruzadas de figuras, tablas y ecuaciones con numeración automática. Defines una figura como:
{#fig:metodologia}
Y la referencias en el texto como @fig:metodologia. Pandoc-crossref genera “Figura 1” o “Figure 1” (configurable por idioma) y mantiene la numeración consistente aunque reordenes los capítulos. Equivalente exacto al sistema de referencias cruzadas de Word o LaTeX, pero en Markdown.
Filtro abstract (YAML metadata)
En Pandoc, el abstract y otros metadatos se definen en el YAML frontmatter del fichero Markdown fuente:
---
title: "Título de la tesis"
author: "Nombre Apellidos"
date: "2026"
lang: "es"
abstract: |
Resumen en español de entre 150 y 300 palabras...
abstract-en: |
Abstract in English...
bibliography: references.bib
csl: apa.csl
documentclass: book
---
La plantilla LaTeX usa estas variables para componer la portada, el abstract y los metadatos del PDF (autor, título, fecha) automáticamente.
CSL APA 7 con Pandoc
El estilo APA 7 en CSL está disponible en el repositorio oficial en zotero.org/styles/apa. El fichero apa.csl se descarga y se referencia en el YAML del documento.
Pandoc con citeproc y APA 7 gestiona correctamente:
- Citas parentéticas:
(García, 2023) - Citas narrativas:
García (2023) señala que...— con la sintaxis@garcia2023 - Múltiples autores: gestión automática de “et al.” a partir del cuarto autor
- Notas al pie: opcional con el flag
--footnotes-in-bib - DOIs y URLs en la bibliografía final con hipervínculo
La guía completa de normas APA 7 para tesis cubre los casos más comunes de citación que el CSL gestiona automáticamente. Las universidades italianas utilizan la norma UNI ISO 690 como estándar oficial de citación para tesis doctorales; si tu investigación incluye referencias a producción académica italiana, puedes consultar la guía sobre cómo citar con UNI ISO 690 en tesis italianas 2026.
Plantilla LaTeX de tu universidad embebida
La mayoría de universidades españolas ofrece plantillas LaTeX en su servicio de biblioteca. Si la tuya no tiene una, la plantilla Eisvogel (disponible en GitHub como Wandmalfarbe/pandoc-latex-template) es un punto de partida sólido que muchos doctorandos adaptan.
Para usar la plantilla de tu universidad:
- Descarga el fichero
.texde la plantilla de tu universidad. - Identifica las variables Pandoc estándar que usa:
$title$,$author$,$date$,$abstract$,$body$. - Si la plantilla usa variables propietarias (como
tutor{Nombre}), añádelas en el YAML del documento:tutor: "Dr. Apellidos"y usa$tutor$en la plantilla. - Referencia la plantilla en el comando Pandoc:
--template=plantilla-universidad.tex
El repositorio de referencia cagix/pandoc-thesis en GitHub ofrece un ejemplo completo con soporte para portada, colofón, lista de abreviaturas, índice y bibliografía adaptable a plantillas universitarias. En mayo 2026 es compatible con Pandoc 3.7.
Compilación PDF/A-1b para TESEO
El depósito TESEO (portal de tesis doctorales del Ministerio de Educación) exige PDF/A para el archivo. PDF/A-1b es el perfil más compatible y el que aceptan la mayoría de repositorios institucionales españoles.
El flujo de compilación con Pandoc para PDF/A:
- Compila a PDF normal primero:
pandoc tesis.md -o tesis.pdf --template=plantilla.tex --citeproc --filter pandoc-crossref --pdf-engine=xelatex --variable lang=es-ES - Convierte a PDF/A: usa GhostScript para la conversión:
gs -dPDFA=1 -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=tesis-pdfa.pdf tesis.pdf - Valida el PDF/A: usa VeraPDF (open source, gratuito) para verificar que el fichero cumple el estándar antes del depósito.
Alternativamente, XeLaTeX puede producir PDF/A directamente si incluyes el paquete pdfx en tu plantilla LaTeX con la configuración usepackage[a-1b]{pdfx}. Esta es la opción más limpia si controlas la plantilla LaTeX.
Para entender qué formato acepta TESEO y el proceso completo de depósito, consulta la guía de cómo depositar la tesis en TESEO paso a paso.
Export DOCX para el director
El director que usa Word puede recibir un .docx bien formateado generado por Pandoc:
pandoc tesis.md -o tesis-director.docx --reference-doc=plantilla-word.docx --citeproc
El flag --reference-doc permite especificar un fichero Word de referencia que define los estilos (fuente, márgenes, estilos de título). Pandoc aplica esos estilos al documento generado. El resultado es un .docx perfectamente formateado que el director puede abrir con control de cambios activado.
Limitación conocida: algunas características de Markdown no se traducen perfectamente a DOCX (principalmente los bloques de código de comandos y las notas al margen). Para el 95 % del contenido de una tesis (texto, tablas, figuras, listas, referencias), la conversión es impecable.
CI/CD con GitHub Actions
Una vez que tienes el workflow configurado localmente, puedes automatizarlo para que GitHub compile la tesis en PDF/A automáticamente cada vez que hagas push al repositorio:
# .github/workflows/compile-thesis.yml
name: Compilar Tesis
on: [push]
jobs:
compile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install TeX Live
run: sudo apt-get install -y texlive-full
- name: Install Pandoc
run: |
wget https://github.com/jgm/pandoc/releases/download/3.7/pandoc-3.7-linux-amd64.tar.gz
tar -xzf pandoc-3.7-linux-amd64.tar.gz
sudo cp pandoc-3.7/bin/pandoc /usr/local/bin/
- name: Compile Thesis
run: make pdf
- name: Upload PDF
uses: actions/upload-artifact@v4
with:
name: tesis-compilada
path: tesis.pdf
Con este Action, cada push a la rama principal genera automáticamente el PDF de la tesis como artefacto descargable desde GitHub. Tu director puede descargar siempre la versión más reciente desde la URL del último workflow. No hay emails con adjuntos de 50 MB ni versiones desincronizadas.
Tabla comparativa: Pandoc vs Overleaf vs Word
| Criterio | Pandoc + Markdown + Git | Overleaf (LaTeX nativo) | Word / Google Docs |
|---|---|---|---|
| Fuente del documento | Markdown (texto plano) | LaTeX (.tex) | OOXML binario (.docx) |
| Salida PDF/A para TESEO | Sí (via LaTeX o GhostScript) | Sí (nativo) | Manual (export Word → PDF/A) |
| Salida DOCX para director | Sí (Pandoc → DOCX) | Manual (LaTeX → DOCX engorroso) | Nativo |
| Citas APA 7 automáticas | Sí (citeproc + apa.csl) | Sí (BibLaTeX/biber) | Sí (Zotero Word plugin) |
| Versionado Git | Excelente (texto plano) | Bueno (texto .tex) | Pobre (diff ilegible en OOXML) |
| Curva de aprendizaje | Media (Markdown fácil, Pandoc avanzado) | Alta (LaTeX) | Baja |
| Colaboración en tiempo real | Git pull/push (async) | Sí (Overleaf pro) | Sí (Google Docs) |
| Tiempo compilación doc 300 pág. | ~90 s (XeLaTeX completo) | ~90–300 s (Overleaf, 60–300 s) | Instantáneo (procesador de texto) |
| Coste | 0 € (todo open source) | 0–21 €/mes (plan Overleaf) | 0 (Google) / 99 €/año (Microsoft 365) |
Ejemplo de Makefile completo
Un Makefile centraliza todos los comandos de compilación. Guárdalo en la raíz del repositorio de la tesis:
# Makefile para tesis doctoral
PANDOC = pandoc
SRC = tesis.md
BIB = references.bib
CSL = apa.csl
TEMPLATE = plantilla-universidad.tex
CROSSREF = --filter pandoc-crossref
CITEPROC = --citeproc
.PHONY: pdf docx clean
pdf:
$(PANDOC) $(SRC)
--template=$(TEMPLATE)
$(CROSSREF) $(CITEPROC)
--bibliography=$(BIB)
--csl=$(CSL)
--pdf-engine=xelatex
--variable lang=es-ES
-o tesis.pdf
docx:
$(PANDOC) $(SRC)
--reference-doc=plantilla-word.docx
$(CITEPROC)
--bibliography=$(BIB)
--csl=$(CSL)
-o tesis-director.docx
pdfa: pdf
gs -dPDFA=1 -dBATCH -dNOPAUSE
-sDEVICE=pdfwrite
-sOutputFile=tesis-pdfa.pdf tesis.pdf
clean:
rm -f tesis.pdf tesis-pdfa.pdf tesis-director.docx
Con este Makefile, make pdf compila el PDF, make docx genera el Word para el director, y make pdfa produce el PDF/A para TESEO. Un comando, un resultado, reproducible en cualquier máquina donde instales las dependencias.
Para profundizar en la integración con diagramas generados con Mermaid o draw.io, consulta la guía de Mermaid vs draw.io para diagramas de tesis. Si gestionas tu vault de notas en Obsidian, el plugin Longform exporta el manuscrito completo en Markdown perfectamente compatible con este pipeline Pandoc. Para las referencias, la guía de Zotero como gestor de referencias explica cómo configurar la exportación automática del fichero .bib.
Preguntas frecuentes
¿Pandoc puede manejar una tesis con múltiples ficheros Markdown por capítulo?
Sí. Pandoc acepta múltiples ficheros de entrada que concatena en orden: pandoc cap01.md cap02.md cap03.md conclusiones.md -o tesis.pdf [opciones]. Puedes automatizar el orden con una variable de make: CHAPTERS = $(sort $(wildcard cap*.md)). Otra opción popular es mantener un fichero maestro tesis.md que incluye referencias a los capítulos via el filtro pandoc-include o el parámetro de Pandoc --include-before.
¿Cómo incluyo tablas complejas con celdas combinadas en Markdown para Pandoc?
Las tablas Markdown estándar no soportan celdas combinadas (rowspan/colspan). Pandoc extiende Markdown con el formato “grid tables” que sí permite algunas estructuras más complejas. Para tablas muy complejas (como matrices de análisis factorial o tablas de comparación de múltiples condiciones), la solución más robusta es incluir el código LaTeX directamente en un bloque raw: ```{=latex} begin{table}...end{table} ```. Pandoc pasa ese bloque directamente al compilador LaTeX sin procesarlo, por lo que tienes control total de la tabla pero solo funciona para salida LaTeX/PDF.
¿Puedo usar Pandoc si mi universidad tiene una plantilla LaTeX muy personalizada?
Sí, con algo de trabajo inicial. El proceso es: toma la plantilla .tex de tu universidad, identifica dónde va el cuerpo del documento (begin{document}...end{document}) y reemplaza ese contenido por la variable Pandoc $body$. Haz lo mismo con el título ($title$), autor ($author$), fecha ($date$) y abstract. Guarda el fichero como plantilla.tex y úsalo con --template=plantilla.tex. Si la plantilla tiene instrucciones LaTeX muy específicas que no son variables de Pandoc, puedes pasarlas como variables en el YAML del documento y referencias en la plantilla como $tu-variable$.
¿Cómo gestiono las imágenes y figuras en un repositorio Git sin que pese demasiado?
La estrategia recomendada es: guarda las figuras fuente (SVG, PDF de TikZ, ficheros Mermaid .mmd) en Git y excluye los PNG/TIFF grandes del repositorio via .gitignore. Para los PDFs escaneados o imágenes de alta resolución que necesitas como figuras, usa Git LFS (Large File Storage) que mantiene el versionado pero almacena el binario en un servidor separado. GitHub ofrece 1 GB de LFS gratuito, suficiente para la mayoría de tesis.
¿Pandoc genera correctamente el índice de contenidos y las listas de figuras/tablas?
Sí para PDF vía LaTeX. Pandoc con el flag --toc genera el índice de contenidos automáticamente desde los encabezados Markdown. Para listas de figuras y tablas, añade listoffigures y listoftables en la plantilla LaTeX donde desees que aparezcan. La numeración de figuras y tablas con pandoc-crossref es automática. Para salida DOCX, el índice de contenidos se genera pero requiere “actualizar campos” al abrir el documento en Word (botón derecho sobre el índice → Actualizar campo → Todo el índice).
El pipeline perfecto termina con texto académico impecable
Una vez que tu pipeline Pandoc compila el PDF/A para TESEO y el DOCX para el director, el siguiente paso es asegurarte de que el contenido pasa la revisión académica. Tesify analiza el español académico de tu tesis, detecta inconsistencias de estilo, verifica la coherencia de citaciones APA 7 y genera el registro de uso de IA requerido por las directrices CRUE 2025. Carga el DOCX o pega el Markdown directamente. Prueba Tesify 14 días gratis.
Escribe tu TFG o tesis con IA
Pasa de la teoría a tu documento terminado
Tesify estructura, redacta y formatea tu TFG, TFM o tesis en normas APA y Vancouver, con bibliografía automática y verificación antiplagio integrada. Regístrate gratis, sin tarjeta.

Leave a Reply