记录模块中的所有键

记录模块中的所有键

使用l3keys,是否有任何方法可以检查当前 (子) 模块中的键?我正在寻找类似 的东西\clist_show,但用于键。

\keys_show听起来很有希望,但要求您已经知道已经创建的密钥:\keys_show:nn {<module>} {<key>}

我的理想情况是:

\keys_show:n {module}
There are 4 keys in the key module 'module' (without outer braces):
>    {this} tl
>    {is}   tl
>    {a}    tl
>    {test} bool

答案1

正如布鲁诺所说评论,这里的情况与想要列出所有定义的宏完全相同。实际上,l3keys和其他 keyval 包中的关键定义都只是“适当”位置的宏名称。TeX 没有为我们提供查询已定义宏列表的途径,以查找“所有匹配某些通配符方案的宏”,因此使用此类命令的唯一方法是“手动”执行。目前,情况并非如此l3keys。当然可以想象这样做,但如果没有明确的用例,它可能会增加代码的复杂性而没有任何普遍的好处。

相关内容