Word 문서 생성 — md→pandoc→docx 파이프라인
중국어 md(또는 번역된 영어 md)를 연구 그룹의 참조 원고 형식으로 Word 문서를 생성합니다: pandoc 변환 + Python zipfile 후처리로 docx XML을 직접 읽고 씁니다.
여섯 가지 철칙 (먼저 암기)
\tag{n}은 pandoc에 의해 조용히 무시됩니다: 생성 전에\tag{…}를\qquad\text{(n)}으로 대체하여 번호가 방정식 오른쪽 끝에 위치하도록 합니다. md 소스는 표준\tag철자를 그대로 유지합니다.- 암시적 그림 비활성화:
-f markdown-implicit_figures, 이미지 대체 텍스트는 비워 둡니다. 그렇지 않으면 pandoc이 대체 텍스트에서 중복 캡션을 자동 생성합니다. - 역참조 구문은 언어에 따라 다릅니다: Python
re.sub는\1/\g<1>을 사용합니다. PowerShell/JS는$1을 사용합니다. 잘못된 습관을 가져오면 리터럴($1)이 출력됩니다. - 수식 글꼴은 지뢰밭입니다: OMML 수식 실행은
w:ascii="Cambria Math"에 의존합니다. 문서 전체 글꼴 교체는<m:oMath>…</m:oMath>를 기준으로 분할하여 외부만 수정하고 Cambria Math 수가 변경되지 않았는지 확인해야 합니다. - 덮어쓰기 전에 검증하십시오: 임시 복사본 → 검증(기능 개수 +
minidom.parseString을 통한 XML well-formedness + pandoc 역읽기) →os.replace. 실제 두 버그가 이 게이트에서 정확히 발견되었습니다. - 본문 XML보다 스타일 시트를 편집하는 것이 낫습니다: pandoc은
--reference-doc에서 스타일과sectPr를 상속합니다. 참조 문서 분해 플레이북은 참고 자료 §3.5에 있습니다.
콘텐츠 맵
전체 세부 사항(pandoc 계층 함정, OOXML/regex 계층 함정, 엔지니어링 관행, 두 번째 라운드의 방정식 레이아웃 및 캡션 규칙 함정, 재사용 가능한 스크립트)은 references/word-pandoc-pitfalls.md에 있습니다. 추출된 형식 사양 자체(페이지/인쇄/제목/캡션/방정식/표)는 references/word-format-spec.md에 있습니다.
재사용 가능한 스크립트 (scripts\에 포함)
_rebuild_word.py: 전체 md→docx 파이프라인(\tag전처리, 스타일 주입, 후처리, 쓰기 전 검증)_fix_docx_format.py: 수동 편집된 docx에 세 가지 형식 항목을 제자리에 패치(TNR, 이미지 중앙 정렬, 표 그리드라인)- 호출 방법(원고 디렉터리에서 실행하며 입력 및 출력은 상대 경로):
python <skill-path>\scripts\_rebuild_word.py input.md output.docx
둘 중 선택: 사용자가 Word 파일을 수동 편집한 경우 → 제자리 패치만(재생성은 편집 내용을 잃음). 사용자가 md에서 새로 빌드를 원하는 경우 → 전체 파이프라인. 먼저 물어보거나 ~$ 잠금 파일이 있는지 확인하여 문서가 편집 중인지 확인하십시오.
범위 경계
- Word 주석/변경 추적(docx 편집기 MCP 영역): 이 스킬의 범위가 아닙니다.
- 원고 형식 사양 자체(페이지/인쇄/제목 규칙): 이 스킬의
references/word-format-spec.md에 포함됩니다. - 스크립트 구동 시 PowerShell 인용 함정: references/word-pandoc-pitfalls.md §3.4를 참조하십시오.