====== Erste Schritte mit LuaTeX ====== Das folgende Beispiel zeigt die einfache Möglichkeit, einen Lua-Befehl innerhalb von LaTeX auszuführen. Dasselbe funktioniert auch mit Plain TeX. % !TEX lualatex \documentclass{article} \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \begin{document} Die Kreiszahl $\pi$ hat den Wert \directlua{tex.print(math.pi)}. \end{document} {{:luatexpi.png?nolink&|}} Hier ergeben sich aber direkt einige Probleme. Man kann beispielsweise die üblichen Lua-Kommentarzeichen (''-''''-'') nicht mehr benutzen, weil alles, was innerhalb von ''\directlua{...}'' steht, in einer Zeile interpretiert wird. So hat folgender Code einen Syntaxfehler: \directlua{ for x=1,10 do -- Schleifenanfang tex.print(x) end } weil der Lua-Interpreter folgendes liest: \directlua{ for x=1,10 do -- Schleifenanfang tex.print(x) end } und den Rest hinter dem Schlüsselwort ''do'' ignoriert. Daher empfiehlt es sich, Lua-Code soweit wie möglich in eine eigene Datei zu schreiben und in dem ''\directlua''-Befehl nur den Befehl zum Laden der Datei anzugeben. Sollte das nicht möglich sein, kann man auf das Paket ''luacode'' mit der gleichnamigen Umgebung ausweichen: % !TEX lualatex \documentclass{article} \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage{luacode} \begin{document} \begin{luacode*} for x=1,10 do -- Schleifenanfang tex.print(x) end \end{luacode*} \end{document} Trotzdem gilt hier die dringende Empfehlung, möglichst wenig Code in den LaTeX-Quellen zu verwenden und für den Rest eine eigene Datei zu nutzen. Damit wird man auch aussagekräftigere Fehlermeldungen mit Zeilennummer erhalten.