是否可以在 ConTeXt 中定义一个宏来占用参数后的空间?例如,给定以下输入:
\def\thing{\dosingleargument\dothing}
\def\dothing[#1]{thing#1}
\starttext
\thing[hello]
\thing[world]
\stoptext
这将产生以下输出:
但是,理想情况下,我希望它们能够一起运行,就像这样:
我意识到我可以使用\thing[hello]%
,但我只是想知道我是否可能在这里错过了一些简单的东西。这些\thing
命令当前由脚本生成。我可以配置脚本以输出%
,但 TeX 文件可能会在之后手动调整,其中可能%
最终会丢失,然后空格再次出现,所以我想尝试减少这种可能的人为错误并保持 TeX 文件看起来整洁。
答案1
在 ConTeXt 中可能有更好的方法来做到这一点,但是在放置\ignorespaces
宏定义的末尾后,虚假空格就被删除了:
\def\thing{\dosingleargument\dothing}
\def\dothing[#1]{thing#1\ignorespaces}