从 LuaTeX 定义新命令

从 LuaTeX 定义新命令

Latex 提供了几个与创建新命令相关的命令,例如\newcommand。如果我想从 Lua 脚本定义新命令,一种方法是tex.print将其直接写入文档。

但这真的是最好的方法吗?LuaTeX 的重点是避免使用 Tex 宏进行编程,但这种方法恰恰涉及这样做。我如何直接从 Lua 访问、编辑和创建命令?

脚本.lua

tex.print("\\newcommand{\\hello}{Hello world}")

文档.tex

\documentclass{article}
\begin{document}
    \directlua{ require("script") }
    \hello
\end{document}

答案1

\documentclass{article}
\begin{document}
    \directlua{token.set_macro("hello","goodbye") }
    \hello
\end{document}

在此处输入图片描述

相关内容