Utilice luatex para \let comando a otros

Utilice luatex para \let comando a otros

Sigo buscando LuaTeX, entiendo cómo puedo ejecutar el código Lua dentro del código TeX (a través de \luadirect), pero no cómo puedo ejecutar el código TeX dentro del código Lua.

Les explico: me gustaría hacer una serie de comandos \let a partir de una lista luatex.

Mi MWE es

\def\a{s}

\directlua{
  x = {"b","c"}
  for y in pairs(x) do
    print (y)
    % I would like to \let\<y>\a
  end
}

Lo que me gustaría que \directlua produjera algo como

\let\b\a
\let\c\a

Respuesta1

Probablemente puedas alterar directamente la tabla hash de TeX desde lua, pero lo más sencillo es hacer que lua escriba las \letdeclaraciones.

> \b=macro:
->s.
l.10 \show\b

? 
> \c=macro:
->s.
l.11 \show\c

? 
)
No pages of output

Producido desde:

\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

información relacionada