LuaLaTeX und die Tücken von tex.[s]print

(Bevor andere ewig rumprobieren müssen.)

Als „Vorstudie“ zu automatisch erzeugten Etiketten wollte ich folgendes Problem angehen:

„In Lua LaTeX-Befehle erzeugen, die dann von LuaLaTeX interpretiert werden, unter Umgehung der Ersetzung von Escape-Sequenzen in Lua.“

Erste Idee: ich nehme einfach „long strings“, eingeschlossen in [[]]. Klappt aber nicht mit \directlua. Schade.

Nach einigem Googlen und Rumstochern folgende funktionierende Lösung:

\documentclass[a4paper]{scrartcl}
\usepackage{luacode}
\usepackage{fontspec}
\begin{document}
\begin{luacode*}
for i = 0, 100 do tex.sprint([[\textbf{]] .. i .. [[} \TeX{} ]]) end
\end{luacode*}
\end{document}

Damit steht einem buchstäblich alles offen, was Lua so zu bieten hat. Wie robust das ist, wird die Praxis zeigen.

Jedenfalls Danke an die Macher des Pakets luacode. Ihr rockt!