37. Exportación a RTF, TXT y otros formatos {#37-exportación-a-rtf-txt-y-otros-formatos}
No todos los destinos necesitan un PDF o un libro electrónico. A veces el objetivo es intercambiar texto con un procesador de textos, leerlo en el terminal, publicarlo en una wiki o alimentar otra herramienta. Este capítulo cubre los formatos de texto que no tienen capítulo propio.
37.1 RTF {#371-rtf}
RTF (Rich Text Format) es un formato de intercambio con formato básico, legible por Word, LibreOffice y muchos editores.
pandoc README.md -t rtf -s -o README.rtf
Conserva negritas, cursivas, listas, tablas sencillas, enlaces e imágenes, pero su modelo es limitado:
- No hay estilos semánticos modernos ni herencia de estilos como en DOCX.
- Las tablas complejas y los diseños de página se pierden.
- Los caracteres no ASCII se codifican con escapes
\uN?; el resultado depende de la fuente. - No es un buen formato para revisión colaborativa.
Úsalo para intercambio puntual, no como formato de archivo ni como fuente de verdad.
37.2 Texto plano {#372-texto-plano}
pandoc README.md -t plain -o README.txt
pandoc README.md -t plain --wrap=none -o README.txt
pandoc README.md -t plain --wrap=auto --columns=80 -o README.txt
| Opción | Efecto |
|---|---|
--wrap=none |
No parte líneas |
--wrap=auto |
Ajusta al ancho indicado |
--wrap=preserve |
Respeta los saltos del original |
--columns=N |
Ancho de línea |
--reference-links |
Usa enlaces de referencia al final |
El texto plano pierde títulos, énfasis, enlaces y tablas. Es útil para:
- Índices y búsquedas.
- Documentos que se leen en terminal o en un correo sencillo.
- Entradas de sistemas que solo aceptan texto.
- Comparaciones de contenido con
diff.
Si necesitas que los enlaces sigan siendo visibles, revisa la salida: algunos writers añaden las URLs entre paréntesis o al final.
37.3 Markdown normalizado {#373-markdown-normalizado}
Convertir Markdown a Markdown parece redundante, pero sirve para normalizar el formato:
pandoc README.md -t gfm \
--markdown-headings=atx \
--wrap=none \
-o README.normalizado.md
--markdown-headings=atxfuerza#en lugar de subrayados.--wrap=noneevita reflow.-t gfmlimita la salida a GFM.--reference-linksagrupa los enlaces al final.
Para formatear Markdown con un estilo consistente, también existen Prettier (https://prettier.io/) y markdownlint (https://github.com/DavidAnson/markdownlint). El capítulo 46 cubre la validación.
37.4 Páginas de manual {#374-páginas-de-manual}
Pandoc y cmark pueden generar páginas man:
pandoc README.md -t man -s -o README.1
cmark --to man README.md > README.1
man ./README.1
Aspectos prácticos:
- La sección 1 es para comandos de usuario; la 5, para formatos de archivo; la 7, para convenciones.
- El nombre del archivo debe coincidir con el comando (
mi-herramienta.1). - Los encabezados se convierten en secciones (
NAME,SYNOPSIS,DESCRIPTION…). - Las tablas y el HTML no se representan bien.
Para groff ms:
pandoc README.md -t ms -s -o README.ms
groff -ms -Tpdf README.ms > README.pdf
37.5 AsciiDoc y reStructuredText {#375-asciidoc-y-restructuredtext}
| Destino | Comando | Ecosistema |
|---|---|---|
| AsciiDoc | pandoc README.md -t asciidoc -s -o README.adoc |
Asciidoctor, Antora |
| reStructuredText | pandoc README.md -t rst -s -o README.rst |
Sphinx, Docutils |
| Org | pandoc README.md -t org -s -o README.org |
Emacs Org mode |
| DocBook | pandoc README.md -t docbook5 -s -o README.xml |
Publicación técnica |
| Typst | pandoc README.md -t typst -s -o README.typ |
Typst |
Estas conversiones son útiles para:
- Migrar documentación a Sphinx (Python) o Antora (AsciiDoc).
- Reutilizar contenido en un manual con DocBook.
- Editar en Emacs con Org mode.
- Integrar en una cadena Typst.
La sintaxis no es equivalente: las tablas, notas y bloques de código pueden requerir ajustes manuales. Revisa el resultado y no asumas un round-trip perfecto.
37.6 Formatos de wiki y foros {#376-formatos-de-wiki-y-foros}
| Destino | Comando | Notas |
|---|---|---|
| MediaWiki | pandoc README.md -t mediawiki -o README.wiki |
Plantillas y extensiones no se convierten |
| DokuWiki | pandoc README.md -t dokuwiki -o README.txt |
Sintaxis propia |
| XWiki | pandoc README.md -t xwiki -o README.xwiki |
Macros no portables |
| ZimWiki | pandoc README.md -t zimwiki -o README.txt |
Diario personal |
| Jira | pandoc README.md -t jira -o README.jira |
Markup de Jira |
| BBCode | pandoc README.md -t bbcode -o README.bbcode |
Foros clásicos |
| Textile | pandoc README.md -t textile -o README.textile |
Sistemas antiguos |
Advertencias:
- Las macros, plantillas y extensiones de cada wiki no forman parte de Markdown; se pierden o quedan como texto.
- Los enlaces internos pueden necesitar el prefijo o la sintaxis del wiki.
- Las tablas complejas suelen degradarse.
- Comprueba el resultado en el editor de la plataforma, no solo en el archivo.
37.7 Cuadernos y AST {#377-cuadernos-y-ast}
| Destino | Comando | Uso |
|---|---|---|
| Jupyter Notebook | pandoc README.md -t ipynb -o README.ipynb |
Cuadernos con celdas Markdown y código |
| JSON (AST) | pandoc README.md -t json -o README.json |
Inspección, filtros y herramientas |
| Native | pandoc README.md -t native |
Representación legible del AST |
| HTML | pandoc README.md -t html5 |
Paso intermedio |
El AST JSON es la base de los filtros de Pandoc y de muchas integraciones. Si desarrollas una herramienta, trabaja con el AST en lugar de manipular HTML con expresiones regulares.
37.8 Correo electrónico HTML {#378-correo-electrónico-html}
Markdown se usa mucho para redactar correos y boletines. El HTML resultante necesita estilos en línea porque muchos clientes de correo ignoran <style>:
pandoc boletin.md -t html5 -s --css=correo.css -o boletin.html
Después, herramientas como Premailer convierten el CSS en atributos style:
- Premailer: https://premailer.io/
- MJML: https://mjml.io/ (componentes y compilación a HTML para correo)
Limitaciones del correo: sin JavaScript, soporte irregular de CSS, imágenes externas bloqueadas por defecto y anchos de 600 px habituales. Prueba en varios clientes.
37.9 Cómo elegir {#379-cómo-elegir}
| Necesidad | Formato |
|---|---|
| Intercambio con Word sin estilos complejos | RTF |
| Lectura en terminal o búsqueda | TXT |
| Normalizar el Markdown | Markdown |
| Documentación de comandos | man / ms |
| Ecosistema Sphinx | reStructuredText |
| Ecosistema Asciidoctor | AsciiDoc |
| Wiki corporativa | MediaWiki / XWiki / Jira |
| Cuaderno reproducible | ipynb |
| Herramienta propia | JSON AST |
37.10 Lista de comprobación {#3710-lista-de-comprobación}
- El formato de destino admite las estructuras que necesitas.
- Los caracteres no ASCII se ven correctamente.
- Los enlaces siguen siendo útiles (o se han convertido en URLs visibles).
- Las tablas no se han degradado en exceso.
- El resultado se ha abierto en la herramienta de destino.
- El archivo generado no se edita a mano si se puede regenerar.