在下面的等式中,我希望将矩阵中不同单元格分隔开的水平虚线垂直对齐。此外,如果两个矩阵的方括号具有相同的高度,那就太好了。
有什么建议么?
PS:我发现,包含额外向量(包括三个点)的唯一方法是附加数组/矩阵环境的组合。有没有更优雅的方法?PSS:我正在使用 TexStudio。是否有类似于 Matlab 的“Ctrl+I”中的“自动对齐标记代码”功能?
\documentclass{article}
\usepackage{amsmath}
\usepackage{arydshln}
\begin{document}
$$
\left[\begin{array}{c}
\begin{matrix} x\\ \vdots\\ x \\ \end{matrix} \\ \hdashline
0 \\ \hdashline
\begin{matrix} x\\ \vdots\\ x \\ \end{matrix} \\
\end{array}\right] =
\left[\begin{array}{c:c}
0 & 0 \\ \hdashline
0 & \underbrace{\bar{X}_{11}}_{\bar{X}_{22}} \\ \hdashline
0 & 0 \\
\end{array}\right]
$$
\end{document}
答案1
\vphantom
可以计算出高度:
\documentclass{article}
\usepackage{amsmath}
\usepackage{arydshln}
\begin{document}
\[
\begin{bmatrix}
~x~\\ \vdots\\ x \\ \hdashline
\vphantom{\overbrace{\bar{X}_1}^{\bar{X}_2}\underbrace{\bar{X}_1}_{\bar{X}_2}} 0 \\ \hdashline
x\\ \vdots\\ x
\end{bmatrix} =
\left[ \begin{array}{c:c}
\phantom{x}\\ \vphantom{\vdots}0 & 0\\ \phantom{x}\\ \hdashline
0 & \vphantom{\overbrace{\bar{X}_1}^{\bar{X}_2}}
\underbrace{\bar{X}_{11}}_{\bar{X}_{22}} \\ \hdashline
\phantom{x}\\ \vphantom{\vdots}0 & 0\\ \phantom{x}
\end{array}\right]
\]
\end{document}
答案2
有了这个,我只需使用一些\mbox
由扩展\rule
s 制成的带有 struts 的 es。
\documentclass{article}
\usepackage{amsmath} % Paket für Mathematische Formeln
\usepackage{arydshln}
\def\mystrutbox#1{\mbox{$#1$\rule[-4ex]{0ex}{10ex}}}
\begin{document}
\[
\left[\begin{array}{c}
\begin{matrix} x\\ \vdots\\ x \\ \end{matrix} \\ \hdashline
\mystrutbox{0} \\ \hdashline
\begin{matrix} x\\ \vdots\\ x \\ \end{matrix} \\
\end{array}\right] =
\left[\begin{array}{c:c}
\,~\mystrutbox{0}~\, & 0 \\ \hdashline
\mystrutbox{0} & \underbrace{\bar{X}_{11}}_{\bar{X}_{22}} \\ \hdashline
\mystrutbox{0} & 0 \\
\end{array}\right]
\]
\end{document}