I came across a problem when typing my report. I do not know how to fix this. The problem is as follows:
I have two custom commands defined like this:
\newcommand{\slr}[1][n]{\ensuremath{{\bf SL}(#1,\mathbb{R})}}
\newcommand{\lie}[1][G]{\ensuremath{{\bf L}(#1)}}
So that the first command gives an output like ${\bf SL}(n,\mathbb{R})$
and the second command gives the output like ${\bf L}(G)$
. Here $n$
and $G$
are respectively the default arguments.
Now when I use these two commands together, I hope to get
$${\bf L}({\bf SL}(2,\mathbb{R}))$$
However, for some reason what I am getting is
$$ {\bf L}({\bf SL}(2),\mathbb{R})$$
Any ideas of what is going on here?
Best Answer
The problem in
\lie[\slr[2]]
is that the optional argument to\lie
is taken to be\slr[2
. You can solve the issue withxparse
:I removed
\ensuremath
as I believe that you gain nothing from using\lie
in text rather than$\lie$
; to the contrary, I firmly believe that the latter form is much better, because math is always treated as math.