我有兴趣做以下事情:
我需要显示几个矩阵的结构,忽略每个块内的实际值,但命名(其中一些),如图所示。最好的方法是什么?我想 tikz 可能可以做到这一点,但我对它了解不够。
编辑:
我已成功完成以下操作:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit}
\tikzset{%
highlight/.style={rectangle,rounded corners,fill=blue!15,draw,fill opacity=0.5,thick,inner sep=0pt}
}
\newcommand{\tikzmark}[2]{\tikz[overlay,remember picture,baseline=(#1.base)] \node (#1) {#2};}
%
\newcommand{\Highlight}[1][submatrix]{%
\tikz[overlay,remember picture]{
\node[highlight,fit=(left.north west) (right.south east)] (#1) {};}
}
\begin{document}
\[
M = \left(\begin{array}{*5{c}}
\tikzmark{left}{} & & & & \\
& & & & \tikzmark{right}{} \\
& & & & \\
& & & &
\end{array}\right)
\Highlight[first]
\qquad
\begin{array}{*1{c}}
\end{array}
\]
\end{document}
其结果为:
我无法添加另一个突出显示的块,只出现第二个。
答案1
一个帮助您开始学习TiKZ
矩阵的代码。
\documentclass[tikz, border=2mm]{standalone}
\begin{document}
\begin{tikzpicture}[
mynode/.style={draw, fill=blue!30, minimum width=2cm, minimum height=1.5cm}]
\matrix[row sep=-\pgflinewidth, column sep=-\pgflinewidth,] (A) {
\node[mynode]{$D_1$}; & \node[mynode]{$D_2$}; & \node{\dots}; & \node[mynode]{$D_n$};\\
\node[mynode]{$F_1$};\\
& \node[mynode]{$F_2$};\\
& & \node{$\ddots$};\\
& & &\node[mynode]{$F_n$};\\
};
\end{tikzpicture}
\end{document}