Leider fand ich noch keine Lösung.
io.open(Dateiname, "w") funktioniert seit TL 2024 nur noch dann,
wenn Dateiname entweder nur einen simplen Namen enthält, oder der vorangestellte Pfad sich auf ein Verzeichnis unterhalb des aktuellen Verzeichnisses (current directory) bezieht.
Mit TL 2023 war es noch möglich, die Datei in ein Verzeichnis zu schreiben, das oberhalb lag.
Weiß jemand einen workaround?
Ich teste auch dies, es funktioniert ebenso wenig:
\documentclass{article}
\begin{document}
\directlua{
local destFileName = "Testfile"
local myDocument, err = io.open(destFileName, "w")
if not myDocument then
print(" ERROR OPENING FILE:", err)
return
end
myDocument:write("Hello from Lua!")
myDocument:close()
local finalFileName = "../"..destFileName
print("Moving file: "..finalFileName)
print (os.rename(destFileName, finalFileName))
}
\end{document}
Bei diesem Beispiel gibt es immerhin eine Fehlermeldung:
Moving file: ../Testfile
nil LuaTeX: operation not permitted -1
Obwohl ich natürlich Schreibrechte im oberen Verzeichnis habe.