各位。我试图编译一个块矩阵,它的第一行有一个部分应该位于该行的该部分的中心。
我最接近的尝试是代码:
\begin{align}
\mathbf{\hat{F}}_{11}^{(1)-1}
=
\left[
\begin{array}{c|cc}
0 & \mathbf{1}_{10}& \\
\hline
\mathbf{1}_{10}
&
\mathbf{M}_{11}^{(1)} &
\mathbf{M}_{11}^{(1)\ast}\mathbf{\bar{I}}_{5} \\
&
\mathbf{\bar{I}}_{5}\mathbf{M}_{11}^{(1)H} &
\mathbf{\bar{I}}_{5}\mathbf{M}_{11}^{(1)}\mathbf{\bar{I}}_{5}\\
\end{array}
\right]
\end{align}
其结果为:
理想情况下,元素 $1_{10}$ 应该位于第 1 行和第 1 列的中心。有什么技巧吗?
谢谢你!! :)
答案1
我建议您使用\multicolumn{2}{c}{...}
使\mathbf{1}_{10}
第一行跨越第 2 列和第 3 列。您可能还想加载包multirow
并使用诸如此类的指令,\multirow{2}{*}{$\mathbf{1}_{10}$}
以便第二行\mathbf{1}_{10}
跨越第 2 行和第 3 行。(顺便问一下,第二项是否应该\mathbf{1}_{10}
附加一个转置符号?)
\documentclass{article}
\usepackage{multirow} % for `\multirow` macro
\begin{document}
\begin{equation}
\hat{\mathbf{F}}_{11}^{(1)-1}
=
\left[
\begin{array}{c|cc}
0 & \multicolumn{2}{c}{\mathbf{1}_{10}} \\
\hline
\multirow{2}{*}{$\mathbf{1}_{10}$}
&
\mathbf{M}_{11}^{(1)} &
\mathbf{M}_{11}^{(1)\ast}\bar{\mathbf{I}}_{5} \\
&
\bar{\mathbf{I}}_{5}\mathbf{M}_{11}^{(1)H} &
\bar{\mathbf{I}}_{5}\mathbf{M}_{11}^{(1)}\bar{\mathbf{I}}_{5}\\
\end{array}
\right]
\end{equation}
\end{document}
答案2
与。{pNiceArray}
nicematrix
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{equation}
\hat{\mathbf{F}}_{11}^{(1)-1}
=
\begin{bNiceArray}{c|cc}[margin]
0 & \Block{1-2}{\mathbf{1}_{10}} \\
\hline
\Block{2-1}{\mathbf{1}_{10}}
&
\mathbf{M}_{11}^{(1)} &
\mathbf{M}_{11}^{(1)\ast}\bar{\mathbf{I}}_{5} \\
&
\bar{\mathbf{I}}_{5}\mathbf{M}_{11}^{(1)H} &
\bar{\mathbf{I}}_{5}\mathbf{M}_{11}^{(1)}\bar{\mathbf{I}}_{5}\\
\end{bNiceArray}
\end{equation}
\end{document}
您需要进行多次编译(因为nicematrix
在后台使用了 PGF/TikZ 节点)。