关于“l3keys”中“unknown”捕获的未知密钥

关于“l3keys”中“unknown”捕获的未知密钥

有没有办法用密钥捕获unknown所有未知密钥,包括子模块的密钥?

例如,在下面的代码中,未知密钥foo/bar不是被钥匙抓住了unknown

\documentclass{article}

\begin{document}

Some text.

\ExplSyntaxOn

\keys_define:nn { MyKeys } 
  { 
    one_key .bool_set:N = \l_my_bool , 
    unknown .code:n = \msg_error:nn { MyModule }{ Unknown~Key }
  }

\msg_new:nnn { MyModule } { Unknown~Key }
  { The~unknown~key~has~been~caught. }

\keys_set:nn { MyKeys } { foo / bar }

\ExplSyntaxOff

\end{document}

如果我在使用以下代码unknown调用的子模块中定义一个键:MyKeys / foo

\keys_define:nn { MyKeys / foo }
  { unknown .code:n = \msg_error:nn { MyModule }{ Unknown~Key } }

然后捕获未知密钥(通过的foo/bar密钥),但我想捕获所有不正确的密钥,包括组合密钥。unknownMyKeys/foo

相关内容