Guía Técnica para Convertir Markdown a Word con Pandoc

Guía Técnica para Convertir Markdown a Word con Pandoc

Pandoc es una herramienta de línea de comandos versátil para la conversión de formatos de documento. Esta guía detalla el proceso de transformar archivos Markdown en documentos Word (DOCX), con un enfoque en la personalización de estilos y el manejo de fuentes.

Requisitos del Sistema

Se asume un entorno Linux con Homebrew instalado. Los archivos de ejemplo son documento_entrada.md y documento_salida.docx.

Instalación de Pandoc

Instale Pandoc mediante el gestor de paquetes de su sistema. En sistemas basados en Linux con Homebrew:

brew install pandoc

La instalación se realiza a nivel de usuario y agrega el comando al PATH del sistema.

Verificación de la Instalación

Para confirmar que Pandoc está correctamente instalado:

pandoc --version

Conversión Inicial sin Formato Específico

Para una conversión directa sin control de estilos:

pandoc documento_entrada.md -o documento_salida.docx

Aplicación de Resaltado de Sintaxis

Para incluir coloreado en bloques de código durante la conversión:

pandoc documento_entrada.md -o documento_salida.docx --highlight-style=tango

Configuración de Fuentes para Texto Multilingüe

Para asignar fuentes específicas a diferentes conjuntos de caracteres:

pandoc "documento_entrada.md" -o "documento_salida.docx" \
  -V mainfont="Times New Roman" \
  -V CJKmainfont="Microsoft YaHei" \
  --highlight-style=tango

La variable mainfont afecta al texto latino, mientras que CJKmainfont controla los caracteres CJK. Pandoc realiza la separación automáticamente mediante rangos Unicode.

Este método puede no aplicarse de manera uniforme a todos los elementos del documento, como títulos o tablas, debido a la jerarquía de estilos en Microsoft Word.

Control Avanzado mediante Plantillas DOCX

Para un dominio completo sobre el formato de salida, se recomienda el uso de plantillas personalizadas.

Creación de una Plantilla Base

Genere un archivo DOCX de referencia con los estilos predeterminados de Pandoc:

pandoc --print-default-data-file reference.docx -o plantilla_base.docx

Es importante que el argumento de --print-default-data-file sea un nombre de recurso interno de Pandoc, como reference.docx.

Personalización de la Plantilla

Edite el archivo plantilla_base.docx con un procesador de textos y modifique los estilos esenciales:

  • Estilo Normal: Defina la fuente para texto en inglés y en chino.
  • Estilos de título (Heading 1, Heading 2, etc.): Asigne las mismas fuentes para consistencia.
  • Estilo Code: Seleccione una fuente monoespaciada adecuada.
  • Estilo de tabla predeterminado (Table Normal): Ajuste según sea necesario.

Ejecución de la Conversión con Plantilla

Utilice la plantilla modificada en el proceso de conversión:

pandoc documento_entrada.md -o documento_salida.docx \
  --reference-doc=plantilla_base.docx \
  --highlight-style=tango

Para emplear un archivo Word existente como plantilla, indique su ruta completa:

pandoc documento_entrada.md -o documento_salida.docx \
  --reference-doc="/ruta/completa/mi_documento_modelo.docx" \
  --highlight-style=tango

Comparativa de Enfoques

Método Nivel de Control Caso de Uso Recomendado
Variables -V Básico Conversiones puntuales
Plantilla con --reference-doc Completo Producción y documentos formales

Automatización para Múltiples Archivos

Para procesar en lote todos los archivos Markdown en un directorio usando una plantilla:

for fuente in *.md; do
  nombre_base="${fuente%.md}"
  pandoc "$fuente" -o "${nombre_base}.docx" \
    --reference-doc=plantilla_base.docx \
    --highlight-style=tango
done

La misma lógica aplica al usar una plantilla personalizada, simplemente reemplace la ruta en el argumento --reference-doc.

Resolución de Problemas Habituales

Inconsistencias en la Visualización de Fuentes

Si los tipos de letra no se aplican de manera uniforme, la causa principle suele ser la prioridad de los estilos en Word sobre las variables de Pandoc. La solución consiste en utilizar una plantilla DOCX (--reference-doc).

Ausencia de la Fuente para Chino

En sistemas Linux, verifique la instalación de la fuente especificada:

fc-list | grep "Microsoft YaHei"

Si la fuente no aparece en la lista, proceda a instalarla manualmente.

Formato Incorrecto en Bloques de Código

El estilo responsable del formato de los bloques de código dentro de la plantilla DOCX se llama típicamente Source Code. Modifíquelo directamente en el archivo de plantilla.

Error de "Could not find data file"

Este mensaje de error se produce al intentar usar --print-default-data-file con una ruta de archivo personalizada en lugar de un nombre de recurso integrado. Para generar la plantilla base, utilice el comando correcto mostrado anteriormente. Para emplear plantillas personalizadas, utilice únicamente el parámetro --reference-doc.

Etiquetas: Pandoc markdown DOCX Word plantillas

Publicado el 6-15 19:24