仍在寻找 LuaTeX,我了解如何在 TeX 代码中执行 Lua 代码(通过\luadirect
),但不知道如何在 Lua 代码中执行 TeX 代码。
我解释一下:我想从 luatex 列表中创建一系列 \let 命令。
我的 MWE 是
\def\a{s}
\directlua{
x = {"b","c"}
for y in pairs(x) do
print (y)
% I would like to \let\<y>\a
end
}
我希望 \directlua 能产生类似
\let\b\a
\let\c\a
答案1
您可能可以直接从 lua 中弄乱 TeX 的哈希表,但更简单的方法是让 lua 写出语句\let
。
> \b=macro:
->s.
l.10 \show\b
?
> \c=macro:
->s.
l.11 \show\c
?
)
No pages of output
产自:
\def\a{s}
\directlua{
x = {"b","c"}
for n,y in pairs(x) do
tex.print("\string\\let\string\\" .. y .. "\string\\a")
end
}
\show\b
\show\c
\bye