Pandoc: Guía Práctica para el Usuario Promedio
Qué es Pandoc
Pandoc es una herramienta de línea de comandos que convierte documentos entre casi cualquier formato de texto: Markdown, Word (.docx), PDF, HTML, EPUB, PowerPoint, LaTeX, y muchos más. Piensa en él como un “traductor universal de documentos”.
1. La idea básica
Todo comando de Pandoc sigue esta lógica:
pandoc archivo_entrada -o archivo_salida
Pandoc adivina el formato por la extensión del archivo. Así de simple:
pandoc notas.md -o notas.docx # Markdown → Word
pandoc informe.docx -o informe.md # Word → Markdown
pandoc pagina.html -o pagina.md # HTML → Markdown
pandoc apuntes.md -o apuntes.pdf # Markdown → PDFSi quieres ser explícito sobre los formatos (útil cuando la extensión no es clara), usa -f (from) y -t (to):
pandoc -f markdown -t docx notas.md -o notas.docx2. Lo que más vas a usar
Convertir Markdown a Word (.docx)
El caso de uso más común: escribes en Markdown (rápido, sin distracciones) y entregas en Word.
pandoc informe.md -o informe.docxCon estilo propio (opcional pero recomendado): si quieres que el Word resultante tenga tu propia tipografía, márgenes y colores en vez del estilo genérico de Pandoc, usa una plantilla de referencia:
pandoc informe.md --reference-doc=mi-plantilla.docx -o informe.docxmi-plantilla.docx puede ser cualquier .docx tuyo ya formateado a tu gusto (los estilos “Heading 1”, “Normal”, etc. se copian).
Convertir Word a Markdown
Útil para “limpiar” un documento de Word y quedarte solo con el texto estructurado, por ejemplo para subirlo a un wiki, blog o Obsidian.
pandoc informe.docx -o informe.mdSi el Word tiene imágenes y quieres extraerlas como archivos:
pandoc informe.docx -o informe.md --extract-media=./imagenesConvertir Markdown (o cualquier cosa) a PDF
pandoc apuntes.md -o apuntes.pdf⚠️ Esto requiere tener instalado un motor LaTeX (por ejemplo TeX Live o MiKTeX) porque, por defecto, Pandoc genera el PDF usando LaTeX por debajo. Si no lo tienes instalado, puedes generar el PDF desde HTML en su lugar:
pandoc apuntes.md -o apuntes.pdf --pdf-engine=weasyprint(requiere tener instalado weasyprint, wkhtmltopdf o prince, según cuál prefieras).
Convertir una página web a Markdown
Puedes darle directamente una URL, sin descargar nada:
pandoc -f html -t markdown https://ejemplo.com/articulo -o articulo.mdEsto es justo lo que usé para pasar el manual de Pandoc a tu archivo de Obsidian.
Crear una presentación de PowerPoint desde Markdown
Escribes tus diapositivas como títulos (#, ##) y viñetas en Markdown, y Pandoc arma el .pptx:
pandoc presentacion.md -o presentacion.pptxCada encabezado de nivel 2 (##) se convierte, por defecto, en una diapositiva nueva.
Generar un ebook EPUB
pandoc libro.md -o libro.epubPuedes agregar portada:
pandoc libro.md -o libro.epub --epub-cover-image=portada.jpg3. Documentos “completos” vs. fragmentos
Por defecto, Pandoc genera solo el contenido, no un documento completo. Para HTML, por ejemplo, esto significa que no incluye <html>, <head>, etc. Si quieres un documento HTML válido y completo (o, en general, un documento “bien formado” con portada/metadatos), agrega -s (standalone):
pandoc notas.md -s -o notas.htmlPara Word, PDF, EPUB y ODT, -s se activa automáticamente; no necesitas ponerlo.
4. Metadatos: título, autor y fecha
En la parte superior de tu archivo Markdown, agrega un bloque YAML:
---
title: "Informe Trimestral"
author: "Tu Nombre"
date: "2026-08-10"
---
# Introducción
...Pandoc usará esto automáticamente como título del documento, metadatos del Word/PDF, etc.
5. Tabla de contenidos automática
pandoc informe.md -s --toc -o informe.html
pandoc informe.md -s --toc -o informe.docx
pandoc informe.md -s --toc -o informe.pdfPara limitar cuántos niveles de encabezado incluye:
pandoc informe.md -s --toc --toc-depth=2 -o informe.html6. Numerar secciones automáticamente
pandoc informe.md -s --number-sections -o informe.pdfEsto numera tus encabezados como “1”, “1.1”, “2”, etc.
7. Combinar varios archivos en uno
Si tienes tu documento repartido en varios .md (capítulos, secciones), Pandoc los une en el orden en que los listes:
pandoc capitulo1.md capitulo2.md capitulo3.md -o libro-completo.docx8. HTML “todo en uno” (para compartir sin depender de internet)
Si generas HTML con imágenes, CSS o JavaScript externos, el archivo no se ve bien si lo mandas suelto. Con --embed-resources (junto con -s), Pandoc empaqueta todo dentro de un único .html:
pandoc informe.md -s --embed-resources -o informe.html9. Resaltado de código
Si tu Markdown tiene bloques de código, Pandoc los resalta automáticamente al convertir a HTML, PDF, Word, etc. Puedes elegir el estilo visual:
pandoc script.md -s --syntax-highlighting=tango -o script.htmlEstilos disponibles: pygments (por defecto), kate, monochrome, breezeDark, espresso, zenburn, haddock, tango.
10. Citas y bibliografía
Si escribes citas estilo [@autor2020] en tu Markdown y tienes un archivo de bibliografía (.bib, .json, etc.), Pandoc puede generar las referencias formateadas automáticamente:
pandoc articulo.md --citeproc --bibliography=referencias.bib -o articulo.docxPara usar un estilo de cita específico (APA, IEEE, etc.), se usa un archivo CSL:
pandoc articulo.md --citeproc --bibliography=referencias.bib --csl=apa.csl -o articulo.docx(Los archivos .csl de estilos comunes se descargan de Zotero Style Repository).
11. Convertir a texto plano (limpiar formato)
Si quieres quitarle todo el formato a un documento y quedarte solo con texto:
pandoc informe.docx -t plain -o informe.txt12. Guardar tus opciones favoritas (defaults file)
Si siempre usas la misma combinación de opciones, en vez de escribirlas cada vez puedes guardarlas en un archivo YAML:
# mis-opciones.yaml
standalone: true
toc: true
number-sections: true
syntax-highlighting: tangoY usarlo así:
pandoc informe.md --defaults=mis-opciones.yaml -o informe.pdf13. Chuleta rápida de opciones más usadas
| Qué quieres hacer | Opción |
|---|---|
| Especificar formato de entrada | -f FORMATO |
| Especificar formato de salida | -t FORMATO |
| Archivo de salida | -o archivo.ext |
| Documento completo (no fragmento) | -s |
| Tabla de contenidos | --toc |
| Numerar secciones | --number-sections / -N |
| Usar plantilla de estilo Word/ODT | --reference-doc=archivo |
| Extraer imágenes al convertir | --extract-media=carpeta |
| Empaquetar HTML autocontenido | --embed-resources (con -s) |
| Motor para generar PDF | --pdf-engine=NOMBRE |
| Bibliografía y citas | --citeproc --bibliography=archivo.bib |
| Estilo de citas | --csl=archivo.csl |
| Convertir desde una URL | usa la URL como archivo de entrada |
| Guardar opciones repetidas | --defaults=archivo.yaml |
14. Ejemplos combinados típicos
Informe profesional en Word con TOC y numeración, usando tu plantilla:
pandoc informe.md -s --toc --number-sections --reference-doc=plantilla.docx -o informe.docxArtículo académico en PDF con bibliografía en formato APA:
pandoc articulo.md -s --citeproc --bibliography=refs.bib --csl=apa.csl -o articulo.pdfPublicar un HTML autónomo para enviar por correo:
pandoc reporte.md -s --embed-resources --toc -o reporte.htmlPresentación rápida desde apuntes en Markdown:
pandoc apuntes.md -o presentacion.pptxCómo seguir aprendiendo
Este manual cubre el ~90% de lo que un usuario normal necesita. Para casos más avanzados (filtros personalizados, plantillas propias, EPUB con múltiples capítulos, LaTeX avanzado), consulta el manual completo que ya tienes guardado, o pregúntame por un caso específico y te armo el comando exacto.