Arseny
926ef0ab3e
[ADD] таблицы по ГОСТ: подпись сверху и выравнивание колонок
...
Подпись «Таблица N —— Название» абзацем над таблицей превращается в
float table[H] с \caption сверху (labelsep=emdash, name=Таблица,
выключка влево), номер отбрасывается — нумерует LaTeX.
Выравнивание колонок берётся из строки-разделителя GFM: :--- , :---: ,
---: . Таблица без подписи по-прежнему рендерится голым tabular.
2026-08-28 03:53:45 +03:00
Arseny
8a921e2337
[ADD] поддержка изображений и рефакторинг диспетчера токенов
...
- registry.py: реестры BLOCK/PATTERNS/INLINE с декораторами @block/@pattern/@inline
- render.py: единый диспетчер, слой паттернов, проверка контракта pos (RuntimeError),
pending_toc вместо current_heading для единственной вставки СОДЕРЖАНИЯ
- handlers/image.py: вики-ссылки ![[путь|ширина]], подпись Рисунок N —— ... ,
figure-окружение, авто-нумерация, копирование файлов в tmpdir
- handlers/inline.py: табличная диспетчеризация вместо if/elif
- Все block-обработчики подписаны @block, корректно продвигают pos
- parser.py: препроцессинг ![[...]] → , iter_image_sources()
- main.py: _copy_assets (emblem+картинки в tmpdir), фикс лога (имя .tex),
cwd=tmpdir для xelatex, цикл вместо дублирования, force-include emblem
- tests/test_render.py: pytest (10 тестов), pyproject dev-dep, make test
- preamble.py: name=Рисунок для figure-caption (было Рис. от babel)
- Исправлены баги: мёртвый обработчик, emblem не копировалась,
множественный TOC, захардкожен report.log, маскировка pos
- README/AGENTS.md обновлены
2026-08-25 13:58:01 +03:00