expl3 中有编程入门吗?我看到了http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/l3kernel/expl3.pdf 但它没有讨论控制结构(例如,它是否取代 ifthen 包?)也没有任何例子。
更具体地说,ifthen 包命令在某些 tikz 代码中不起作用,我希望 expl3 可以解决这个问题。
这个一般性问题以前曾被问过,但那是 9 年前的事了,所以现在也许有更好的答案了?我在哪里可以找到 LaTeX3 手册?
答案1
您的问题是有关 expl3 的多个误解的不祥混合。
首先,expl3.pdf
文档是设计文档,expl3
它解释了架构背后的原理以及如何使用它。当然,由于其目的,expl3.pdf
它不讨论控制结构,这是参考手册的任务interface3.pdf
。
其次,expl3
不会取代ifthen
包装,就像苹果不会取代橙子一样。它们是针对同一问题的互补方法。因此,除非您了解其含义,否则也不应该将它们混合在一起。
最后你应该避免混合 Ti钾Z 代码和expl3
,同样是因为设计理念上的冲突。TeX 世界中一个臭名昭著的陷阱是“虚假空间”问题,expl3
通过忽略 内的所有空格可以解决这个问题\ExplSyntaxOn...Off
。然而,这与其他任何依赖空格存在的代码不兼容,例如pgfkeys
构成 Ti 基础的代码钾Z。尽管如此,还是可以让两者合理地协同工作,但这需要用户编写适当的包装器来连接无空间和有空间的世界。