Hi rsq_a,
rsq_a said:
I'd like to typeset an expression like,
a + b + c + d = e
The problem is I'd like to use multiple underbraces (or perhaps overbraces) which may also overlap. For example,
\underbrace{a + b}_\textrm{brace 1} + c + d = e
is the first brace. But I'd also like to have a second brace which underlines b, c, and d (and lies below the first brace).
How would I do that?
How about these:
<br />
a + \underbrace{b \makebox[0pt][r]{$\displaystyle{\underbrace{\phantom{a+b}}_\textrm{brace 1}}$}<br />
+ c + d}_\textrm{brace 2} = e<br />
<br />
\underbrace{a + \makebox[0pt][l]{$\displaystyle{\underbrace{\phantom{b+c+d}}_\textrm{ brace 2}}$} b}_\textrm{brace 1} + c + d = e<br />
<br />
\underbrace{a + \makebox[0pt][l]{$\displaystyle{\overbrace{\phantom{b+c+d}}^\textrm{ brace 2}}$} b}_\textrm{brace 1} + c + d = e<br />
You can say that the makebox command here is causing the inner brace to have a width of zero, for the purpose of calculating the outer brace. Let me show you the steps:
Let's say you start with this bit of Latex code:
{\rm neutrons} + {\rm protons} + {\rm electrons}
which if you Latex it gives the output:
<br />
{\rm neutrons} + {\rm protons} + {\rm electrons}<br />
Now put in the first underbrace:
{\rm neutrons} + \underbrace{ {\rm protons} + {\rm electrons} }_{\rm charged}
output:
<br />
{\rm neutrons} + \underbrace{ {\rm protons} + {\rm electrons} }_{\rm charged}<br />
So that's good. Now create a zero width box at the point where one end of the second underbrace goes, like this (with the new stuff in bold):
{\rm neutrons} + \underbrace{ {\rm protons}
\makebox[0pt][r]{$\underbrace{ {\rm neutrons} + {\rm protons} }_{\rm nucleons} }+ {\rm electrons} }_{\rm charged}
output:
<br />
{\rm neutrons} + \underbrace{ {\rm protons} <br />
\makebox[0pt][r]{$\underbrace{ {\rm neutrons} + {\rm protons} }_{\rm nucleons} }<br />
+ {\rm electrons} }_{\rm charged}<br />
I noticed that this last version looks fine on the forum, but what's really happening is that there are two copies of {\rm neutrons} + {\rm protons}; they are just right on top of each other. Sometimes they won't line up perfectly, so to make sure that you never see the duplicate contents, you can use the phantom command:
{\rm neutrons} + \underbrace{ {\rm protons}
\makebox[0pt][r]{$\underbrace{
\phantom{ {\rm neutrons} + {\rm protons}
} }_{\rm nucleons} }+ {\rm electrons} }_{\rm charged}
output:
<br />
{\rm neutrons} + \underbrace{ {\rm protons} <br />
\makebox[0pt][r]{$\underbrace{ \phantom{ {\rm neutrons} + {\rm protons}} }_{\rm nucleons} }<br />
+ {\rm electrons} }_{\rm charged}<br />
Depending on what is in your equation, you might also want to use the displaystyle command right after the $ in the makebox (like I have in my first several examples). Also in my own work I have sometimes had to explicitly add a space or two to make everything line up correctly.