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!

Schreibe einen Kommentar