我正在使用 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
将被更新。