未来是否可以合理地期待与 expl3 兼容的 TikZ/PGF 版本?/ 在 expl3 语法下使用 TikZ 的解决方法

未来是否可以合理地期待与 expl3 兼容的 TikZ/PGF 版本?/ 在 expl3 语法下使用 TikZ 的解决方法

牢记:

  • TikZ 大量使用空间标记,并且
  • expl3语法完全忽略了空格,而且只会变得更加流行,

期望 TikZ 的未来版本expl3考虑语法是否合理?如果语法发生变化,显然会带来灾难性的后果,但“幕后”执行此操作是否可行?

如果不可行(我真的不太了解 TikZ),有没有一种不会弄乱环境的解决方法~


针对 Christian 的编辑:

它们应该只对编程层的包编写者可见。在 下\ExplSyntaxOn,像current page.south west和 这样的键分别remember picture“压缩”到currentpage.southwestrememberpicture。显然这些键没有定义,因此是一个错误。只有在新的定义中,catcodes 才能用简单的 有效地更改,这绝对令人头疼\ExplSyntaxOff

答案1

我认为最明智的答案是“不”,原因如下。

首先,期望pgf/TikZ 涵盖任意类别代码更改可能不现实,而且可能是一场持续不断的战斗。虽然expl3语法是类别代码重大更改的一个例子,但它并不是唯一的一个(babel我想到了很多选项)。我不认为 TikZ 团队应该了解所有这些,当然也不能对所有情况进行测试。(如果在宏或宏的参数中使用 TikZ 构造,则类别代码也会被修复,这是一个技术问题。)

第二个原因更多地与以下观点有关expl3:一种方法将文档构建的不同方面分开。该语言expl3用于“编程”,而 TikZ/ 虽然pgf具有编程元素,但它更多地处于“文档级别”(或可能是“设计级别”)。因此,两者交错的情况应该相对较少。在它们交错的情况下,切换\ExplSyntaxOff或使用~空格都是可行的。:标记的问题有点棘手,但 LaTeX3 团队知道,通常需要一些更好的界面来创建“更改的”类别代码标记expl3,一旦交付,这应该会对这种特定情况有所帮助。

相关内容