条件测试是否在逐项列出中

条件测试是否在逐项列出中

我正在使用 LaTeX 编写剧本手稿,我一直在研究条件表达式。原因是我想在手稿中添加注释,目前我有两个不同的命令:一个用于在列表中,另一个用于不在列表中。

是否可以使用 if/else,这样我就不需要两个命令了?

答案1

您可以检查的值\@currenvir

\documentclass{article}

\makeatletter
\def\itemizename{itemize}
\def\ifinitemize{%
  \ifx\@currenvir\itemizename
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi}
\makeatother

\begin{document}

\begin{itemize}
  \item Now we are \ifinitemize{in an itemize environment}{somewhere else}
\end{itemize}

Now we are \ifinitemize{in an itemize environment}{somewhere else}

\end{document}

在此处输入图片描述

我创建了一个条件命令,根据 的值执行第一个或第二个括号参数\@currenvir。例如,如果您在 内嵌套其他环境,这将不起作用,itemize因为 的值\@currenvir将被更新。

相关内容