Без unicode-math формулы и инлайн-переменные набирались Latin Modern,
а текст — Times New Roman: в одной строке «-100» и «100» выглядели
по-разному. Теперь \setmathfont{TeX Gyre Termes Math} — метрический
аналог Times с математической таблицей.
В Dockerfile добавлены fonts-texgyre-math со шрифтом и
texlive-latex-recommended, откуда берётся unicode-math.sty.
Подпись «Таблица N —— Название» абзацем над таблицей превращается в
float table[H] с \caption сверху (labelsep=emdash, name=Таблица,
выключка влево), номер отбрасывается — нумерует LaTeX.
Выравнивание колонок берётся из строки-разделителя GFM: :--- , :---: ,
---: . Таблица без подписи по-прежнему рендерится голым tabular.
- md2gost.sh: монтировать директорию входного файла (/input:ro) вместо
одного файла — картинки по относительным путям (img/) теперь видны
внутри контейнера; основное исправление падений make run
- render.py: вставлять TOC до следующего блока, а не после — порядок
стал АННОТАЦИЯ -> СОДЕРЖАНИЕ -> ПЕРЕЧЕНЬ -> ВВЕДЕНИЕ (ранее заголовок
ПЕРЕЧЕНЬ без тела оказывался перед СОДЕРЖАНИЕМ, а его тело — после)
- heading.py: не устанавливать current_heading для СОДЕРЖАНИЕ, чтобы
не сбивать спецрежим перечня сокращений
- .gitignore: игнорировать сгенерированные report.tex/pdf и img/
- Unicode стрелки (->) -> ASCII (->)
- Добавлен README.md на русском языке
- from __future__ import annotations во всех файлах
- Исправлены ошибки mypy (Callable[..., str], Token import)
- make format + make tidy проходят чисто
C1: LaTeX escaping спецсимволов (& % $ # _ { } ~ ^ \)
C2: text.capitalize() → first char uppercase only
C3: run_xelatex проверяет returncode
C4: парсинг лога при ошибке второго прохода
W1: Удалены мёртвые счётчики section/subsection/subsubsection
W2: text.upper() вычисляется один раз
W3: Единая сигнатура хендлеров (r, tok) для всех
W4: Джэгged строки таблицы паддятся до max колонок
W5: Пустой lang в code fence → без [language=]
W6: hr() вынесен из code.py в hr.py
W7: Валидация обязательных полей front matter
W8: Имя вуза конфигурируется через front matter
W9: -> None аннотация main()
W10: \n в конце END_DOCUMENT
+ Dockerfile: добавлен texlive-fonts-recommended