*
cannot be used for the name of a control sequence. You must use the \csname
...\endcsname
pair here :
\newenvironment{mequation}{\csname align*\endcsname}{\csname endalign*\endcsname}
Why do we give commands names? To indicate, ideally as clearly as possible, what it is that they do.
If you have two things that do very similar things, it makes sense to give them very similar names. On the other hand, if they do one thing significantly differently, you would like to be able to easily tell the two names apart, despite those names being similar. As an asterisk is a non-alphabetical character, and fairly dense, it stands out. It is therefore a reasonable way to modify the name of one command, to obtain a similar but easily distinguished command name.
But no, there isn't anything which all starred variants have in common. The command \section*
, the amsthm
command \newtheorem*
, and the amsmath
environment align*
are un-numbered variants of their un-starred cousins. However:
\newcommand*
creates a macro which will not accept carriage returns in any of its arguments.
\vspace*
adds vertical space which will not be suppressed at the beginning or end of a page.
\\*
creates a new line which will not cause a page break.
\tag*
(in amsmath
) allows you to add a visual label, comment, or other number-replacement for an equation, without the usual parentheses.
There is a bit of a theme of negation here, but it's not clear that these negations are of anything in common (aside, trivially, from "default" behaviours).
Best Answer
Since the
\newenvironment
command uses a\csname
, you can define it directly.You can have any combination of characters (with catcode 11 and 12) as you would in a
\csname...\endcsname
construct,What you do with the starred command is up to you.