如标题所示;我知道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
后缀,此方法就会失败。我无法跳过第一个参数,因为可能指定了选项,并且如上所述,我不能使用\jobname
或status.filename
。