请参阅此处的 LaTeX 3 编程层文档: https://mirror.math.princeton.edu/pub/CTAN/macros/latex/contrib/l3kernel/interface3.pdf
⋆
似乎表明宏是否可扩展;例如:
\prop_to_keyval:N ⋆
但是什么✩
?
\prop_map_function:NN ✩
\prop_map_function:cN ✩
答案1
“完全展开”有三种类型,对应三种参数类型:
e
表示“可扩展的完全扩展”,对应于原始\expanded
x
表示“不可展开的完全展开”,对应于技巧\begingroup\edef\x{\endgroup <tokens to be expanded>}\x
f
表示“递归扩展”,由 触发\romannumeral
。
直到 2019 年,\expanded
它才在 LuaTeX 中可用,但随着 2019 年 TeX Live 的发布,这个新原语出现在所有引擎中,因此开始l3kernel
优先使用它f
。请参阅\expanded 是否可以替代 \romannumeral 的扩展技巧?
实心星号表示可以在所有三种完全展开类型中使用的核函数,空心星号表示仅在e
或x
展开中完成工作的函数,因为不可能通过递归f
展开来实现它们的最终输出。
正如链接线程中提到的那样,现在 -expansion已经可用,f
所以对 -expansion 的需求就减少了。e