818a044aa1
Python application / build (push) Has been cancelled
- update документация - промт для ии полу конфигурируемый
68 lines
2.5 KiB
Markdown
68 lines
2.5 KiB
Markdown
# Кастомные стили (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: табы оглавления (считаются от ширины полосы), отступы списков, формулы из шаблона, цвет (всегда чёрный).
|