将 4 个子矩阵分成一个矩阵,形成一个矩形或正方形

将 4 个子矩阵分成一个矩阵,形成一个矩形或正方形

我已将此代码从nicematrix包文档中取出,移至 2021/03/10 的第 44/208 页,版本 5.12。

在此处输入图片描述

  1. 同时我出现了这个编译错误:为什么?(我最近在 OS W7-32bit 上更新了 MikTeX)。

    \documentclass[a4paper,12pt]{article}
    \usepackage{nicematrix,tikz}
    \begin{document}
    $\begin{pNiceMatrix}[margin,create-medium-nodes]
    \Block{3-3}<\Large>{A} & & & 0 \\
    & \hspace*{1cm} & & \Vdots \\
    & & & 0 \\
    0 & \Cdots& 0 & 0
    \CodeAfter
    \tikz \node [highlight = (1-1-block-medium)] {} ;
    \end{pNiceMatrix}$
    \end{document}
    

    ! 软件包 pgfkeys 错误:我不知道您传递了“(1-1-block-medium)”的密钥“/tikz/highlight”,我将忽略它。也许您拼错了。请参阅 pgfkeys 软件包文档以获取解释。键入 H 可立即获得帮助。...
    l.12 \end{pNiceMatrix} $ ?

  2. 如果我必须绘制一个带有四个矩形或正方形的矩阵,其中是矩阵的元素。这可能吗?

在此处输入图片描述

答案1

该密钥highlight先前已在文档(的文档nicematrix)中定义。


对于您想要的构造,首先考虑以下矩阵。

\documentclass{standalone}
\usepackage{nicematrix}

\begin{document}
\(\begin{pNiceArray}{cc|cc}
\frac{(a^2+b^2)^2}{A^2+B^2} & \frac{2ab}{a+b} & A^2+B^2 & \frac{a^2+b^2}{2} \\
0 & \frac{a^2+b^2}{2} & \frac{(a^2+b^2)^2}{A^2+B^2} & \frac{2ab}{a+b} \\
\hline
2A^2+2B^2 & 0 & \frac{2ab}{a+b} & \frac{(a^2+b^2)^2}{A^2+B^2}  \\
\frac{2ab}{a+b} & \frac{(a^2+b^2)^2}{A^2+B^2} & 0 & \frac{a^2+b^2}{2} \\
\end{pNiceArray}\)
\end{document}

第一个矩阵

在绘制框架之前,您必须添加空间。对于垂直空间,我使用了\vskip一些\noalign

\documentclass{standalone}
\usepackage{nicematrix}

\begin{document}
$\begin{pNiceArray}{cc|cc}[margin=2pt]
\noalign{\vskip\smallskipamount}
\frac{(a^2+b^2)^2}{A^2+B^2} & \frac{2ab}{a+b} & A^2+B^2 & \frac{a^2+b^2}{2} \\
0 & \frac{a^2+b^2}{2} & \frac{(a^2+b^2)^2}{A^2+B^2} & \frac{2ab}{a+b} \\[4pt]
\hline
\noalign{\vskip4pt}
2A^2+2B^2 & 0 & \frac{2ab}{a+b} & \frac{(a^2+b^2)^2}{A^2+B^2}  \\
\frac{2ab}{a+b} & \frac{(a^2+b^2)^2}{A^2+B^2} & 0 & \frac{a^2+b^2}{2} \\
\noalign{\vskip\smallskipamount}
\end{pNiceArray}$

\end{document}

第二个矩阵

您现在可以在 中使用 Tikz 绘制框架\CodeAfter

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

\begin{document}
\tikzset{highlight/.style={rectangle,
                           draw=blue,
                           rounded corners = 0.5 mm, 
                           inner sep=1pt,
                           fit=#1}}
$\begin{pNiceArray}{cc|cc}[margin=2pt]
\noalign{\vskip\smallskipamount}
\frac{(a^2+b^2)^2}{A^2+B^2} & \frac{2ab}{a+b} & A^2+B^2 & \frac{a^2+b^2}{2} \\
0 & \frac{a^2+b^2}{2} & \frac{(a^2+b^2)^2}{A^2+B^2} & \frac{2ab}{a+b} \\[4pt]
\hline
\noalign{\vskip4pt}
2A^2+2B^2 & 0 & \frac{2ab}{a+b} & \frac{(a^2+b^2)^2}{A^2+B^2}  \\
\frac{2ab}{a+b} & \frac{(a^2+b^2)^2}{A^2+B^2} & 0 & \frac{a^2+b^2}{2} \\
\noalign{\vskip\smallskipamount}
\CodeAfter
\begin{tikzpicture}
\node [highlight=(1-1)(1-2)(2-1)(2-2)] {} ; 
\node [highlight=(1-3)(1-4)(2-3)(2-4)] {} ; 
\node [highlight=(3-1)(3-2)(4-1)(4-2)] {} ;
\node [highlight=(3-3)(3-4)(4-3)(4-4)] {} ;
\end{tikzpicture}
\end{pNiceArray}$

\end{document}

第三矩阵

也许您希望四个蓝色框架具有同质性。在这种情况下,您应该使用medium节点(由 创建nicematrix)。

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

\begin{document}
\tikzset{highlight/.style={rectangle,
                           draw=blue,
                           rounded corners = 0.5 mm, 
                           inner sep=1pt,
                           fit=#1}}
$\begin{pNiceArray}{cc|cc}[margin=2pt,create-medium-nodes]
\noalign{\vskip\smallskipamount}
\frac{(a^2+b^2)^2}{A^2+B^2} & \frac{2ab}{a+b} & A^2+B^2 & \frac{a^2+b^2}{2} \\
0 & \frac{a^2+b^2}{2} & \frac{(a^2+b^2)^2}{A^2+B^2} & \frac{2ab}{a+b} \\[4pt]
\hline
\noalign{\vskip4pt}
2A^2+2B^2 & 0 & \frac{2ab}{a+b} & \frac{(a^2+b^2)^2}{A^2+B^2}  \\
\frac{2ab}{a+b} & \frac{(a^2+b^2)^2}{A^2+B^2} & 0 & \frac{a^2+b^2}{2} \\
\noalign{\vskip\smallskipamount}
\CodeAfter
\begin{tikzpicture}[name suffix = -medium]
\node [highlight=(1-1)(1-2)(2-1)(2-2)] {} ; 
\node [highlight=(1-3)(1-4)(2-3)(2-4)] {} ; 
\node [highlight=(3-1)(3-2)(4-1)(4-2)] {} ;
\node [highlight=(3-3)(3-4)(4-3)(4-4)] {} ;
\end{tikzpicture}
\end{pNiceArray}$

\end{document}

第四个矩阵

相关内容