在 lualatex 中获取输入文件名

在 lualatex 中获取输入文件名

如标题所示;我知道status.filename获取当前正在编译的确切文件的名称,但我想知道作为 lualatex 参数给出的文件的名称。\jobname这也是无益的,因为它可能被指定为与输入不同。

语境

我正在尝试解析命令行中给 lualatex 的额外参数;我的代码目前看起来像这样:

function get_args()
    arguments = {}
    reached_doc_arguments = false
    document_arg_position = -1

    for index,argument in ipairs(arg) do
        if reached_doc_arguments then
            arguments[index - document_arg_position] = argument
        elseif argument:match("%.tex$") then
            document_arg_position = index
            reached_doc_arguments = true
        end
    end
    return arguments
end

但是,如果省略.tex后缀,此方法就会失败。我无法跳过第一个参数,因为可能指定了选项,并且如上所述,我不能使用\jobnamestatus.filename

相关内容