latex:xspace不与textit组合抑制空格
我把xspace放在大多数宏的末尾,例如latex:xspace不与textit组合抑制空格,latex,xspace,Latex,Xspace,我把xspace放在大多数宏的末尾,例如 \newcommand*{\foobar}{foobar\index{foobar}\xspace} 但是我刚刚发现,如果宏放在textit中,它就不能按预期工作,例如 Test 1: \foobar. Test 2: \textit{\foobar}. 产生 测试1:foobar。测试2:foobar 在字符前面加上一个空格。当然,我可以为这些情况创建一个重复的非xspace宏,但我可以用某种方式更正确地修复它吗?我在/usr/share/texm
\newcommand*{\foobar}{foobar\index{foobar}\xspace}
但是我刚刚发现,如果宏放在textit
中,它就不能按预期工作,例如
Test 1: \foobar. Test 2: \textit{\foobar}.
产生
测试1:foobar。测试2:foobar
在
字符前面加上一个空格。当然,我可以为这些情况创建一个重复的非xspace宏,但我可以用某种方式更正确地修复它吗?我在/usr/share/texmf/doc/latex/tools/xspace.pdf中找到了“隐藏”的答案:
有时\x空间可能会出错
决策,并在需要时添加一个空格
不需要。可能会有不同的情况
这种行为的原因,但它可以
始终按照以下步骤进行处理:
带有{}的宏,因为它具有以下效果
抑制空间
所以
产生
测试3:foobar
亲爱的主持人,结束了这个问题,请您描述一下定义latex宏的方式是否“在某种程度上与编程或软件开发无关”?
Test 3: \textit{\foobar{}}.