Geração de Documentos Word — a pipeline md→pandoc→docx
Gere documentos Word a partir de Markdown em chinês (ou inglês traduzido) estilizados conforme o manuscrito de referência de um grupo de pesquisa: conversão via pandoc + pós-processamento Python zipfile que lê e escreve o XML do docx diretamente.
Seis regras de ferro (memorize primeiro)
\tag{n}é removido silenciosamente pelo pandoc: antes de gerar, substitua\tag{…}por\qquad\text{(n)}para que o número fique no final direito da equação; a fonte md mantém a grafia padrão\tagintacta.- Desative figuras implícitas:
-f markdown-implicit_figures, texto alternativo da imagem vazio — caso contrário, o pandoc gera automaticamente uma legenda duplicada a partir do texto alternativo. - A sintaxe de backreference varia entre linguagens: Python
re.subusa\1/\g<1>; PowerShell/JS usam$1. Levar o hábito errado gera a string literal($1). - Fontes de equações são um campo minado: as execuções de matemática OMML dependem de
w:ascii="Cambria Math"; qualquer substituição de fonte no documento inteiro deve dividir em<m:oMath>…</m:oMath>e tocar apenas o exterior, verificando se a contagem de Cambria Math não foi alterada. - Verifique antes de sobrescrever: cópia temporária → verifique (contagens de características + boa formação XML via
minidom.parseString+ leitura de volta pelo pandoc) →os.replace; dois bugs reais foram pegos exatamente por essa barreira. - Editar a folha de estilos é melhor que editar o XML do corpo: o pandoc herda estilos e
sectPrde--reference-doc; o manual de dissecação do documento de referência está em referências §3.5.
Mapa de conteúdo
Detalhes completos (armadilhas da camada pandoc, armadilhas da camada OOXML/regex, práticas de engenharia, a segunda rodada de armadilhas de layout de equações e regras de legendas, scripts reutilizáveis) estão em referências/word-pandoc-pitfalls.md. A especificação de formato extraída (página/tipografia/títulos/legendas/equações/tabelas) está em referências/word-format-spec.md.
Scripts reutilizáveis (incluídos em scripts\)
_rebuild_word.py: a pipeline completa md→docx (pré-processamento\tag, injeção de estilo, pós-processamento, verificar antes de escrever);_fix_docx_format.py: corrige três itens de formatação no lugar em um docx editado manualmente (TNR, centralização de imagem, linhas de grade de tabela);- Invocação (execute a partir do diretório do manuscrito; entradas e saídas são caminhos relativos):
python <caminho-da-habilidade>\scripts\_rebuild_word.py input.md output.docx.
Escolhendo entre eles: o usuário editou manualmente o arquivo Word → correção no local apenas (regeneração perde edições); o usuário deseja uma nova compilação a partir do md → pipeline completa. Pergunte primeiro, ou verifique se há um arquivo de bloqueio ~$ para saber se o documento está aberto para edição.
Limites de escopo
- Comentários/controle de alterações do Word (território do MCP editor de docx): não é desta habilidade;
- A especificação de formato do manuscrito (página/tipografia/convenções de títulos): transportada por
referências/word-format-spec.mddesta habilidade; - Armadilhas de citação no PowerShell ao executar os scripts: veja referências/word-pandoc-pitfalls.md §3.4.