牢记:
- TikZ 大量使用空间标记,并且
expl3
语法完全忽略了空格,而且只会变得更加流行,
期望 TikZ 的未来版本expl3
考虑语法是否合理?如果语法发生变化,显然会带来灾难性的后果,但“幕后”执行此操作是否可行?
如果不可行(我真的不太了解 TikZ),有没有一种不会弄乱环境的解决方法~
?
针对 Christian 的编辑:
它们应该只对编程层的包编写者可见。在 下\ExplSyntaxOn
,像current page.south west
和 这样的键分别remember picture
“压缩”到currentpage.southwest
和rememberpicture
。显然这些键没有定义,因此是一个错误。只有在新的定义中,catcodes 才能用简单的 有效地更改,这绝对令人头疼\ExplSyntaxOff
。
答案1
我认为最明智的答案是“不”,原因如下。
首先,期望pgf
/TikZ 涵盖任意类别代码更改可能不现实,而且可能是一场持续不断的战斗。虽然expl3
语法是类别代码重大更改的一个例子,但它并不是唯一的一个(babel
我想到了很多选项)。我不认为 TikZ 团队应该了解所有这些,当然也不能对所有情况进行测试。(如果在宏或宏的参数中使用 TikZ 构造,则类别代码也会被修复,这是一个技术问题。)
第二个原因更多地与以下观点有关expl3
:一种方法将文档构建的不同方面分开。该语言expl3
用于“编程”,而 TikZ/ 虽然pgf
具有编程元素,但它更多地处于“文档级别”(或可能是“设计级别”)。因此,两者交错的情况应该相对较少。在它们交错的情况下,切换\ExplSyntaxOff
或使用~
空格都是可行的。:
标记的问题有点棘手,但 LaTeX3 团队知道,通常需要一些更好的界面来创建“更改的”类别代码标记expl3
,一旦交付,这应该会对这种特定情况有所帮助。