最小示例:
\documentclass{article}
\begin{document}
\ExplSyntaxOn
\typeout{error: \expandafter \expandafter \expandafter \string \char_generate:nn {"0C} {13}}
\ExplSyntaxOff
\end{document}
输出:
error:\ERROR
使用latex
或进行编译pdflatex
。
知道发生什么事了吗?
答案1
带有 8 位引擎的代码\char_generate:nn
使用一组预存储标记的方法来“生成”结果。由于代码设置为 2022 年底,因此不允许\outer
创建活动。与普通 TeX 一样,^^L
故意过滤掉这种情况并替换为以避免不受控制的错误。\outer
expl3
\ERROR
正如评论中所讨论的,通过反转存储的令牌,使得阴极-13 位于第一个,可以通过\noexpand
在活性物质生成期间应用来避免不受控制的情况。因此,expl3
从 2023 年起的版本没有此限制。