Правила Markdown

← к конвертеру
Скачать шаблон (.zip)

Форматирование, которое применяет конвертер

Конвертер сам приводит документ к виду, близкому к ГОСТ 7.32-2017 (отчёты о НИР) и ГОСТ 2.105-2019 (текстовые документы ЕСКД). Из markdown управлять этим не нужно.

Страница

  • Формат A4, книжная.
  • Поля: левое 30 мм, правое 15 мм, верхнее 20 мм, нижнее 20 мм.

Основной текст

  • Times New Roman, 12 pt, чёрный.
  • Межстрочный интервал 1,5.
  • Выравнивание по ширине.
  • Красная строка 1,25 см.

Заголовки

  • H1 — структурные элементы (Введение, Заключение, Список источников, Приложение): Times New Roman 14 pt, полужирный, по центру, в верхнем регистре (рендерится через <w:caps/>, без правки исходника), без номера.
  • H2-H6 — нумерованные разделы и подразделы: Times New Roman 12 pt, полужирный, по левому краю с абзацного отступа 1,25 см, с автоматической сквозной нумерацией 1, 1.1, 1.1.1, ...
  • Все заголовки: без подчёркивания, keep_with_next + keep_lines_together (не отрываются от следующего абзаца и не разрываются между страницами).

Списки (маркированные)

  • Уровень 1 — - (дефис, ГОСТ 7.32 п. 6.5.2).
  • Уровни 2+ — , (нестрогая интерпретация, ГОСТ 2.105 строго требует а), б), 1) — не реализовано).
  • Маркер первого уровня — на позиции красной строки (1,25 см).

Списки (нумерованные)

  • Многоуровневая нумерация: 1., 1.1., 1.1.1., ... до 9 уровней.
  • Каждый верхнеуровневый список начинает счёт с 1 (для Word и LibreOffice это обеспечено через <w:lvlOverride><w:startOverride> на каждый <w:num>).
  • В Word Tab / Shift+Tab понижают и повышают уровень с сохранением шага отступа.

Рисунки

  • Картинка по центру. Подпись под рисунком, по центру, нежирная.
  • Формат подписи: Рисунок N — <alt из markdown>. Сквозная нумерация по документу.

Таблицы

  • Стиль Table Grid с рамкой. Шапка — полужирная.
  • Подпись над таблицей, по левому краю, нежирная.
  • Формат подписи: Таблица N — <Название>. Сквозная нумерация.

Цитаты

  • Курсив, отступ слева 1,25 см, тонкая серая вертикальная линия.

Код

  • Courier New 10 pt, серый фон.
  • Инлайн-код — той же гарнитурой, 10,5 pt.

Гиперссылки

  • Подчёркивание, цвет #0563C1.

Что конвертер не делает

  • Оглавление, колонтитулы, номера страниц — оформляются вручную в Word.
  • Авто-нумерация ссылок на источники ([1], [2]) и поле «Список литературы» как Word-bibliography — не генерируется. Достаточно нумерованного списка в самом markdown.

Правила структуры Markdown для docxmd

Этот документ — контракт между автором markdown и конвертером docxmd. Если markdown написан по этим правилам, на выходе получится .docx, оформленный по ГОСТ 7.32 (поля 30/15/20/20 мм, Times New Roman 12, полуторный интервал, красная строка 1.25 см, заголовки структурных элементов по центру в UPPERCASE, нумерованные разделы — с абзацного отступа и сквозной нумерацией 1, 1.1, 1.1.1, ...).

Этот файл оптимизирован для использования в качестве system-промпта / custom instructions у нейросети: можно скопировать целиком.


Структура папки

my_doc/
├── document.md        # имя любое, но .md ровно один
└── media/             # опционально
    ├── image1.png
    └── diagram.svg
  • Папка должна содержать ровно один файл .md (имя — любое).
  • Изображения лежат в media/ (или в любой другой подпапке — пути ссылок резолвятся относительно папки с .md).
  • Никаких других файлов конвертер не требует и не использует.

Заголовки

# Введение

## Анализ предметной области

### Существующие решения

#### Сравнительная таблица

# Заключение

