在 Lua 代码中测试 TeX 布尔值

在 Lua 代码中测试 TeX 布尔值

如何在 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}

相关内容