根据 xint 包源代码,的定义\xint_bye
是
\long\def\xint_bye #1\xint_bye {}%
。
不知怎的,它自己调用了,但我不明白。它\xint_bye
做了什么?
答案1
这个定义并不意味着它\xint_bye
调用自身。这个定义是一个宏,带有分隔参数。根据它,\xint_bye
后面必须跟有(几乎1 个)任意标记,并且\xint_bye
在同一括号级别。然后丢弃包括该标记在内的所有内容,因为替换文本为空。
实际上,\xint_bye
它主要用作其他分隔参数宏的“哨兵”。我相信这个定义是为了应对需要\xint_bye
扩展的极端情况(通常它被丢弃,作为参数分隔符)。
1 几乎, 因为外标记永远不能出现在参数中。任何其他标记都可以,包括\par
,因为前缀是\long
。