Problema com sublinhado (_) no loop lua

Problema com sublinhado (_) no loop lua

O próximo código dá o erro: Missing $ inserted.Isso ocorre porque uma das chaves é c_a. Como modificar o loop para usar 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}

Responder1

Não é realmente relacionado a Lua, você precisa \verb|c_a|de algo semelhante para o sublinhado

insira a descrição da imagem aqui

\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}

informação relacionada