Take the 2-minute tour ×
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.

I want to display the structure of a matrix as shown in the image below:

enter image description here

Can this be done using pmatrix and \underbrace?

My attempt at combining pmatrix and \underbrace results in a compile error.

\documentclass{standalone}

\usepackage{amsmath}

\begin{document}
$
\begin{pmatrix}
%1 & \underbrace{1 & \cdots & 1}_{k} \\ % compile error!
1 & 1 & \cdots & 1 \\
1 & 1 & 1 & 1
\end{pmatrix}
$
\end{document}
share|improve this question
1  
The answers in the following questions may help: tex.stackexchange.com/q/109054/18228, tex.stackexchange.com/q/102460/18228. In general, tikzmark would be very useful –  Kevin C Nov 19 '13 at 0:41

3 Answers 3

up vote 9 down vote accepted

A combination of \smash[b] should work:

\documentclass{standalone}
\usepackage{amsmath}

\newcommand{\block}[1]{
  \underbrace{\begin{matrix}1 & \cdots & 1\end{matrix}}_{#1}
}

\begin{document}
$
\underbrace{
  \begin{pmatrix}
  1 & \smash[b]{\block{k}} \\
  && 1 & \smash[b]{\block{k}} \\
  &&&& \ddots \\
  &&&&& 1 & \block{k}
  \end{pmatrix}
}_{T}
$
\end{document}

enter image description here

If you don't want to space the dots in the underbraced blocks, then change the definition:

\documentclass{standalone}
\usepackage{amsmath}

\newcommand{\block}[1]{
  \underbrace{1 \cdots 1}_{#1}
}

\begin{document}
$
\underbrace{
  \begin{pmatrix}
  1 & \smash[b]{\block{k}} \\
  && 1 & \smash[b]{\block{k}} \\
  &&&& \ddots \\
  &&&&& 1 & \block{k}
  \end{pmatrix}
}_{T}
$
\end{document}

enter image description here

For getting the underbrace only inside the delimiters, it's more complicated, because we don't want that the underbrace is considered when sizing the delimiters, yet we want to consider the vertical space taken by it.

\documentclass{standalone}
\usepackage{amsmath}

\newcommand{\block}[1]{
  \underbrace{1 \cdots 1}_{#1}
}

\newcommand{\underbracedmatrix}[2]{%
  \left(\;
  \smash[b]{\underbrace{
    \begin{matrix}#1\end{matrix}
  }_{#2}}
  \;\right)
  \vphantom{\underbrace{\begin{matrix}#1\end{matrix}}_{#2}}
}

\begin{document}
$
\underbracedmatrix{
  1 & \smash[b]{\block{k}} \\
  && 1 & \smash[b]{\block{k}} \\
  &&&& \ddots \\
  &&&&& 1 & \block{k}
}{T}
$
\end{document}

enter image description here

share|improve this answer
1  
If I interprete the OP correct, the brace should not include the surrounding Parentheses. –  Svend Tveskæg Nov 19 '13 at 20:26
    
@SvendTveskæg I added the version you asked for. –  egreg Nov 19 '13 at 22:16
    
Nice. I think the OP---not me---asked for it. :) –  Svend Tveskæg Nov 20 '13 at 4:41
    
@egreg You've put a lot in to this answer. Nice work. –  physicsmichael Jan 16 at 19:03
    
@vgm64 You're welcome! –  egreg Jan 16 at 20:16

Yet another attempt:

\documentclass{article}

\begin{document}

\def\onegroup{1\hskip\arraycolsep\underbrace{1 \hskip\arraycolsep\dots \hskip\arraycolsep 1}_{k}}

\[
\underbrace{
\left(
\begin{array}{cccc}
\onegroup&&&\\
&\onegroup&&\\
&&\ddots&\\
&&&\onegroup
\end{array}
\right)
}_{T}
\]

\end{document} 

enter image description here

share|improve this answer
    
The output of the code does not match the image which you have pasted, in particular it is missing the large underbrace with the T at the bottom. –  I Like to Code Nov 19 '13 at 15:01
    
@ILiketoCode Oh! It was an earlier version of code. Corrected. –  Przemysław Scherwentke Nov 19 '13 at 20:17

Just another flavor even though @egreg solutions seems to be robust enough:

\documentclass{standalone}

\usepackage{amsmath,mathtools}
\newcommand{\sunderb}[2]{
  \mathclap{\underbrace{\makebox[#1]{$\cdots$}}_{#2}}
}
\begin{document}
$
\begin{pmatrix}
1 & 1 & 1 & 1\\
1 & 1 & \sunderb{3.5em}{k} & 1 \\ 
1 & 1 & 1 & 1
\end{pmatrix}
$
\end{document}

enter image description here

share|improve this answer

Your Answer

 
discard

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.