Word Docgen — el pipeline md→pandoc→docx
Genera documentos Word a partir de md (chino o inglés traducido) con el estilo de un manuscrito de referencia de grupo de investigación: conversión con pandoc + posprocesamiento con zipfile de Python que lee y escribe directamente el XML del docx.
Seis reglas de hierro (memorizar primero)
\tag{n}es eliminado silenciosamente por pandoc: antes de generar, reemplaza\tag{…}por\qquad\text{(n)}para que el número se ubique dentro del extremo derecho de la ecuación; la fuente md mantiene la escritura estándar\tagsin modificar.- Desactivar figuras implícitas:
-f markdown-implicit_figures, el texto alternativo de la imagen se deja vacío; de lo contrario, pandoc genera automáticamente una leyenda duplicada a partir del texto alternativo. - La sintaxis de backreference varía entre lenguajes: Python
re.subusa\1/\g<1>; PowerShell/JS usan$1. Aplicar el hábito incorrecto genera la salida literal($1). - Las fuentes de ecuaciones son un campo minado: los bloques matemáticos OMML dependen de
w:ascii="Cambria Math"; cualquier reemplazo de fuente en todo el documento debe dividirse en<m:oMath>…</m:oMath>y tocar solo el exterior, verificando que el recuento de Cambria Math no haya cambiado. - Verificar antes de sobrescribir: copia temporal → verificar (recuentos de características + bien formado XML mediante
minidom.parseString+ relectura de pandoc) →os.replace; dos errores reales fueron detectados precisamente por esta compuerta. - Editar la hoja de estilo es mejor que editar el cuerpo XML: pandoc hereda estilos y sectPr de
--reference-doc; el manual de disección del documento de referencia está en referencias §3.5.
Mapa de contenido
El detalle completo (errores de la capa pandoc, errores de la capa OOXML/regex, práctica de ingeniería, segunda ronda de errores de diseño de ecuaciones y reglas de leyendas, scripts reutilizables) está en references/word-pandoc-pitfalls.md. La especificación de formato extraída (página/tipografía/encabezados/leyendas/ecuaciones/tablas) está en references/word-format-spec.md.
Scripts reutilizables (incluidos en scripts\)
_rebuild_word.py: el pipeline completo md→docx (preprocesamiento de\tag, inyección de estilos, posprocesamiento, verificar antes de escribir);_fix_docx_format.py: parchea tres elementos de formato directamente en un docx editado a mano (TNR, centrado de imágenes, líneas de cuadrícula de tabla);- Invocación (ejecutar desde el directorio del manuscrito; las entradas y salidas son rutas relativas):
python <ruta-skill>\scripts\_rebuild_word.py entrada.md salida.docx.
Cómo elegir entre ellos: el usuario editó el archivo Word manualmente → parche directo (la regeneración pierde los cambios); el usuario quiere una compilación nueva desde md → pipeline completo. Pregunta primero, o verifica si existe un archivo de bloqueo ~$ para ver si el documento está abierto para edición.
Límites del alcance
- Comentarios de Word / control de cambios (territorio del MCP docx-editor): no es competencia de esta skill;
- La especificación de formato del manuscrito (convenciones de página/tipografía/encabezados): está a cargo de
references/word-format-spec.mdde esta skill; - Errores de citado en PowerShell al ejecutar los scripts: consultar references/word-pandoc-pitfalls.md §3.4.