Files
test/.template/development/modules/references.md
T
2026-10-09 04:24:38 +00:00

5.1 KiB
Raw Blame History

Модуль: Ссылки и библиографии

Ответственность: предоставляет русскоязычные перекрёстные ссылки и модель одной или нескольких библиографических секций 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 для поглавных, тематических, общей и раздельной нумерации.