宏中非常简单的条件

宏中非常简单的条件

true我尝试在 LaTeX 中定义一个宏。当我使用条件和时,此宏应该给出不同的输出false

这不起作用:

\documentclass{article}
\usepackage{lipsum}
\newif\ifABC
\ifABC
\newcommand{\abcdef}[1]{{Letters} #1}%
\else
\newcommand\abcdef[1]{}
\fi

\begin{document}
\ABCtrue
\abcdef{ABC}
\lipsum[2]

\end{document}%

我应该如何定义条件宏?

答案1

您需要在执行宏时检查条件,而不是在定义宏时检查条件。

\documentclass{article}
\usepackage{lipsum}
\newif\ifABC
\newcommand{\abcdef}[1]{\ifABC{Letters} #1\fi}
\begin{document}
\ABCtrue
\abcdef{ABC}
\lipsum[2]
\end{document}%        

相关内容