Files
md_to_gost/docs/word2md.md
T
Igor20264 510f7e7adf
Python application / build (push) Waiting to run
v0.5.2
Что то сделал
2026-09-08 19:37:54 +03:00

2.8 KiB
Raw Blame History

Импорт Word → Markdown (word2md)

Обратный пайплайн: DOCX → Markdown в диалекте md2gost. Удобно, если отчёт уже набран в Word (или собран md2gost раньше), а дальше править удобнее в .md.

Это эвристический импорт, не lossless round-trip: исходник UML/Mermaid, %id из исходного md и язык fence у листинга из DOCX не восстанавливаются.

Запуск

python -m word2md report.docx -o report.md
word2md report.docx
python -m md2gost report.docx -o report.md   # тот же импорт через md2gost

В GUI: перетащите .docx или кнопка «Импорт DOCX→MD».

Картинки пишутся в каталог <stem>_media/ рядом с .md (или --media-dir).

Флаг Смысл
-o / --output путь к .md
--media-dir каталог картинок
--keep-toc-pages не выкидывать строки содержания Word (по умолчанию только [TOC])
--pagebreaks писать --- на разрывах страниц

Что распознаётся

  • заголовки Heading N / спецразделы → # *ВВЕДЕНИЕ, # 1 …
  • содержание → # *СОДЕРЖАНИЕ + [TOC] (поле TOC и строки toc N отбрасываются)
  • подписи Рисунок N — …, Таблица N, Листинг N (+ «Продолжение…» склеивается)
  • таблицы с merge → ^ / >
  • листинги стиля Code
  • формулы (таблица Formula / OMML) → $$…$$
  • библиография [1]: …, ссылки [1] в тексте
  • второй проход: Рисунок 1.1@Рисунок:fig1_1 (если номер известен по подписи)

Титул и бланк задания до первого H1/спецраздела пропускаются. Колонтитулы не импортируются.

Ограничения

  • Нет восстановления PlantUML / Mermaid (только PNG/JPEG из файла)
  • OMML → формула — best-effort, не идеальный LaTeX
  • Надписи, SmartArt, сноски, плавающие рисунки — пропуск с записью в лог
  • Титул, свёрстанный большой таблицей, может попасть в поток, если walker уже «стартовал» — обычно титул до первого Heading пропускается

После импорта имеет смысл прогнать python -m md2gost report.md --check.