Debugging 例如,如何在LuaTex/LuaLaTex中拥有不同的扩展状态以进行调试?

Debugging 例如,如何在LuaTex/LuaLaTex中拥有不同的扩展状态以进行调试?,debugging,lua,state,expansion,Debugging,Lua,State,Expansion,我正在准备LaTex/Tex片段,其中lua程序从SQL请求获取信息,并将其发送到数据库LuaSQL。 我希望能够看到扩展的中间状态,以便进行调试,同时也可以控制SQL请求和lua处理带来的结果。 例如,我的梦想是看到我的Latex页面的代码,就好像我自己用SQL请求和lua处理提供的所有信息手动键入它一样。 然后,我将对我的lua程序和SQL请求进行第一次处理,以构建一个有效且可读的luaLatex代码,如有必要,我可以对其进行修改;然后我会再次编译该文件以获得想要的pdf文档 今天,我使用一

我正在准备LaTex/Tex片段,其中lua程序从SQL请求获取信息,并将其发送到数据库LuaSQL。 我希望能够看到扩展的中间状态,以便进行调试,同时也可以控制SQL请求和lua处理带来的结果。 例如,我的梦想是看到我的Latex页面的代码,就好像我自己用SQL请求和lua处理提供的所有信息手动键入它一样。 然后,我将对我的lua程序和SQL请求进行第一次处理,以构建一个有效且可读的luaLatex代码,如有必要,我可以对其进行修改;然后我会再次编译该文件以获得想要的pdf文档

今天,我使用一个lua开发环境ZeroBrane Studio来执行和测试lua块,然后再将其集成到我的luaLatex代码中。例如: 我的lua区块:

for k,v in pairs(data.param) do
  print('\\def\\'..k..'{'..data.param[k]..'}')
end
lua打印输出:

\gdef\pB{0.7}
\gdef\pAinterB{0.5}
\gdef\pA{0.4}
\gdef\pAuB{0.6}
luaLaTex代码:

nothing visible ! except that now I can use \pA for instance in the code
我的梦想是,在luaLatex代码中:

\gdef\pB{0.7}
\gdef\pAinterB{0.5}
\gdef\pA{0.4}
\gdef\pAuB{0.6}
在使用expl3扩展时可能会有一个解决方案?但由于我既不熟悉它,也不熟悉精确的Tex扩展过程,在我投入大量精力理解本模块之前,我更愿意请教各位专家

补充: 推进反射,结果是从Latex代码中我得到了Latex代码,而不是pdf文件。这意味着我们只使用Veijkhout在TeX by Topic中描述的四个TeX处理器的第一步:输入处理器、扩展处理器,但具有受控的扩展深度,而不是执行处理器或视觉处理器。此外,还需要显示中间状态,这意味着一个新的处理器能够将令牌显示回可读字符串和正确的Tex/Latex代码,以便稍后处理。 除非有人已经做过或看到过类似的事情,否则我觉得我的愿望在短期和中期内都不可能实现。你是什么感觉,我应该放弃任何希望吗