Правила:

  • # (H1) — это заголовок структурного элемента в смысле ГОСТ 7.32 п. 6.3.3: Реферат, Содержание, Введение, Заключение, Список использованных источников, Приложение А (и т. д.). В docx такие заголовки рендерятся по центру, полностью прописными буквами (исходник можно писать как обычно: # Введение → в docx будет ВВЕДЕНИЕ), 14 pt, жирный, без точки. Не нумеруются. H1 может быть несколько на файл.
  • Сам заголовок документа (название отчёта) в markdown не пишется — он оформляется на титульной странице Word и в зону ответственности docxmd не входит.
  • ## (H2) — это раздел отчёта (первый уровень содержательной части). В docx — с абзацного отступа 1,25 см, 12 pt, жирный, с автоматической сквозной нумерацией: первый ## получит префикс 1, следующий — 2, и так далее по всему документу. Структурные H1 счётчик не сбрасывают.
  • ###, ####, #####, ###### — подразделы, пункты, подпункты. Получают номера вида 1.1, 1.1.1, 1.1.1.1, 1.1.1.1.1. Каскадный рестарт работает: при новом ## нижние счётчики обнуляются.
  • Не пиши номера разделов вручную (## 1.1 Описание) — Word нумерует заголовки сам через multilevel-список. Ручной префикс даст двойную нумерацию (1.1 1.1 Описание).
  • Структура: H1 (структурные секции) → H2 (нумерованные разделы) → H3..H6 (подразделы). Не пропускай уровни (например, ## Раздел сразу за которым #### Пункт без ### между ними).

Основной текст

Обычный абзац. **Жирный**, *курсив*, ~~зачёркнутый~~, `моноширинный`
inline-код.
  • Абзацы разделяются пустой строкой.
  • Длинные строки не оборачивай вручную — markdown склеит мягкие переносы в пробел, в docx это станет одной непрерывной строкой, выровненной по ширине.
  • Жёсткий перенос внутри абзаца — два пробела в конце строки.

Списки

- Пункт первый
- Пункт второй
  - Вложенный пункт
  - Ещё один
- Пункт третий

1. Первый шаг
2. Второй шаг
   1. Подшаг
   2. Подшаг
      1. Под-подшаг
3. Третий шаг
  • Маркированные — через - (можно *, но единообразно — -). В docx на первом уровне рендерится как «-» (дефис, ГОСТ 7.32 п. 6.5.2); глубже — типографические буллеты , .
  • Нумерованные — через 1., 2.. Word проставит номера сам: цифры в исходнике могут быть любыми (1., 1., 1.), главное — единый префикс <число>..
  • Иерархия для нумерованных списков сквозная: верхний уровень — 1., 2.; вложенный нумерованный пункт получит вид 2.1., ещё глубже — 2.1.1. и так до 9 уровней. Это сделано через один multilevel-список в Word, поэтому в Word'е работают Tab / Shift+Tab для переключения уровней без потери нумерации.
  • Каждый верхнеуровневый нумерованный список начинает счёт заново с 1. Чтобы продолжить нумерацию через комментарий — нельзя, начинай новый список (это сознательный отказ для предсказуемости).
  • Вложенность — отступ 2 или 4 пробела. Уровни видимо различаются до 9.
  • Не пиши маркеры вручную (• пункт, 1) пункт) — конвертер такие строки воспримет как обычный абзац.
  • Перечень источников / литература — только нумерованным списком (по ГОСТ 7.32, п. 8). Не используй буллеты для списков ссылок.

Изображения с подписями

![Структура системы](media/architecture.png)
  • Строка с изображением должна быть отдельным абзацем (пустые строки сверху и снизу).

  • Alt-текст (Структура системы) становится подписью. В docx получится (формат по ГОСТ 7.32, тире, не точка):

    Рисунок 1 — Структура системы

  • Нумерация рисунков — сквозная по документу, проставляется автоматически.

  • Если подпись не нужна, alt-текст можно оставить пустым (![](media/foo.png)) — в docx подпись будет Рисунок N.

  • Изображения внутри строки текста (текст ![](icon.png) текст) обрабатываются как inline-иконки, без подписи и без центрирования.

Цитаты

> Цитируемый текст. Может занимать несколько строк, разделённых
> символом `>`. Поддерживает *курсив* и **жирный**.
  • В docx превращается в абзац со стилем «Quote»: курсив, отступ слева 1.25 см, тонкая серая полоса слева.
  • Вложенные цитаты (>> текст) увеличивают отступ.
  • Источник цитаты, если нужен, вставляй последней строкой внутри цитаты курсивом, например: > *— Источник, 2024*.

Код

Inline:

Используй функцию `convert(src)` для запуска.

Блок:

```python
def hello() -> None:
    print("Hello")
```
  • Inline-код и блоки оформляются моноширинным шрифтом Courier New на светло-сером фоне.
  • Языковая метка после открывающих ` игнорируется конвертером (нет подсветки синтаксиса), но не мешает.

Таблицы

Таблица: Параметры питания

| Параметр        | Значение | Примечание         |
| --------------- | -------- | ------------------ |
| Напряжение, В   | 220      | ±10 %              |
| Частота, Гц     | 50       | стабилизированная  |
  • Используй GFM-синтаксис с шапкой и разделителем ---.

  • Выравнивание задаётся в разделителе: :---, :---:, ---:.

  • Шапка автоматически выделяется жирным.

  • Подпись таблицы оформляется отдельным абзацем Таблица: <Название> непосредственно перед таблицей (пустая строка между подписью и таблицей допустима). В docx получится (по ГОСТ 7.32, п. 6.6.3, сверху таблицы, по левому краю, обычное начертание):

    Таблица 1 — Параметры питания

  • Нумерация таблиц сквозная и проставляется автоматически.

  • Если подпись не нужна — просто не пиши строку Таблица: ….

  • Префикс Таблица: (а также Таблица ., Таблица —, Таблица -) распознаётся без учёта регистра. Если за такой строкой не следует таблица — она будет отрендерена как обычный абзац.

Горизонтальная линия

---

В docx — нижняя граница пустого абзаца. Используй как смысловой разделитель между крупными блоками; не используй вместо заголовков.

Ссылки

Подробнее в [ГОСТ 7.32-2017](https://docs.cntd.ru/document/1200157208).
  • Превращаются в активные гиперссылки в docx (синий цвет, подчёркивание).
  • Если внутри текста ссылки используются ** или *, форматирование будет потеряно — оставляй ссылочный текст плоским.

Что НЕ поддерживается (и будет проигнорировано)

  • HTML-блоки и inline-HTML (<div>, <sup>, <br> и т. п.).
  • Footnotes ([^1]), task-листы (- [x]).
  • Метаданные YAML/TOML в начале файла.
  • Подсветка синтаксиса в кодовых блоках.
  • Автоматическое оглавление ([TOC]).
  • Сноски, формулы ($...$, $$...$$).

Если что-то из этого нужно — добавь в md так, чтобы это конвертировалось в стандартные конструкции выше (например, формулу вставляй картинкой).

Резюме контракта для нейросети

При генерации markdown, который будет конвертирован в .docx через
docxmd, следуй правилам:

1. Один файл .md на документ, изображения в media/.
2. Заголовки: # — структурные элементы (Введение, Заключение, Список
   источников, Приложение А) без номера, по центру UPPERCASE. ## и ниже —
   нумерованные разделы, автоматически получают "1", "1.1", "1.1.1".
   Никогда не пиши номер в тексте заголовка вручную.
3. Абзацы — обычный текст, разделённый пустыми строками; жёсткие
   переносы внутри абзаца — два пробела в конце строки.
4. Списки:
   - "-" для маркированных, "1." для нумерованных;
   - вложенность через отступ 2/4 пробела;
   - нумерованные иерархичны: 1., 2.1., 2.1.1. — этим занимается
     Word, не выписывай числа вручную;
   - для перечня источников / литературы — только нумерованный
     список (по ГОСТ 7.32).
5. Изображения — отдельной строкой `![<подпись>](media/file.png)`.
   В документе станет "Рисунок N — <подпись>" (тире по ГОСТ).
6. Таблицы — GFM с шапкой и разделителем. Подпись над таблицей:
   отдельный абзац `Таблица: <Название>` непосредственно перед
   таблицей. В документе станет "Таблица N — <Название>".
7. Цитаты — > строки, поддерживают вложенность.
8. Код — inline `code` и fenced ``` блоки.
9. Ссылки — [текст](url), без форматирования внутри.
10. Никаких HTML, footnotes, YAML, формул, TOC.

Markdown contract

Структура markdown, при которой docxmd даёт детерминированный .docx. Загружай как rule в Cursor (.cursor/rules/) или в Claude (Project Knowledge / Custom Instructions / CLAUDE.md).

Prose style

Стилевые правила для длинных текстов: пунктуация, словарь по умолчанию, ритм предложений, конструкции, от которых стоит уходить.