TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
In LaTeX, don't use \bf; use \bfseries or \textbf{...} or \mathbf{...}. – Jubobs Mar 25 '14 at 8:33
up vote 4 down vote accepted

The problem in \lie[\slr[2]] is that the optional argument to \lie is taken to be \slr[2. You can solve the issue with xparse:




Here it is: $\lie[\slr]$

With optional argument: $\lie[\slr[2]]$

enter image description here

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.

share|improve this answer

I cannot see it:



\[ {\bf L}({\bf SL}(2,\mathbb{R})) \]

\[ \lie[{\slr[2]}] \]

\[ \slr[\lie] \]


enter image description here

You have to put the optional argument into braces: [{\slr[2]}]

share|improve this answer
I am still getting the same problem. I am using the book class, if that helps. – Vishal Gupta Mar 25 '14 at 8:40
Also, as suggested above, I am now using \textbf instead of \bf. – Vishal Gupta Mar 25 '14 at 8:40
see myedited answer. – Herbert Mar 25 '14 at 8:46
It works by putting {} around the second argument. – Vishal Gupta Mar 25 '14 at 8:51
[\slr[2]] takes the first ] as closing brace for the first [ and not for the second one, because [ looks only for a following ] – Herbert Mar 25 '14 at 8:54

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.