
Ich versuche, zwei Vektoren in zwei verschiedenen Knoten anzuzeigen und dann einige Elemente mit Pfeilen zu verknüpfen.
\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}
In meiner Tikz-Präambel habe ich die folgende Paketdeklaration
\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}
Wahrscheinlich verwende ich mehr als erforderlich, aber ich habe andere Dateien. Tikz gibt mir den folgenden Fehler aus:
Package amsmath Error: Old form '\matrix' should be \begin{\matrix}..de[draw,rounded corners](node1){$\matrix(followed by: [mymatrix, na
Ich habe das bereits in Latex verwendet (dank der Hilfe einiger Stackeschange-Benutzer), aber ich kriege es in Tikz einfach nicht zum Laufen. Wenn jemand einen Vorschlag hat, dann bitte …
Prost.
Antwort1
Ihr Code weist viele syntaktische Probleme auf.
Im folgenden Code zeige ich zwei Möglichkeiten; die Hervorhebung erfolgte mit dem \tcbhighmath
Befehl aus demtcolorbox
Paket; die zusätzlichen Pfeile wurden mit Hilfe destikzmark
Bibliothek:
\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}