![记录模块中的所有键](https://linux22.com/image/273444/%E8%AE%B0%E5%BD%95%E6%A8%A1%E5%9D%97%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E9%94%AE.png)
使用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
。当然可以想象这样做,但如果没有明确的用例,它可能会增加代码的复杂性而没有任何普遍的好处。