Problem mit Unterstrich (_) in Lua-Schleife

Problem mit Unterstrich (_) in Lua-Schleife

Der nächste Code gibt den Fehler aus: Missing $ inserted.Dies liegt daran, dass einer der Schlüssel ist c_a. Wie kann die Schleife so geändert werden, dass sie verwendet wird c_a?

% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{luacode}

\begin{document}
\parindent = 0pt
\begin{luacode}
tp=tex.print
z = {}

ap = "a'"
bp = "b'"

z.a = {5,2}
z.b = {3,-2}
z.c_a = {3,2}
z[ap] = {99,0}
z.bp = {66,55}

tex.print("The stored coordinates are : "..'\\\\')
-- z.c_a = nil
for k,v in pairs(z) do
   tp(k) tp(tostring(" represents :")) tp(tostring("(" .. v[1]..","..v[2]..")"))
   tex.print('\\\\')
end     
\end{luacode}
\end{document}

Antwort1

Nicht wirklich mit Lua verbunden, Sie benötigen \verb|c_a|oder ähnliches für den Unterstrich

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{luacode}

\begin{document}
\parindent = 0pt
\begin{luacode}
tp=tex.print
z = {}

ap = "a'"
bp = "b'"  -- not used

z.a = {5,2}
z.b = {3,-2}
z.c_a = {3,2}
z[ap] = {99,0}
z.bp = {66,55}

tex.print("The stored coordinates are : "..'\\\\')
-- z.c_a = nil
for k,v in pairs(z) do
   tp("\\verb|" .. k .."|") tp(" represents :") tp("(" .. v[1]..","..v[2]..")")
   tex.print('\\\\')
end     
\end{luacode}
\end{document}

verwandte Informationen