Commit Graph

18 Commits

Author SHA1 Message Date
Arseny 24d3cd0728 [FIX] перечень сокращений: до тире обычный пробел, разбор пометок в подписи рисунка
Колонка аббревиатур больше не считается на глаз: обычная колонка l берёт
ширину по самой длинной аббревиатуре, тире и пробелы вокруг него ушли в
разделитель колонок. Расшифровка целиком лежит в колонке X, поэтому её
перенос по-прежнему встаёт под первым словом расшифровки.

Подпись рисунка не проходит через инлайн-рендер, и пометка ==текст== в ней
печаталась как есть. Разбор пометок вынесен в render_marked и вызывается
из обработчика рисунка.
2026-09-07 17:24:57 +03:00
Arseny fa440049e1 [ADD] пометка правок ==текст== жёлтым выделением
Рецензент просит показывать в отчёте только исправленные места, чтобы не
перечитывать текст целиком. Разметка разбирается на уровне текстовых узлов,
поэтому «==» в листингах на C++ остаётся сравнением.

Выделяется каждое слово отдельно: одной плашкой на всё выделение строка не
разорвётся по его середине, а выделять приходится и целые предложения.
Составное слово делится по дефису — плашка неразрывна, и шорткат переноса
внутри неё не работает. soul не подошёл: под XeLaTeX его \hl теряет кириллицу.
2026-09-07 17:06:17 +03:00
Arseny beac1d5a7d [FIX] разреженные строки: переносы в составных словах и в инлайн-коде 2026-09-02 13:45:00 +03:00
Arseny 95bd42cea4 [FIX] параметры размещения плавающих объектов: крупный рисунок остаётся на своей странице 2026-09-02 13:16:18 +03:00
Arseny 82cde7b94b [FIX] отбивки заголовков, маркер переноса строк кода, неразрывные инициалы 2026-09-02 13:11:56 +03:00
Arseny 2a0333c673 [FIX] рисунки, таблицы и листинги плавают: нет пустых страниц и разрывов рамки 2026-09-02 13:10:18 +03:00
Arseny a3d41af022 [ADD] подсветка синтаксиса C и C++ в листингах 2026-09-02 13:05:05 +03:00
Arseny c765892d7d [FIX] шапка титульника, ширина номера в оглавлении и перечень сокращений в пределах поля 2026-09-02 13:03:05 +03:00
Arseny 5ebdf8f9db [FIX] узкие колонки таблиц не растягиваются на всю ширину 2026-09-02 12:58:19 +03:00
Arseny f426e865b5 [FIX] длинные токены в таблицах переносятся, а не налезают на соседнюю колонку 2026-09-02 12:53:35 +03:00
Arseny 6b1f508825 [ADD] вывод предупреждений и ошибок LaTeX наружу из контейнера 2026-09-02 12:52:05 +03:00
Arseny 4f0c2ce16d [FIX] широкие таблицы переносятся по словам и не вылезают за поле 2026-09-02 03:47:44 +03:00
Arseny f616dc0cd5 [ADD] подписи листингов по ГОСТ и читаемый кегль кода 2026-09-02 03:31:27 +03:00
Arseny fab9e19962 [ADD] титульный лист по бланку задания на практику 2026-09-02 03:29:54 +03:00
Arseny 6aed7f186d [ADD] титульный лист по бланку отчёта об учебной практике 2026-09-02 03:22:39 +03:00
Arseny 10528c6688 [REFACTOR] реестр титульных листов вместо одного макета 2026-09-02 03:17:53 +03:00
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: препроцессинг ![[...]] → ![](path), 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