如何检查 Lua 定义

如何检查 Lua 定义

当有 时,\directlua{x = 25}可以说\edef\rgf{\directlua{tex.sprint(x)}},但当x从未被 创建时\directlua{x = 25}\directlua{tex.sprint(x)}将失败。因此,类似这样的内容\@ifundefined{x}{x undefined}{x defined}会很好。请问如何“在 Lua 中说这个”?

答案1

你可以这样做:

\directlua{tex.sprint( x or 42 ) }

也许

\directlua{
  if x then
    tex.sprint(x)
  % else
    % do something else
  end
}

相关内容