LaTeX3. Работа с ключами
LaTeX3. Работа с ключами
2025-10-10
·
2 мин. для прочтения
LaTeX3. Работа с ключами.
Содержание
1 Интерфейс \keys_define:nn
1.1 Общая информация
Интерфейс
\keys_define:nnв LaTeX3 есть инструмент для определения и управления ключами.Синтаксис:
\keys_define:nn { <group name> } { <key definitions> }
- Параметры:
<group name>— имя группы ключей.- Это пространство имён, которое помогает избежать конфликтов имён при использовании ключей в разных частях документа или в разных пакетах.
- Например,
mypackage/keysуказывает, что ключи принадлежат пакетуmypackage.
<key definitions>— список определений ключей.- Каждый ключ описывается своими свойствами и поведением.
- В этом списке можно задать:
- тип ключа (логический, строковый, целочисленный и др.);
- значение по умолчанию;
- обработчики, которые будут выполняться при задании ключа;
- проверки корректности значений, которые передаются ключу.
1.2 Детальное описание работы
1.2.1 Определение типов ключей
- Логический ключ (bool): принимает значения
trueилиfalse.- Пример:
mybool.bool_set:N = \l_mypackage_mybool_bool.
- Пример:
- Строковый ключ (tl): для хранения текстовых значений.
- Пример:
mystring.tl_set:N = \l_mypackage_mystring_tl.
- Пример:
- Целочисленный ключ (int): для хранения целых чисел.
- Пример:
myint.int_set:N = \l_mypackage_myint_int.
- Пример:
1.2.2 Установка начальных значений
- Для каждого ключа можно указать начальное значение с помощью
.initial:n. - Например:
mybool.initial:n = { false }, mystring.initial:n = { Default String }, myint.initial:n = { 42 }
1.2.3 Обработчики ключей
- Можно определить специальные команды, которые будут выполняться при установке ключа.
- Это позволяет реализовывать сложное поведение в зависимости от заданных параметров.
1.2.4 Проверка корректности значений
- С помощью дополнительных опций можно проверять корректность значений, передаваемых ключу, что повышает надёжность использования ключей.
1.2.5 Пример полного определения ключей:
\keys_define:nn { mypackage/keys } {
mybool.bool_set:N = \l_mypackage_mybool_bool,
mybool.initial:n = { false },
mystring.tl_set:N = \l_mypackage_mystring_tl,
mystring.initial:n = { Default String },
myint.int_set:N = \l_mypackage_myint_int,
myint.initial:n = { 42 },
% Дополнительные ключи и их настройки
}
1.2.6 Использование определённых ключей в документе
- После определения ключей их можно использовать с помощью команды
\keys_set:nn:
\keys_set:nn { mypackage/keys } {
mybool = true,
mystring = { Custom String },
myint = 100
}
- Теперь переменные
\l_mypackage_mybool_bool,\l_mypackage_mystring_tlи\l_mypackage_myint_intбудут содержать заданные значения.
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.