31. Conversión y exportación: panorama {#31-conversión-y-exportación-panorama}
Markdown es un formato de origen, casi nunca el formato final. Un conversor transforma el texto en HTML, PDF, DOCX, EPUB, LaTeX, vídeo u otros destinos. La calidad del resultado depende de tres factores: el parser (qué dialecto entiende), las extensiones activadas y la plantilla o motor de destino.
Este capítulo ofrece el mapa general. Cada formato tiene su propio capítulo, con comandos, herramientas, limitaciones y listas de comprobación.
31.1 Mapa de exportación {#311-mapa-de-exportación}
| Destino | Capítulo | Herramientas habituales | Caso de uso |
|---|---|---|---|
| HTML | 32 | Pandoc, markdown-it, marked, cmark | Web, documentación, correo |
| 33 | Pandoc + LaTeX, WeasyPrint, Typst, Chromium | Manuales, informes, libros | |
| DOCX / ODT | 34 | Pandoc, LibreOffice | Documentos de oficina editables |
| EPUB | 35 | Pandoc, Calibre, Sigil | Libros electrónicos |
| LaTeX | 36 | Pandoc, filtros Lua | Artículos, tesis, matemáticas |
| RTF, TXT y otros | 37 | Pandoc, cmark | Intercambio, terminal, wikis |
| Vídeo | 38 | OBS, ffmpeg, asciinema, VHS | Demos, tutoriales, GIF |
| Presentaciones | 39 | Marp, Slidev, reveal.js, Pandoc | Charlas y formación |
| Imágenes | 40 | Mermaid CLI, PlantUML, Graphviz | Diagramas y capturas |
31.2 El pipeline de conversión {#312-el-pipeline-de-conversión}
Todo conversor sigue un proceso común:
texto Markdown
│ parser (CommonMark, GFM, Pandoc Markdown…)
▼
árbol de sintaxis abstracta (AST)
│ transformaciones y filtros
▼
writer o renderizador (HTML, LaTeX, DOCX…)
│ plantilla, hoja de estilo, metadatos
▼
documento final
Consecuencias prácticas:
- El dialecto importa: una tabla GFM puede no interpretarse con un parser CommonMark estricto.
- El AST pierde información: dos documentos con el mismo HTML pueden tener estructuras distintas.
- La plantilla manda: el mismo HTML produce PDF, EPUB o DOCX muy diferentes según el CSS o la plantilla.
- La conversión no suele ser reversible: DOCX → Markdown → DOCX cambia estilos, numeración y metadatos.
31.3 Pandoc: el conversor de referencia {#313-pandoc-el-conversor-de-referencia}
Pandoc lee y escribe decenas de formatos, admite plantillas, filtros, metadatos, citas y referencias cruzadas. Está escrito en Haskell y se distribuye como binario para Windows, macOS y Linux.
- Sitio oficial: https://pandoc.org/
- Manual: https://pandoc.org/MANUAL.html
- Descargas: https://pandoc.org/installing.html
31.3.1 Estructura de una orden {#3131-estructura-de-una-orden}
pandoc ENTRADA.md \
-f gfm \ # formato de lectura
-t html5 \ # formato de escritura
-s \ # documento completo
--toc \ # tabla de contenidos
-o SALIDA.html
| Opción | Efecto |
|---|---|
-f, --from |
Formato de entrada (gfm, commonmark, markdown, docx…) |
-t, --to |
Formato de salida (html5, pdf, docx, epub, latex…) |
-o, --output |
Archivo de salida; si se omite, escribe en la salida estándar |
-s, --standalone |
Documento completo con cabecera y pie |
--toc, --toc-depth=N |
Índice y profundidad máxima |
--number-sections |
Numera las secciones |
--template=ARCHIVO |
Plantilla personalizada |
--metadata CLAVE=VALOR |
Metadatos del documento |
--resource-path=RUTAS |
Dónde buscar imágenes y recursos |
--embed-resources |
Embebe CSS, imágenes y fuentes en HTML |
--citeproc |
Procesa citas y bibliografía |
--lua-filter=ARCHIVO |
Transforma el AST con Lua |
--verbose |
Muestra información de diagnóstico |
31.3.2 Metadatos {#3132-metadatos}
Pandoc lee el Front Matter YAML:
---
title: "Manual de usuario"
subtitle: "Versión 2.1"
author: "Equipo de documentación"
date: "2026-10-28"
lang: es
---
También se pueden pasar por línea de comandos:
pandoc README.md -o README.pdf \
--metadata title="Manual" \
--metadata author="Equipo" \
--metadata lang=es
lang afecta a la división silábica, a las comillas tipográficas y a la etiqueta lang del HTML. En LaTeX se traduce en el paquete de idioma correspondiente.
31.3.3 Varios archivos y recursos {#3133-varios-archivos-y-recursos}
pandoc docs/00-intro.md docs/01-instalacion.md docs/02-uso.md \
-o manual.pdf --toc --resource-path=.:docs
--resource-path indica dónde buscar imágenes. Para proyectos grandes conviene un script de composición o un documento maestro que incluya los demás.
31.3.4 Filtros {#3134-filtros}
Los filtros modifican el AST antes de escribir:
- Lua:
--lua-filter=figuras.lua; no requiere instalar nada más. - Ejecutables:
--filter=pandoc-crossref; leen y escriben JSON. - Filtros integrados:
--citeprocpara bibliografía.
Los filtros son código: trátalos como cualquier dependencia y revísalos antes de ejecutarlos sobre contenido de terceros.
31.3.5 Limitaciones {#3135-limitaciones}
- No todos los dialectos se interpretan igual: especifica
-f gfm,-f commonmarko el formato adecuado. - Las extensiones (notas al pie, definiciones, matemáticas) deben estar activadas en el lector correspondiente.
- La conversión no es bidireccional sin pérdidas.
- La salida PDF depende de fuentes y paquetes instalados.
- Algunos writers no admiten todas las estructuras (por ejemplo, RTF y ciertos tipos de tablas o notas).
31.4 Cómo elegir el destino {#314-cómo-elegir-el-destino}
| Necesidad | Destino recomendado | Por qué |
|---|---|---|
| Publicar en web con diseño propio | HTML + CSS | Control total y carga rápida |
| Documento imprimible con fórmulas | PDF vía LaTeX | Tipografía y matemáticas de calidad |
| Documento editable por terceros | DOCX u ODT | Formatos de oficina estándar |
| Libro para lectores electrónicos | EPUB | Texto reflowable y metadatos |
| Integrarse en un proyecto LaTeX | LaTeX | Control fino y ecosistema académico |
| Demo de terminal o tutorial | Vídeo/GIF | Muestra interacción real |
| Charla o clase | Presentaciones | Diapositivas navegables |
| Diagrama o captura | SVG/PNG | Se incrusta en cualquier documento |
31.5 Criterios de calidad {#315-criterios-de-calidad}
- Fidelidad estructural: títulos, listas y tablas conservan su jerarquía.
- Tipografía: fuentes con glifos para todos los caracteres, interlineado y márgenes correctos.
- Accesibilidad: jerarquía de encabezados, texto alternativo, tablas con cabeceras y enlaces descriptivos.
- Navegación: índice, anclas, enlaces internos y paginación funcionan.
- Mantenibilidad: plantillas, estilos y scripts versionados junto al contenido.
- Reproducibilidad: la misma orden produce el mismo resultado en otra máquina.
31.6 Errores frecuentes al exportar {#316-errores-frecuentes-al-exportar}
| Síntoma | Causa probable | Solución |
|---|---|---|
| Acentos o emoji rotos en PDF | Fuente sin glifos o motor pdflatex |
Usa xelatex/lualatex y una fuente Unicode |
| Tablas desbordadas | Ancho fijo o contenido largo | CSS con overflow, tablas simples o longtable |
| Imágenes que no aparecen | Ruta relativa incorrecta | --resource-path o rutas desde la raíz |
| Diagramas Mermaid como código | El conversor no los renderiza | Pre-renderiza a SVG/PNG |
| Índice vacío | Encabezados no jerárquicos o --toc ausente |
Corrige niveles y añade --toc |
| Estilos distintos en DOCX | Plantilla de referencia ausente | --reference-doc |
| Saltos de página imprevistos | Márgenes o estilos del destino | Ajusta CSS, plantilla o LaTeX |
| Enlaces internos rotos | Anclas renumeradas o IDs distintos | Verifica IDs y usa enlaces relativos |
31.7 Lista de comprobación antes de exportar {#317-lista-de-comprobación-antes-de-exportar}
- El Markdown valida (sin vallas sin cerrar ni tablas mal formadas).
- El dialecto de entrada está especificado.
- Los encabezados siguen una jerarquía coherente.
- Las imágenes existen, tienen
alty un tamaño razonable. - Los diagramas están pre-renderizados si el destino no los soporta.
- Los metadatos (título, autor, idioma, fecha) están completos.
- La plantilla o el CSS está versionado.
- El resultado se ha revisado en el formato final, no solo en el editor.
- Los enlaces y el índice funcionan en el archivo exportado.