
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 \tcbhighmath
comando dotcolorbox
pacote; as setas adicionais foram desenhadas com a ajuda dotikzmark
biblioteca:
\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}