使用 LuaSQL 将参数传递给 LuaLaTeX

使用 LuaSQL 将参数传递给 LuaLaTeX

我将 LuaLaTeX 与 LuaSQL 结合使用,我有两个文件,分别是test.textest.lua。当我使用 进行编译时lualatex test.tex,首先test.lua运行 ,它从我的数据库中读取变量 的行中的用户值id_user = 3。此变量在 内设置test.lua

所以目前每个编译都返回同一个用户的值,但我想在编译时将用户 ID 作为参数传递,例如:

lualatex test.tex 2399

这将适用于具有 的用户id_user = 2399。所以这里的问题是我必须将值传递给 lualatex 而不是 lua 本身!这该怎么做?有人可以提供 MWE 吗?

答案1

从 Sharpie 对类似问题的回答中略作修改后重新发布向文档传递参数

在您的 lua 代码中,命令行参数在 中可用arg。在这里,我们只打印参数,但代码确实显示了如何获取它们。

%argtest.tex
\documentclass{article}

\begin{document}

\noindent Command line arguments: 

  \directlua{
    if arg then
      for i,v in ipairs(arg) do
        if (i > 1) then
            tex.print("\string\\begin{description}")           
            tex.print("\string\\item[" .. i .. "]" .. v)
            tex.print("\string\\end{description}")           
        end
      end
    end
  }

\end{document}

调用

lualatex argtest.tex ham spam jam

你获得

在此处输入图片描述

相关内容