In einem expl3-Paket soll ein Lua-Modul zum Einsatz kommen, da Lua die Programmierung bestimmter Funktionen vereinfacht. Das Lua-Modul wiederum soll im Paket definierte expl3-Funktionen aufrufen. Das funktioniert aber nicht immer. Im folgenden Minimalbeispiel funktioniert der \begin{filecontents*}{testpaket.sty} \ProvidesExplPackage{testpaket}{2025-08-03}{1.0}{Testpaket} \directlua { testmodul = require ('testmodul') } \cs_new:Npn \testpaket_testbefehl:n #1 { \int_to_Roman:n {#1} } \NewDocumentCommand \TestnutzerbefehlA {m} { \directlua { testmodul.testfunktionA ( #1 ) } } \NewDocumentCommand \TestnutzerbefehlB {m} { \directlua { testmodul.testfunktionB ( #1 ) } } \end{filecontents*} \begin{filecontents*}{testmodul.lua} local testmodul = {} testmodul.testfunktionA = function (nr) tex.sprint("bla blub ") tex.sprint("\\ExplSyntaxOn") tex.sprint("\\testpaket_testbefehl:n{"..nr.."}") tex.sprint("\\ExplSyntaxOff") end testmodul.testfunktionB = function (nr) tex.sprint("\\section{") testmodul.testfunktionA(nr) tex.sprint("}") end return testmodul \end{filecontents*} \documentclass{article} \usepackage{testpaket} \begin{document} \TestnutzerbefehlA{75} \TestnutzerbefehlB{85} \end{document} Die Fehlermeldung lautet: ! Undefined control sequence. <argument> bla blub \ExplSyntaxOn \testpaket _testbefehl:n{85}\ExplSyntaxOff Die expl3-Syntax wird also nicht erkannt, obwohl direkt davor |