ainda procurando por LuaTeX, entendo como posso executar código Lua dentro do código TeX (via \luadirect
), mas não como posso executar código TeX dentro do código Lua.
Eu explico: gostaria de fazer uma série de comandos \let a partir de uma lista luatex.
Meu MWE é
\def\a{s}
\directlua{
x = {"b","c"}
for y in pairs(x) do
print (y)
% I would like to \let\<y>\a
end
}
O que eu gostaria que \directlua produzisse algo como
\let\b\a
\let\c\a
Responder1
Você provavelmente pode mexer diretamente com a tabela hash do TeX de lua, mas o mais simples é fazer com que lua escreva as \let
instruções.
> \b=macro:
->s.
l.10 \show\b
?
> \c=macro:
->s.
l.11 \show\c
?
)
No pages of output
Produzido a partir de:
\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