LaTeX3:定义键来设置布尔变量

LaTeX3:定义键来设置布尔变量

我想定义一个键,如果设置了该键,则将布尔变量设置为错误的

文档没有明确说明这一点。它指出(source3.pdf,第 87 节,第 134 页):

定义<key>为 (必须是<bool>或)。<value>truefalse

false但是,我看不出在键定义中将值放在哪里。<value>概要中没有出现。似乎默认行为是设置<bool>true

答案1

关键.bool_set:N属性旨在用作

\keys_define:nn { module }
  {
    key-name .bool_set:N = \l_my_bool
  }

它将用作key-name = truekey-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 } 
  }

相关内容