
在 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}
不過,這感覺很hacky。
是否有任何替代(更好)的方法,也許已經內建了?