Обработка параметров класса документа с помощью l3keys

Обработка параметров класса документа с помощью l3keys

Как можно проанализировать (т.е. получить доступ) весь список параметров, заданный для текущего класса документа, с помощью l3keys?

Для этого, очевидно, потребуется что-то вроде

\keys_define:nn { document-class-?? }
 {
  default .code:n { \PassOptionToClass { \l_keys_key_tl } { article } }
 }

но я не знаю, где искать список опций класса документа, чтобы передать его \keys_set:nn.

решение1

Модули l3keysобеспечивают обработку keyval общего назначения для expl3кода. Однако они не взаимодействуют с системой опций пакетов или классов LaTeX2e. Для этого вам необходимо загрузить дополнительный код, который доступен в пакете l3keys2e. Это обеспечивает \ProcessKeysOptionsкоманду для разбора опций класса/пакета и их обработки с использованием keyvals, определенных в l3keys.

Причина такого разделения заключается в том, что l3keysон предназначен для формирования части ядра LaTeX3, в то время как l3keys2eпривязан к модели LaTeX2e для обработки параметров. Кажется крайне вероятным, что автономное ядро ​​LaTeX3 будет использовать параметры keyval «по умолчанию», но с другой базовой реализацией.

Связанный контент