Используйте luatex для передачи команды другим

Используйте luatex для передачи команды другим

все еще ищу LuaTeX, я понимаю, как можно выполнить код Lua внутри кода TeX (через \luadirect), но не понимаю, как можно выполнить код TeX внутри кода Lua.

Я объясняю: я хотел бы создать серию команд \let из списка luatex.

Мой 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

Вероятно, вы можете работать с хеш-таблицей TeX напрямую из lua, но проще всего заставить 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

Связанный контент