我把xspace放在大多数宏的末尾,例如。
\newcommand*{\foobar}{foobar\index{foobar}\xspace}
但是我发现如果宏放在 textit ,它不能按预期工作,例如。
textit
Test 1: \foobar. Test 2: \textit{\foobar}.
生产
测试1:foobar。测试2: 美食家 .
在 . 性格。当然,对于这种情况,我可以创建一个重复的非xspace宏,但是我可以用某种方式更正确地修复它吗?
.
我在/usr/share/texmf/doc/latex/tools/xspace.pdf中找到了“隐藏”的答案:
有时空间可能会出错 决定,并在它是 不需要。可能会有不同 造成这种行为的原因 始终按照 带有{}的宏,因为这会产生 抑制空间。
所以
Test 3: \textit{\foobar{}}.
测试3: 美食家 .