\ExplSyntaxOn 和 \ExplSyntaxOff 的使用

\ExplSyntaxOn 和 \ExplSyntaxOff 的使用

已获得一个使用下划线的样式文件,其中包含函数和变量名称。我使用\ExplSyntaxOn和,\ExplSyntaxOff正如预期的那样。

但我在知识方面遇到了一些困难。

假设我包含一些关键定义,然后定义一些新命令。

\ExplSyntaxOn

\keys_define:nn { mystyle_teorema_keys }
  {
   name .tl_set:N = \mystyle_teorema_name_tl,
   label .tl_set:N = \mystyle_teorema_label_tl,
   shared .tl_set:N = \mystyle_teorema_shared_tl,
   parent .tl_set:N = \mystyle_teorema_parent_tl,
   pigment .tl_set:N = \mystyle_teorema_pigment_tl,
  }

\ExplSyntaxOff

然后在我的文档中我调用\usepackage{mystyle}我的样式文件中的命令。

\usepackage{mystyle}
\mystyleCommand

\mystyleCommand由于未启用下划线的使用,调用是否会在访问我的样式文件中的下划线变量时出现问题document.ltx

答案1

正如所涵盖的我的答案回到相关问题,TeX 在第一次读取标记时会修复标记的 catcode(解释)。因此,如果你有一个文件包含

\ExplSyntaxOn
\def\foo{\some_code_function:}
\ExplSyntaxOff

那么当您\foo在“正常”文档上下文中使用时,TeX 仍会\some_code_function:在替换文本中看到。

这种从文档命名空间中“隐藏”控制序列的想法可以追溯到 Knuth,他@在纯 TeX 的内部代码中将其用作“字母”,但@在排版时将其设置为“其他”字符。

相关内容