Say I have a macro \bob and that macro is passed to another macro as an argument:
\makemacro{\bob}
I want \makemacro to create another macro, based on the name of the passed macro, say \bob@two.
This is easy with etoolbox if I passed a csname (just "bob") and not a macro:
\cslet{#1@two}{...}
but if I'm passed a macro, this of course doesn't work:
\letcs#1@two{...}
I have a feeling there is painfully obvious way of doing this but I can't see it.
EDIT: I found an answer here: Removing a backslash "\" when passing arguments to newcommand
\csletcs– Marco Daniel Apr 05 '13 at 17:41