5.1 KiB
Модуль: Ссылки и библиографии
Ответственность: предоставляет русскоязычные перекрёстные ссылки и модель одной или нескольких библиографических секций Typst 0.15.
Расположение: .template/lib/domain/references.typ, .template/lib/presentation/references.typ
Публичный интерфейс
| Символ | Тип | Описание |
|---|---|---|
vref() |
contextual function | Форматирует одну ссылку с падежом для рисунка, таблицы, формулы, раздела или приложения |
vrefs() |
contextual function | Форматирует массив однородных labels с корректным соединением |
eqref() |
contextual function | Создаёт ссылку на формулу без лишнего supplement |
bibliography-section() |
domain constructor | Описывает sources, title, style, target, group и политику переноса |
render-bibliographies() |
function | Размещает произвольное число секций через нативный bibliography() |
validate-bibliographies() |
function | Проверяет ids, sources, target/group и наличие default coverage policy |
vref() и vrefs() по умолчанию используют предложный падеж и прописную первую букву названия объекта. Короткие коды — "и", "р", "д", "в", "т", "п"; прежние сокращения и полные русские названия нормализуются во внутренние ключи "имен", "род", "дат", "вин", "тв", "предл". Строчная форма включается явно через capitalized: false.
Зависимости
| Модуль | Что использует |
|---|---|
Typst query, selector, ref, cite |
Разрешение labels и citations |
Typst 0.15 bibliography(target:, group:) |
Несколько списков источников и управление нумерацией |
.template/lib/domain/document.typ |
Profile metadata и render options |
Инварианты
- Cross-reference label и bibliography citation являются разными типами использования и не смешиваются в одной функции.
vrefвсегда обрабатывает состояниеelement == none, потому что Typst может ещё не обнаружить элемент.vrefподдерживаетимен,род,дат,вин,тв,предл; неизвестный падеж является ошибкой, а не тихим fallback.vrefsобъединяет однородные labels под одной формой множественного числа (рисунках 1 и 2,приложениях А и Б), смешанные типы форматирует поэлементно.- Заголовок с supplement
Приложениеклассифицируется отдельно от обычного раздела и поддерживает все шесть падежей. - Каждая bibliography section имеет стабильный id и хотя бы один source.
- Последующие секции по умолчанию начинаются с новой страницы (
page_break: true), поэтому их заголовки и записи не могут наложиться; компактный режим включается явно. targetпередаётся какauto, label, selector, location или function без преобразования в строку.group: noneсбрасывает нумерацию секции; одинаковая строковая группа продолжает нумерацию.- Если используется несколько sections, fixture обязан доказать, что каждая citation попала ровно в одну bibliography.
Намеренно НЕ обрабатывает
- Редактирование
.bibи Hayagriva-файлов. - Поиск научных источников.
- Ссылки на внешние URL без label.
- Автоматическое определение падежа по окружающему тексту.
Заметки для агента
Typst 0.15 нативно распределяет citations между несколькими bibliographies. Не воспроизводите этот алгоритм вручную. Domain хранит настройки, presentation вызывает built-in и смещает уровень заголовка библиографии по официальной схеме. Добавьте fixtures для поглавных, тематических, общей и раздельной нумерации.