Бэкенды: Typst и LaTeX¶
snowcite поддерживает два бэкенда для генерации документов. Выбор
фиксируется при init_project. Смена бэкенда в середине проекта
требует явного вызова set_backend(new_backend, confirm_wipe_sections=True),
поскольку уже написанные разделы хранятся в синтаксисе конкретного
бэкенда и не переносятся автоматически.
Краткое руководство¶
| Случай | Рекомендация |
|---|---|
| Текст на кириллице | Typst |
| Строгое соответствие ГОСТ 7.32-2017 | LaTeX (standard="gost") |
Предоставленный вузом шаблон .tex |
LaTeX |
| Быстрая итерация | Typst (инкрементальная компиляция) |
| Медицина, Vancouver | Любой (CSL и biblatex-vancouver поддерживаются) |
| IEEE, ACM | Любой (шаблоны доступны для обоих) |
Typst¶
Выбор по умолчанию.
Сильные стороны:
- Поддержка кириллицы работает без дополнительных настроек —
ни
\babelfont, ни T2A, ни подбор шрифтов не требуются. - Распространяется одним статическим исполняемым файлом
(
brew install typst), без дистрибутивов TeXLive. - Инкрементальная компиляция занимает секунды даже для документов на 200 страниц.
- Современные сообщения об ошибках позволяют локализовать проблему
без анализа
.log. - Нативная поддержка CSL для стилей библиографии через встроенный Hayagriva.
Ограничения:
- Экосистема моложе, чем у LaTeX. Нишевые шаблоны (юридическая типографика, экзотические требования к набору) могут отсутствовать.
- Поддержка ГОСТ 7.32-2017 реализуется через пакет
modern-g7-32, который активно развивается. При строгих требованиях к ГОСТу рекомендуется LaTeX.
Библиография. snowcite генерирует файл в формате
Hayagriva.
Конструкция #bibliography("references.yml", style: "<csl>") принимает
любое имя CSL-стиля.
LaTeX¶
Подходит, если у вас есть вузовский .tex-шаблон, если требуется
строгое соответствие ГОСТу или если проект ведётся в biblatex-центричном
процессе.
Компилятор. Используется только tectonic. Системный TeXLive не поддерживается: пути шрифтов и набор пакетов отличаются. Tectonic работает автономно и подгружает пакеты по требованию.
Кириллица в tectonic. Шаблоны plain.tex.j2 и gost.tex.j2
используют fontspec и \babelfont:
\usepackage{fontspec}
\usepackage[russian,english]{babel}
\babelfont{rm}[Ligatures=TeX]{CMU Serif}
\babelfont{sf}[Ligatures=TeX]{CMU Sans Serif}
\babelfont{tt}{CMU Typewriter Text}
Шрифты семейства CMU включены в бандл tectonic. Классическая схема
с \usepackage[T2A]{fontenc} и 8-битным Computer Modern для XeTeX
tectonic не подходит.
Библиография. Бэкенд зафиксирован на bibtex: утилита biber
в бандл tectonic не входит.
Смена бэкенда¶
Если при онбординге выбран не тот бэкенд, set_backend(new_backend,
confirm_wipe_sections=True) удаляет содержимое section_content
(синтаксис уже написанных разделов привязан к конкретному бэкенду)
и сохраняет outline и skeleton. После этого разделы генерируются
заново под новым бэкендом.
Доступные стандарты¶
Для обоих бэкендов доступны plain и gost. Шаблоны IEEE, ACM,
APA, Vancouver, MLA и Chicago планируются; они появятся в
snowcite/templates/.
Pull requests приветствуются.