是否有 \return 命令来结束当前宏?

是否有 \return 命令来结束当前宏?

Latex 中是否有一条\return语句可以结束当前宏的处理?

\if some condition
  \PackageError{mypackage}{main text}{help text}
  \return
\fi

我只是认为这比将宏的主要功能放在语句中更优雅\else。或者包编写者的标准做法是什么?

答案1

宏不是函数调用,而是文本扩展。因此,如果你有

\def\abc{111  \return I don't want 222}

并使用

  aaa \abc\ bbb

那么首先发生的事情是它\abc被扩展到输入缓冲区,所以 TeX 已经看到了,aaa但是输入是

aaa
   111  \return I don't want 222\ bbb

因此,如果您希望\return跳过从\return替换文本到末尾的所有内容,则您有责任在该点添加一些标记。

相关内容