答案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 的建议,三角形也可以是圆形的: