矩阵内的突出显示框

矩阵内的突出显示框

我试图用以下代码来说明矩阵乘法的工作原理:

\begin{align*}
&  \begin{pmatrix}
     1 &2 \\
    -1 &0 
   \end{pmatrix} \\
   \begin{pmatrix}
    3 & 2 \\
    1 &-2 
\end{pmatrix} & \begin{pmatrix}
    ? & ? \\ ? & ?
\end{pmatrix}
\end{align*}

结果如下:

我想添加一些像这样的突出显示框:

我见过一些制作类似盒子的方法,但它们似乎在矩阵中不能正常工作(用于分隔列的 & 符号在放入盒子中时不起作用)。有没有办法做到这一点,并且与矩阵配合得很好?此外,有没有办法很好地对齐顶部和底部的右矩阵?因为现在它们是在括号处对齐的,看起来有点奇怪。

答案1

您可能希望使用 将整个表达式作为一个数组,nicematrix并使用 添加括号\SubMatrix。可以tikz使用fit库绘制突出显示框。

请注意,这\SubMatrix不会为括号添加空间,因此需要在第 2 列和第 3 列之间添加一些额外的空间。

在此处输入图片描述

\documentclass{article}

\usepackage{nicematrix, tikz}
\usetikzlibrary{fit}

\begin{document}

\[
\begin{NiceArray}{cc@{\hspace{1.5em}}cc}
& & 1 & 2\\
& & -1 & 0\\[1ex]
3 & 2 & ? & ?\\
1 & -2 & ? & ?
\CodeAfter
    \SubMatrix({3-3}{4-4})
    \SubMatrix({1-3}{2-4})
    \SubMatrix({3-1}{4-2})
    \tikz{
        \node [draw, red, fit = (3-1)(3-2), inner sep=1pt]{};
        \node [draw, red, fit = (1-3)(2-3), inner sep=1pt]{};
        \node [draw, red, fit = (3-3), inner sep=1pt]{};
    }
\end{NiceArray}
\]

\end{document}

相关内容