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 → PDF

Si 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.docx

2. 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.docx

Con 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.docx

mi-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.md

Si el Word tiene imágenes y quieres extraerlas como archivos:

pandoc informe.docx -o informe.md --extract-media=./imagenes

Convertir 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.md

Esto 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.pptx

Cada encabezado de nivel 2 (##) se convierte, por defecto, en una diapositiva nueva.

Generar un ebook EPUB

pandoc libro.md -o libro.epub

Puedes agregar portada:

pandoc libro.md -o libro.epub --epub-cover-image=portada.jpg

3. 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.html

Para 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.pdf

Para limitar cuántos niveles de encabezado incluye:

pandoc informe.md -s --toc --toc-depth=2 -o informe.html

6. Numerar secciones automáticamente

pandoc informe.md -s --number-sections -o informe.pdf

Esto 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.docx

8. 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.html

9. 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.html

Estilos 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.docx

Para 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.txt

12. 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: tango

Y usarlo así:

pandoc informe.md --defaults=mis-opciones.yaml -o informe.pdf

13. Chuleta rápida de opciones más usadas

Qué quieres hacerOpció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 URLusa 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.docx

Artículo académico en PDF con bibliografía en formato APA:

pandoc articulo.md -s --citeproc --bibliography=refs.bib --csl=apa.csl -o articulo.pdf

Publicar un HTML autónomo para enviar por correo:

pandoc reporte.md -s --embed-resources --toc -o reporte.html

Presentación rápida desde apuntes en Markdown:

pandoc apuntes.md -o presentacion.pptx

Có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.