我有一个文档,其中某些经常出现的实体名称被宏替换,例如:
\newcommand{\entity}{\emph{Name of Entity}}
...
Lorem ipsum dolor sit \entity, consequat consectetur.
如果我像这样定义命令,如果\entity
后面紧跟着标点符号(如上所述),我会得到正确的格式,否则格式不正确(例如Lorem \entity ipsum
变成“Lorem Name of Entityipsum”)。如果我在定义中包含空格\entity
(注意右括号之间的空格):
\newcommand{\entity}{\emph{Name of Entity} }
我得到了相反的行为,仅当后面没有标点符号时才有适当的间距。
我认为没有在宏中包含一些魔法命令来实现某些合理的目的?
答案1
答案2
\entity
若需要空格,请在后面加上反斜杠或空组。
\newcommand{\entity}{\emph{Name of Entity}}
...
Lorem \entity\ ipsum
Lorem \entity{} ipsum