![\ExplSyntaxOn 和 \ExplSyntaxOff 的使用](https://linux22.com/image/469390/%5CExplSyntaxOn%20%E5%92%8C%20%5CExplSyntaxOff%20%E7%9A%84%E4%BD%BF%E7%94%A8.png)
已获得一个使用下划线的样式文件,其中包含函数和变量名称。我使用\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 的内部代码中将其用作“字母”,但@
在排版时将其设置为“其他”字符。