乳胶基质产品

乳胶基质产品

如果我能用这种简洁的(尽管绝对不是原创的)方式在 LaTeX 中呈现矩阵乘积,我会非常高兴:

Neato 矩阵产品

如果可能的话,我想要一个代码相当简单,不使用 tikz,而是依赖于数组环境。

有没有什么办法可以做到呢?

答案1

第一种方法nicematrix

\documentclass{article}
\usepackage{nicematrix,tikz}

\begin{document}

$\begin{NiceArray}
  [xdots/line-style={solid,<->},cell-space-limits=10pt]
  {ccccccw{c}{5mm}}
& \hspace*{10mm}  & \hspace*{10mm}  & & \Hdotsfor[shorten=-\arraycolsep]{1}^r & \Hdotsfor[shorten=-\arraycolsep]{1}^{n-r}\\
&   &   & & A'      & B' & \Vdotsfor[shorten=0pt]{1}^{q}\\
&   &   & & C'      & D' & \Vdotsfor[shorten=0pt]{1}^{n-q}\\
& \Hdotsfor[shorten=-\arraycolsep]{1}^q & \Hdotsfor[shorten=-\arraycolsep]{1}^{n-q}\\
& A & B & & AA'+BC' & AB'+BD' & \Vdotsfor[shorten=0pt]{1}^{p}\\
& C & D & & CA'+DC' & CB'+DD' & \Vdotsfor[shorten=0pt]{1}^{n-p}\\
&   &   & & \Hdotsfor[shorten=-\arraycolsep]{1}^{r}  & \Hdotsfor[shorten=-\arraycolsep]{1}^{n-r} \\
\CodeAfter
  \SubMatrix({2-5}{3-6})[hvlines]
  \SubMatrix({5-5}{6-6})[hvlines]
  \SubMatrix({5-2}{6-3})[hvlines]
\end{NiceArray}$

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容