我想定义一个键,如果设置了该键,则将布尔变量设置为错误的。
文档没有明确说明这一点。它指出(source3.pdf,第 87 节,第 134 页):
定义
<key>
为 (必须是<bool>
或)。<value>
true
false
false
但是,我看不出在键定义中将值放在哪里。<value>
概要中没有出现。似乎默认行为是设置<bool>
为true
。
答案1
关键.bool_set:N
属性旨在用作
\keys_define:nn { module }
{
key-name .bool_set:N = \l_my_bool
}
它将用作key-name = true
或key-name = false
。如果您希望仅使用键名就相当于设置false
,则需要一个默认值:
\keys_define:nn { module }
{
key-name .bool_set:N = \l_my_bool ,
key-name .default:n = false
}
不过,我可能会使用原始.code:n
方法,因为这似乎与我的预期相比“落后”
\bool_new:N \l_my_bool
\keys_define:nn { module }
{
key-name .code:n = { \bool_set_false:N \l_my_bool }
}