Word Docgen — die md→pandoc→docx-Pipeline
Generieren Sie Word-Dokumente aus chinesischem md (oder übersetztem englischem md), die dem Referenzmanuskript einer Forschungsgruppe nachempfunden sind: Pandoc-Konvertierung + Python zipfile-Nachbearbeitung, die das docx-XML direkt liest und schreibt.
Sechs eiserne Regeln (zuerst einprägen)
\tag{n}wird von Pandoc stillschweigend verworfen: Ersetzen Sie vor der Generierung\tag{…}durch\qquad\text{(n)}, damit die Nummer am rechten Ende der Gleichung erscheint; die md-Quelle behält die Standard-\tag-Schreibweise unberührt bei.- Implizite Abbildungen deaktivieren:
-f markdown-implicit_figures, Bild-Alt-Text leer lassen — sonst generiert Pandoc automatisch eine doppelte Beschriftung aus dem Alt-Text. - Rückverweis-Syntax variiert zwischen Sprachen: Python
re.subverwendet\1/\g<1>; PowerShell/JS verwenden$1. Die falsche Gewohnheit führt zur Ausgabe des Literals($1). - Gleichungsschriftarten sind ein Minenfeld: OMML-Mathematik-Läufe hängen von
w:ascii="Cambria Math"ab; jeder dokumentweite Schriftartersatz muss auf<m:oMath>…</m:oMath>aufteilen und nur das Äußere berühren, wobei die Anzahl von Cambria Math unverändert bleiben muss. - Vor dem Überschreiben verifizieren: temporäre Kopie → Verifikation (Feature-Zählungen + XML-Wohlgeformtheit via
minidom.parseString+ Pandoc-Rücklesen) →os.replace; zwei echte Fehler wurden genau durch diese Prüfung abgefangen. - Die Bearbeitung der Formatvorlage ist besser als die Bearbeitung des Body-XML: Pandoc erbt Formate und sectPr von
--reference-doc; das Vorgehen zur Analyse des Referenzdokuments befindet sich in den Referenzen §3.5.
Inhaltsübersicht
Ausführliche Details (Pandoc-Ebene-Fallstricke, OOXML/Regex-Ebene-Fallstricke, Ingenieurspraxis, die zweite Runde von Gleichungslayout- und Beschriftungsregel-Fallstricken, wiederverwendbare Skripte) befinden sich in references/word-pandoc-pitfalls.md. Die extrahierte Format-Spezifikation selbst (Seiten-/Typografie-/Überschriften-/Beschriftungs-/Gleichungs-/Tabellenkonventionen) befindet sich in references/word-format-spec.md.
Wiederverwendbare Skripte (ausgeliefert in scripts\)
_rebuild_word.py: die vollständige md→docx-Pipeline (\tag-Vorverarbeitung, Style-Injektion, Nachbearbeitung, Verifizieren-vor-Schreiben);_fix_docx_format.py: patcht drei Formatierungselemente direkt in einem manuell bearbeiteten docx (TNR, Bild-Zentrierung, Tabellen-Gitterlinien);- Aufruf (vom Manuskriptverzeichnis aus ausführen; Eingaben und Ausgaben sind relative Pfade):
python <skill-path>\scripts\_rebuild_word.py input.md output.docx.
Wahl zwischen ihnen: Der Benutzer hat die Word-Datei manuell bearbeitet → nur In-Place-Patch (Neugenerierung verliert Bearbeitungen); der Benutzer wünscht einen frischen Build aus md → vollständige Pipeline. Zuerst nachfragen oder nach einer ~$-Sperrdatei suchen, um zu sehen, ob das Dokument zur Bearbeitung geöffnet ist.
Bereichsgrenzen
- Word-Kommentare/Änderungsverfolgung (das docx-Editor-MCP-Territorium): nicht Teil dieser Fähigkeit;
- Die Manuskript-Format-Spezifikation selbst (Seiten-/Typografie-/Überschrift-Konventionen): wird durch
references/word-format-spec.mddieser Fähigkeit bereitgestellt; - PowerShell-Zitierfallen bei der Verwendung der Skripte: siehe references/word-pandoc-pitfalls.md §3.4.