PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : $\cdot$ als lua-String speichern



MC3330
21-01-2022, 15:25
Hallo,
ich nutze Latex, Ticks und Lua um Arbeitsblätter zu erstellen. Dabei speichere ich häufig Aufgaben in Lua-Tabellen die ich dann in Nodes darstelle. Als Zeichen für die Multiplikation nutze ich $\cdot$. Bisher habe ich keine Möglichkeit gefunden dieses Zeichen in einer Lua-Tabelle zu speichern. Ich bastele mir meistens irgendwas, dass ich statt Zeichen Zahlen nehme und dann auf Latex-Ebene die Zahlen durch die Zeichen ersetze. Es würde eine Menge Arbeit sparen, wenn ich $\cdot$ irgendwie direkt in eine Lua-Tabelle schreiben könnte.

Gibt es da irgendeine Möglichkeit?
Viele Grüße
mc




\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{luacode}

\begin{document}
\begin{luacode}
a = {2,'+',2,'=',4}
b = {2,'-',2,'=',0}
c = {2,'*',2,'=',4}
d = {2,':',2,'=',1}
\end{luacode}



\begin{tikzpicture}
\node at (0,0) {\directlua{tex.print(a[1])}};
\node at (1,0) {\directlua{tex.print(a[2])}};
\node at (2,0) {\directlua{tex.print(a[3])}};
\node at (3,0) {\directlua{tex.print(a[4])}};
\node at (4,0) {\directlua{tex.print(a[5])}};

\node at (0,-1) {\directlua{tex.print(b[1])}};
\node at (1,-1) {\directlua{tex.print(b[2])}};
\node at (2,-1) {\directlua{tex.print(b[3])}};
\node at (3,-1) {\directlua{tex.print(b[4])}};
\node at (4,-1) {\directlua{tex.print(b[5])}};

\node at (0,-2) {\directlua{tex.print(c[1])}};
\node at (1,-2) {$\cdot$};
\node at (2,-2) {\directlua{tex.print(c[3])}};
\node at (3,-2) {\directlua{tex.print(c[4])}};
\node at (4,-2) {\directlua{tex.print(c[5])}};

\node at (0,-3) {\directlua{tex.print(d[1])}};
\node at (1,-3) {\directlua{tex.print(d[2])}};
\node at (2,-3) {\directlua{tex.print(d[3])}};
\node at (3,-3) {\directlua{tex.print(d[4])}};
\node at (4,-3) {\directlua{tex.print(d[5])}};

\end{tikzpicture}

\end{document}

rais
22-01-2022, 18:08
Moin moin,
wenn ich das richtig sehe, ist `\' für Lua ein Escape-Zeichen, da würde hier `\c' als einzelnes Zeichen interpretiert.


\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{luacode}

\begin{document}
\begin{luacode}
c = {2,'$\\cdot$',2,'=',4}
\end{luacode}

\begin{tikzpicture}
\node at (0,-2) {\directlua{tex.print(c[1])}};
\node at (1,-2) {\directlua{tex.print(c[2])}};
\node at (2,-2) {\directlua{tex.print(c[3])}};
\node at (3,-2) {\directlua{tex.print(c[4])}};
\node at (4,-2) {\directlua{tex.print(c[5])}};
\end{tikzpicture}

\end{document}
sollte schon tun.

VG

MC3330
22-01-2022, 18:13
Herzlichen Dank.