如何在 Lua 中测试 TeX 布尔值?
这种代码不起作用:
\newif\if@mypkg@someif
\begin{luacode}
-- some lua code
\if@mypkg@someif
-- some more lua code
\else
-- another lua code
\fi
-- again some lua code
\end{luacode}
有办法实现这个吗?
答案1
Tex 扩展在控制权移交给 lua 之前发生。以下最小示例有效。
\documentclass{minimal}
\usepackage{luacode}
\newif\ifluaflag
% \luaflagtrue
\begin{luacode}
print("before flag")
\ifluaflag
print("lua flag true")
\else
print("lua flag false")
\fi
\end{luacode}
\begin{document}
test
\end{document}