I have created this matrix:

With this LaTeX-Code:
\documentclass{article}
\usepackage[pdftex,active,tightpage]{preview}
\setlength\PreviewBorder{2mm}
\usepackage{amsmath,array}
\renewcommand\arraycolsep{4pt} % default value: 6pt
\begin{document}
\begin{preview}
\begin{equation*}
\left( \,
\begin{array}{r@{}r@{}r r r} % @{} is used twice to suppress intercolumn whitespace
\overbrace{
\boxed{
\begin{array}{rrr} % First block (1)
1 & & \\
& \ddots & \\
& & 1 \\
\end{array}
}
}^{r_+(s)-mal} \\
&
\underbrace{
\boxed{
\begin{array}{rrr} % Second block (-1)
-1 & & \\
& \ddots & \\
& & -1\\
\end{array}
}
}_{r_{-}(s)-mal} \\
& &
\underbrace{
\boxed{
\begin{array}{rrr} % Third block
0 & & \\
& \ddots & \\
& & 0\\
\end{array}
}
}_{r_0(s)-mal} \\
\end{array}\,\right)
\end{equation*}
\end{preview}
\end{document}
You can see that the underbrace causes the third block to appear a little lower than it would without the underbrace of the second block. But I don't want the third block to appear lower.
How can I make LaTeX ignore the height of the second underbrace?
It would be even better, if I could make diagonal braces and remove the blocks. But I guess thats complicated.


