Hallo,

ich möchte einen Data-Matrix-Code für einen Kalendereintrag erstellen (siehe auch http://de.wikipedia.org/wiki/ICalendar). Dabei soll jedoch der Termineintrag mit einer Lua-Funktion berechnet werden (im Beispiel der Einfachheit halber bei DTEND das aktuelle Datum und die aktuelle Uhrzeit mit der Lua-Funktion Termin()).

In der jetzigen Form funktioniert das nicht. Im QR-Code steht nicht DTEND:20170317T120000 sondern DTEND:{Termin()}. Feststellen lässt sich das z. B. mit dem Barcodescanner eines Smartphones.

Wie kann das Problem gelöst werden?

Code:
\RequirePackage{luatex85}
\RequirePackage{ifluatex}

\documentclass[12pt]{article}
\ifluatex\usepackage{fontspec}\fi

\usepackage{shellesc, auto-pst-pdf}
\usepackage{pst-barcode}
\usepackage{luacode}

\begin{document}

\begin{luacode}
function Termin()
	return(os.date("\%Y\%m\%dT\%H\%M\%S"))
end
\end{luacode}

Dieser Termin soll als DTEND eingetragen werden:
\directlua{tex.print{Termin()}}\\

Data-Matrix-Code für den Kalendereintrag:\\

\begin{pspicture}%
\psbarcode{%
BEGIN:VCALENDAR^^J%
VERSION:2.0^^J%
BEGIN:VEVENT^^J%
SUMMARY:Name^^J%
DESCRIPTION:Beschreibung^^J%
DTSTART:20170317T120000^^J%
DTEND:\directlua{Termin()}^^J%
LOCATION:Ort^^J%
END:VEVENT^^J%
END:VCALENDAR%
}{height=1 width=1}{qrcode}%
\end{pspicture}

\end{document}