在 \ifthenelse 中使用 \@currenvir

在 \ifthenelse 中使用 \@currenvir

我浏览了这些论坛上的几个问题,但似乎遗漏了一些东西。

我正在用 LaTeX 编写一个宏,如果在枚举环境中使用,则执行一个函数,如果在枚举环境之外使用,则执行另一个函数。为此,我使用一个\ifthenelse语句并使用 测试环境\@currenvir,如果我的其他搜索正确,则 LaTeX 会在其中存储当前环境的名称,但是它不起作用。使用一个最小示例后,我发现我从语句中只得到了错误的结果。

有人能指出我哪里错了吗?这是一个总是被证明是错误的最小例子:

\documentclass{tufte-book}
\makeatletter
\newcommand{\currentEnvironment}{% Test what environment we are in
 \ifthenelse{\equal{\@currenvir}{enumerate}}{TRUE}{FALSE}%
}
\makeatother
\begin{document}
\chapter{Test}
\section{test}
\begin{enumerate}
\item item1
\item Are we in enumerate: \currentEnvironemnt
\item item3
\end{enumerate}
\end{document}

显然,我使用了错误的宏来测试环境,或者我错误地使用了正确的宏。任何帮助都将不胜感激。

相关内容