Оценивать части LaTeX условно в зависимости от состояния Lua

Оценивать части LaTeX условно в зависимости от состояния Lua

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

Хотя это кажется довольно неуклюжим.

Существуют ли какие-либо альтернативные (лучшие) подходы, возможно, уже встроенные?

Связанный контент