宏内的条件编译?

宏内的条件编译?

我正在尝试定义一个在 lualatex 中有条件遵守的环境。我尝试过的两种解决方案如下:

\documentclass{article}

\newenvironment{test}{\ifx\X y \\ }{\else \\ \fi}

\begin{document}

\begin{test}
This should not be seen without the varible X set to y.
\end{test}

this should always be seen.

\end{document}

以下方法也不起作用:

\newenvironment{test}{\ifdef{\something}{ }{ }{}}

也不会:

\newenvironment{text}{\ifdef \\ }{\else \\ \fi}

鉴于以上所有做工作在 pdftex 和 lualatex 中,如果我手动用它们的定义替换代码中的“\begin{test}”和“\end{test}”。

怎么回事?LaTeX 不允许你在用户定义的环境/定义中使用 \ifdef 和类似的结构吗?有什么办法可以让它工作吗?

相关内容