Initial commit
This commit is contained in:
commit
c534d5ce80
163 files changed
+11500
No files matched your search
@@ -0,0 +1,40 @@
|
||||
# Модуль: Нумерация
|
||||
|
||||
**Ответственность**: предоставляет чистые стратегии арабской, многоуровневой и кириллической нумерации без управления counters конкретного профиля.
|
||||
**Расположение**: `.template/lib/shared/numbering.typ`
|
||||
|
||||
## Публичный интерфейс
|
||||
|
||||
| Символ | Тип | Описание |
|
||||
|--------|-----|----------|
|
||||
| `cyrillic-numbering()` | чистая функция | Преобразует положительный номер в допустимую заглавную кириллическую букву |
|
||||
| `cyrillic-lower-numbering()` | чистая функция | Формирует строчную кириллическую часть списка |
|
||||
| `num-11()` | чистая функция | Формирует многоуровневый формат `1.1.` |
|
||||
| `num-1a()` | чистая функция | Чередует цифровые и кириллические уровни с наследованием |
|
||||
| `num-1-a()` | чистая функция | Чередует уровни без полного наследования родителей |
|
||||
| `attachment-numbering()` | чистая функция | Выбирает арабское или кириллическое обозначение из policy |
|
||||
|
||||
## Зависимости
|
||||
|
||||
| Модуль | Что использует |
|
||||
|--------|----------------|
|
||||
| Нет | Модуль состоит из чистых функций и неизменяемых массивов символов |
|
||||
|
||||
## Инварианты
|
||||
|
||||
- Исключённые ГОСТ-буквы не используются в кириллической последовательности.
|
||||
- Ноль и отрицательные значения не маскируются неявным fallback, несовместимым с будущими версиями Typst.
|
||||
- Функции не читают counters самостоятельно и форматируют только переданные числа.
|
||||
- Один и тот же вход всегда возвращает одинаковую строку.
|
||||
- Profile renderer управляет reset и scope counters, а не shared-модуль.
|
||||
|
||||
## Намеренно НЕ обрабатывает
|
||||
|
||||
- Сброс counters при новой главе.
|
||||
- Выбор numbering policy конкретного документа.
|
||||
- Формат заголовка приложения и supplement.
|
||||
- Локализацию на другие языки.
|
||||
|
||||
## Заметки для агента
|
||||
|
||||
> Typst 0.15 предупреждает о fallback для numbering systems, которые не умеют отображать ноль. Добавьте явные негативные unit tests. Сохраните существующие варианты `num_11`, `num_1a`, `num_1_a` семантически, но публичные имена можно унифицировать, поскольку обратная совместимость не требуется.
|
||||
Reference in new issue
Block a user