指定块矩阵的尺寸

时间:2012-12-17 22:21:06

标签: matrix latex

我最近开始学习LaTeX,虽然我通过在线观看(尤其是在这里)找到了几乎所有问题的答案,但我还有一件事我想做但不能用于文章我我在写:

我希望能够在矩阵下面指定尺寸和“子维度”。为了更清楚,让我们举几个例子:

$ D =
  \underbracket{\begin{pmatrix}
   D_1 & 0      & 0   &   &        &    \\
   0   & \ddots &     &   &    {\textrm{\huge 0}}    &    \\
   0   & 0      & D_n &   &        &    \\
       &        &     &   &        &    \\
       &   \textrm{\huge 0}     &     &   &   {\textrm{\huge 0}}     &    \\
       &        &     &   &        &    \\
  \end{pmatrix}}_N $

这给出了一个很好的矩阵,其中维度N被指定为矩阵下的括号。这很好,但我想添加第二个括号来指定矩阵正下方(可能在第一个主括号上方)的内部块矩阵的较小尺寸n,这是较短的,即我希望它从1延伸到n而不是一直到矩阵之下。

我对任何解决方案持开放态度,但对我来说越简单越好:)

1 个答案:

答案 0 :(得分:1)

以下并不是真正令人眼花缭乱,但它可能就是你所追求的:

enter image description here

\documentclass{article}
\usepackage{mathtools}% http://ctan.org/pkg/mathtools
\begin{document}
\[
D =
  \underbracket{\begin{pmatrix}
   D_1 & 0      & 0   &   &        &    \\
   0   & \ddots &     &   &    {\textrm{\huge 0}}    &    \\
   0   & 0      & D_n &   &        &    \\
       &        &     &   &        &    \\
       &   \textrm{\huge 0}     &     &   &   {\textrm{\huge 0}}     &    \\
       &        &     &   &        &    \\
  \end{pmatrix}}_N
\]

\[
  D= \underbracket[.4pt]{\left(\begin{array}{@{}c@{\quad}c}
    \underbracket[.4pt]{\begin{array}{ccc}
      D_1 & \vphantom{\ddots}0 & 0 \\
      0 & \ddots & 0 \\
      0 & \vphantom{\ddots}0 & D_n
    \end{array}}_{n} & \text{\huge 0} \\ \\
    \text{\huge 0} & \text{\huge 0}
  \end{array}\right)}_{N}
\]
\end{document}

\vphantom的使用确保所有行的“内部矩阵”的行高相似(实际上不打印\ddots)。

我采用了更传统的方法(使用array),而不是pmatrix。优点是您可以控制对齐。