I've defined
\newcommand{\foo}[1]{\textbf{#1}}
\newcommand{\bar}{\foo{Bar}}
Now, when I compile
\bar tender --- tend your \bar.
I would like to get
Bar tender - tend your Bar.
but what I actually get is
Bartender - tend your Bar.
It seems that if I use \foo{Bar} directly, I get what I want.
How can I get the output I expect by changing the command rather than the invocation? I'd rather not use \xspace unless absolutely necessary.
\bar{} tender -- tend your \bar.– egreg Apr 04 '15 at 15:44\def\bar!{\textbf{foo}}\bar! blabla. – Ulrike Fischer Apr 04 '15 at 16:30