I was wondering the other day about the following. Suppose I have two commands, \mycommand and \mycommandSpecial:
\newcommand{\mycommand}
{A simple phrase.}
\newcommand{\mycommandSpecial}
{A special phrase!}
Suppose now that I also have another command, along the lines of the following (which of course does not work, but it gives you a sense of what I am looking for):
\newcommand{\mynewcommand}[1]
{First this one: #1 -- and then the special one: #1Special}
My hope is that if I now type \mynewcommand{\mycommand} I would get the following output:
First this one: A simple phrase. -- and then the special one: A special phrase!
I want, as you can see, to have only one argument for \mynewcommand (because of [1]), but invoking both of the other commands, making use of their similar names, as the special command has only something added to its name.
Regardless of what I want to achieve (and whether this is reasonable), I was wondering generally whether LaTeX can do this, somehow modifying the commands within a command before executing them.
I was looking into \expandafter and \csname … \endcsname and tried something along the lines of:
\newcommand{\mynewcommand}[1]
{First this one: #1 -- and then the special one: \expandafter#1\csname#1Special\encsname}
But it does not work as you will see immediately.

