En este artículo, echamos un vistazo a la conversión entre Markdown [1] y DOCX, el formato de documento nativo de Microsoft Word que se utiliza desde 2007. Quizás se pregunte por qué un entusiasta de Markdown y Asciidoc (como yo) se ocupa de este caso. Bueno, colaborar con un grupo de otros escritores puede llevar a una situación en la que uno o más participantes solicitan DOCX como formato de salida. No defraudes a nadie y, en cambio, averigua qué limitaciones existen y cómo podemos intentar hacer felices a todos los miembros del grupo.
¿Qué es Markdown??
Como ya se señaló en "Introducción a Markdown" [2], la intención de Markdown es una conversión simple de texto a HTML. La idea detrás de esto era hacer que escribir páginas web, documentación y especialmente entradas de blog fuera tan fácil como escribir un correo electrónico. A día de hoy, es el sinónimo de facto de una clase de lenguajes de descripción de marcado ligeros, y el objetivo puede considerarse alcanzado.
Markdown utiliza una sintaxis de formato de texto sin formato. Con un enfoque similar al HTML, una serie de marcadores indican titulares, listas, imágenes y referencias en su texto. Las pocas líneas a continuación ilustran un documento básico que contiene dos titulares (primer y segundo nivel), así como dos párrafos y un entorno de lista.
## Francia
Esta es una selección de lugares:
* París (_Ile de France_)
* Estrasburgo (_Alsacia_)
Para un plan de visita adecuado alrededor de una semana.
Conversión a DOCX
Para convertir su documento Markdown a DOCX, use la herramienta pandoc [3]. Pandoc es una biblioteca de Haskell y se describe a sí misma como "el convertidor de documentos universal" o la "navaja suiza para la conversión de documentos". Está disponible para una variedad de plataformas como Linux, Microsoft Windows, Mac OS X y BSD. Pandoc se incluye comúnmente como un paquete para distribuciones de Linux como Debian GNU / Linux, Ubuntu y CentOS.
Una simple llamada para una conversión es la siguiente:
$ pandoc -o prueba.prueba docx.MarylandEl primer parámetro '-o' se refiere al archivo de salida, seguido del nombre del archivo ('prueba.docx '). La extensión del archivo ayuda a pandoc a identificar el formato de salida deseado. El segundo parámetro nombra el archivo de entrada; en nuestro caso es simplemente 'prueba.Maryland'.
La versión larga del comando que se muestra arriba contiene los dos parámetros '-f markdown' y '-t docx'. El primero abrevia el término 'sabor' y describe el formato del archivo de entrada. El segundo hace lo mismo para el archivo de salida y abrevia '-to'.
El comando completo es el siguiente:
$ pandoc -o prueba.docx -f markdown -t prueba docx.MarylandAbrir el archivo convertido usando Microsoft Word da como resultado el siguiente resultado:
Para los diferentes elementos de texto, Pandoc usa hojas de estilo. Esto le permite ajustar estos elementos posteriormente según sus necesidades a lo largo de todo el documento. Las versiones más recientes de Pandoc también ofrecen lo contrario: puede convertir un archivo DOCX en Markdown de la siguiente manera:
$ pandoc -o prueba.prueba md.docxEntonces, el archivo generado tiene el siguiente contenido:
Lugares recomendados para visitar en Europa=====================================
Francia
------
Esta es una selección de lugares:
- París (* Ile de France *)
- Estrasburgo (* Alsacia *)
Para un plan de visita adecuado alrededor de una semana.
Opciones útiles de la línea de comandos
La lista de opciones de Pandoc es bastante larga. Los siguientes te ayudan a producir mejores resultados y te hacen la vida mucho más fácil:
* '-P' (versión larga '-preserve-tabs'): conserva las pestañas en lugar de convertirlas en espacios. Esto es útil para bloques de código con líneas sangradas que forman parte de su texto.
* '-S' (versión larga '-smart'): Produce una salida tipográficamente correcta.
Esta opción corrige comillas, guiones / guiones y puntos suspensivos ("..."). Se agregan espacios adicionales que no se separan después de ciertas abreviaturas como “Mr.".
* '-track-changes = value': especifica qué hacer con las inserciones, eliminaciones y comentarios que se producen con la ayuda de la función "Control de cambios" de Microsoft Word. El valor puede ser aceptar, rechazar o todos para incluir o eliminar los cambios realizados en el documento. El resultado es un archivo plano.
Para más opciones, consulte la documentación y la página del manual de Pandoc.
Resumen
La conversión entre Markdown y DOCX ya no es un misterio. Se hace en unos pocos pasos y funciona muy bien. Feliz piratería 🙂
Enlaces y referencias
* [1] Rebajas
* [2] Frank Hofmann: Introducción a Markdown
* [3] Pandoc
Agradecimientos
El autor desea agradecer a Annette Kalbow por su ayuda durante la preparación del artículo.