
No LuaLaTeX, quero avaliar partes do documento condicionalmente, dependendo do estado de Lua.
Uma forma de avaliar peças condicionalmente em LaTeX é uma \if \else \fi
construção. Uma abordagem simples para conectar isso a Lua seria:
\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}
Isso parece bastante hacky, no entanto.
Existem abordagens alternativas (melhores), talvez já incorporadas?