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
替换文本到末尾的所有内容,则您有责任在该点添加一些标记。