Subnós em um vetor no TikzEdt

Subnós em um vetor no TikzEdt

Estou tentando exibir dois vetores em dois nós diferentes e, em seguida, vincular alguns elementos usando setas.

\tikzstyle{line} = [draw, -latex']        
    \begin{tikzpicture}[node distance = 2cm,auto,remember picture]
        % Place nodes       
        \node [draw,rounded corners] (node1) {$\matrix[mymatrix, name=M1]{
                                                                1 \\
                                                        |[!]|   2\rho\pi \\
                                                        |[draw,rounded corners,fill=blue]|   3\\
                                                    }$};

     \node [draw,rounded corners] (node1) {$\matrix[mymatrix, name=M2]{
                                                                4 \\
                                                        |[!]|   2\lambda\pi \\
                                                        |[draw,rounded corners,fill=yellow]|   3\\
                                                    }$};    
   \draw [red, >=stealth, <->, shorten <= 3pt, shorten >=3 pt]
 (M1-2-1.south east) to[bend left=60] (M2-3-1.north east);     
    \end{tikzpicture}

No meu preâmbulo do Tikz, tenho a seguinte declaração de pacote

\documentclass{article,fleqn}
\usepackage{tikz,amsmath, amssymb,bm,color,automata,matrix,positioning,fit}
\usepackage[margin=0cm,nohead]{geometry}
\usepackage[active,tightpage]{preview}
\usetikzlibrary{shapes,arrows}
% needed for BB
\usetikzlibrary{calc}
\usetikzlibrary{topaths}
\usetikzlibrary{decorations}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{calc}
\usetikzlibrary{tikzmark}

\usetikzlibrary{topaths}
\usetikzlibrary{backgrounds}
\usepackage{todonotes}

%To be able to use 
\tikzset{
    !/.style = {
        fill=yellow!30,
    },
    mymatrix/.style = {
        matrix of math nodes,
        left delimiter  = (,
        right delimiter = ),
        nodes={minimum width=6ex},
    }
}
\tikzset{every picture/.style=remember picture}

\PreviewEnvironment{tikzpicture}

Provavelmente estou usando mais do que o necessário, mas tenho outros arquivos. Tikz está me dando o seguinte erro:

Package amsmath Error: Old form '\matrix' should be \begin{\matrix}..de[draw,rounded corners](node1){$\matrix(followed by: [mymatrix, na 

Já usei isso no Latex (graças à ajuda de alguns usuários do stackeschange), mas não consigo fazer funcionar no Tikz. Se alguém tiver uma sugestão, por favor...

Saúde.

Responder1

Seu código tem muitos problemas sintáticos.

No código abaixo mostro duas possibilidades; o destaque foi feito usando o \tcbhighmathcomando dotcolorboxpacote; as setas adicionais foram desenhadas com a ajuda dotikzmarkbiblioteca:

\documentclass{article}
\usepackage{amsmath}
\usepackage[most]{tcolorbox}
\usetikzlibrary{tikzmark,positioning}

\tcbset{
myformulai/.style={
  colback=yellow!30,
  colframe=yellow!30,
  left=2pt,right=2pt,top=0pt,bottom=0pt,
  },
myformulaii/.style={
  colback=blue!30,
  boxrule=0.4pt,
  colframe=blue!30!black,
  left=2pt,right=2pt,top=0pt,bottom=0pt,
  },
myformulaiii/.style={
  colback=white,
  colframe=black,
  boxrule=0.4pt,
  left=2pt,right=2pt,top=0pt,bottom=0pt,
  }
}

\begin{document}

\[
\tcbhighmath[myformulaiii]{%
\begin{pmatrix}
     1 \\ \tcbhighmath[myformulai]{2\rho\pi\tikzmark{a}} \\ \tcbhighmath[myformulaii]{3}
\end{pmatrix}}
\]

\[
\tcbhighmath[myformulaiii]{%
\begin{pmatrix}
     1 \\ \tcbhighmath[myformulai]{2\rho \pi} \\ \tcbhighmath[myformulaii]{3}\tikzmark{b}
\end{pmatrix}}
\]

\begin{tikzpicture}[remember picture, overlay]
\draw [red, >=stealth, <->, shorten <= 3pt, shorten >=3 pt,overlay]
 (pic cs:a) to[bend left=90] (pic cs:b);
\end{tikzpicture}

\begin{center}
\begin{tikzpicture}[remember picture, overlay]
\node[rounded corners,draw] (mat1)
{
$\begin{pmatrix}
     1 \\ \tcbhighmath[myformulai]{2\rho\pi\tikzmark{c}} \\ \tcbhighmath[myformulaii]{3}
\end{pmatrix}$
};

\node[rounded corners,draw,below=of mat1] (mat2)
{
$\begin{pmatrix}
     1 \\ \tcbhighmath[myformulai]{2\rho \pi} \\ \tcbhighmath[myformulaii]{3}\tikzmark{d}
\end{pmatrix}$
};

\draw [red, >=stealth, <->, shorten <= 3pt, shorten >=3 pt,overlay]
 (pic cs:c) to[bend left=90] (pic cs:d);
\end{tikzpicture}
\end{center}

\end{document}

insira a descrição da imagem aqui

informação relacionada