Evaluar piezas de LaTeX condicionalmente dependiendo del estado de Lua

Evaluar piezas de LaTeX condicionalmente dependiendo del estado de Lua

En LuaLaTeX, quiero evaluar partes del documento de forma condicional, según el estado de Lua.

Una forma de evaluar partes condicionalmente en LaTeX es una \if \else \ficonstrucción. Un método sencillo para conectar esto a Lua sería:

\documentclass{article}

\newcommand{\luaif}[1]{\ifnum1=\directlua{if #1 then tex.sprint(1) else tex.sprint(0) end} }

\directlua{a = 1}

\begin{document}
\luaif{a == 1} true \else false \fi % -> true
\luaif{a == 2} true \else false \fi % -> false
\end{document}

Sin embargo, esto parece bastante complicado.

¿Existen enfoques alternativos (mejores), tal vez ya integrados?

información relacionada