# Кастомные стили (JSON) Опциональный оверлей оформления поверх пресета `--type` (`mirea` или `pis_custom`). Неуказанные поля остаются у пресета. Стили пишет конвертер в DOCX сам — вручную в шаблон добавлять не нужно. ## Как подключить Позже побеждает (deep-merge только указанных ключей): 1. Встроенный пресет типа документа 2. `md2gost.styles.json` рядом с `.md` (если есть) 3. `--styles путь.json` или путь в GUI: **Настройки → Файлы → Стили JSON** Файл рядом с exe при первом запуске **не создаётся**. ```bash python -m md2gost report.md -o report.docx --type practice --styles examples/md2gost.styles.json ``` Пример: [`examples/md2gost.styles.json`](../examples/md2gost.styles.json). ## Схема Два блока. Неизвестный ключ или имя стиля — ошибка. ```json { "page": { "left_mm": 30, "right_mm": 10, "top_mm": 20, "bottom_mm": 20 }, "styles": { "Heading 1": { "alignment": "center", "size_pt": 14, "all_caps": true } } } ``` ### `page` | Ключ | Единица | Смысл | |------|---------|--------| | `left_mm` / `right_mm` / `top_mm` / `bottom_mm` | мм | Поля страницы | ### Имена стилей `Normal`, `Heading 1`, `Heading 2`, `Heading 3`, `Caption Figure`, `Caption Table`, `Название таблицы`, `Caption Listing`, `Caption`, `Code`, `Table Text`, `Bibliography`, `Bibliography Heading`, `toc 1`, `toc 2`, `toc 3`, `Footer`, `Hyperlink`, `FollowedHyperlink`, `Space After Table`. ### Поля стиля | Ключ | Тип / значения | |------|----------------| | `font_name` | строка | | `size_pt` | число (pt) | | `bold`, `italic`, `all_caps`, `underline` | bool | | `alignment` | `left` \| `center` \| `justify` | | `first_line_indent_cm`, `left_indent_cm`, `right_indent_cm` | см | | `space_before_mm`, `space_after_mm` | мм | | `line_spacing` | `1.0` \| `1.5` | | `page_break_before`, `keep_with_next`, `widow_control` | bool | Не в JSON: табы оглавления (считаются от ширины полосы), отступы списков, формулы из шаблона, цвет (всегда чёрный).