Luaの状態に応じてLaTeX部分を条件付きで評価する

Luaの状態に応じてLaTeX部分を条件付きで評価する

LuaLaTeX では、Lua の状態に応じて、ドキュメントの一部を条件付きで評価したいと考えています。

LaTeX で条件付きで部分を評価する方法は、\if \else \fiコンストラクトです。これを Lua に接続する簡単な方法は次のようになります。

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

しかし、これはかなりハッキーな感じがします。

代替の(より良い)アプローチは、おそらくすでに組み込まれているでしょうか?

関連情報