使用 Tikz 在矩阵上绘制一些特定形状

使用 Tikz 在矩阵上绘制一些特定形状

我是 Tikz 的新手,我有一个矩阵,它是三个矩阵 L、D、U 的总和。为了说明这些部分,我想使用 Tikz 生成以下图像: 在此处输入图片描述

我该怎么做呢?如能得到任何帮助我将非常感激!

梅威瑟:

\documentclass{report}
\usepackage{amsmath}
\begin{document}
$M=L+D+U = \begin{bmatrix} a & b & c\\ d & e & f\\ g &  h & i \end{bmatrix}$
\end{document}

答案1

这是一个建议。它本质上非常简单,您只需matrix以通常的方式创建一个 TikZ,然后使用节点的坐标绘制彩色线条。为了确保绿线不会位于红线和蓝线之上,我已调整了它使用的坐标0.5mm,这由我保存为的变量控制\offset

text width此外,我为节点设置了并使用align=center。这有助于在矩阵周围放置外部方括号。

在此处输入图片描述

代码

\documentclass[margin=0.5cm]{standalone}

\usepackage{tikz}
\usetikzlibrary{matrix,decorations.pathreplacing}
\pgfkeys{tikz/mymatrixenv/.style={decoration=brace,every left delimiter/.style={xshift=4pt},every right delimiter/.style={xshift=-4pt}}}
\pgfkeys{tikz/mymatrix/.style={matrix of math nodes,left delimiter=[,right delimiter={]},inner sep=1pt,row sep=0em,column sep=0em,nodes={inner sep=6pt}}}

\begin{document}

\begin{tikzpicture}[baseline=0cm,mymatrixenv]
    \matrix [mymatrix,text width=0.6em,align=center] (m)  
    {
    a & b & c \\ 
    d & e & f \\
    g & h & i \\
    };
    \pgfmathsetmacro{\offset}{0.5mm}
    \draw [thick,blue] (m-1-1.west) |- (m-3-3.south) -- cycle;
    \draw [thick,red] (m-1-1.north) -| (m-3-3.east) -- cycle;
    \draw [thick,green,rounded corners=1mm] ([yshift=\offset]m-1-1.west) -- ([xshift=-\offset]m-1-1.north) -- ([yshift=-\offset]m-3-3.east) -- ([xshift=\offset]m-3-3.south) -- cycle;
\end{tikzpicture}

\end{document}

按照@Sigur 的建议,三角形也可以是圆形的:

在此处输入图片描述

相关内容