Second question today: is there a way to pass a command as an argument of another method?
\newcommand\foo[1]{Foo does: `#1'}
\newcommand\bar[2]{Bar does: `#1{#2}'}
...
\bar{\foo}{xxx}
The output I want should be:
Bar does: `Foo does: `xxx''
Also, can someone explain to me what \expandafter does?
EDIT:
Sorry, for the question, after re-reading my code a few times, I noticed the origin of the mistake: the #1 in \bar was actually written \#1 instead. Nonetheless, thank you all for the quick answers.

\foois expanded after\bar). – Joseph Wright♦ Apr 28 '11 at 15:17\expandafterI recommend taking a look at TeX-by-Topic, it's free, online, and in TeXLive.) – Andrew Stacey Apr 28 '11 at 18:31