tikzpicture
Ich versuche, ein (ein Bild eines Netzwerks) und ein Array (eine Matrix) nebeneinander auszurichten, aber egal, was ich mache, sie werden nicht richtig ausgerichtet. Zwei Arrays nebeneinander und zwei tikzpicture
s nebeneinander werden korrekt ausgerichtet (in derselben Zeile), aber wenn ich die beiden mische, bekomme ich ein Problem. Ich habe noch keinen Beitrag gefunden, der sich mit diesen beiden Umgebungen in einer Unterabbildung befasst. Hier ist mein Code:
\documentclass[12ptm]{article}
\usepackage{amsmath, amsthm}
\usepackage{tikz}
\usepackage{graphicx}
\usetikzlibrary{arrows}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\begin{subfigure}[t]{0.1\textwidth}
\centering
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=1.5cm,
thick,main node/.style={circle,draw,font=\Large\bfseries}]
\tikzstyle{every node}=[draw,shape=circle];
\node[draw=none, shape=circle,scale=0.02cm, fill=none] (n1) {} ;
\node[draw,shape=circle,scale=0.02cm, main node](n2) [left of=n1] {$M$} ;
\node[draw,shape=circle,scale=0.02cm, main node] (n4) [above of=n1] {1} ;
\node[draw,shape=circle,scale=0.02cm, main node] (n3) [below of=n1] {3} ;
\node[draw,shape=circle,scale=0.02cm, main node] (n5) [right of=n1] {2} ;
\draw[<->] (n2) to[bend left=30] (n4);
\draw[<->] (n2) to[bend right=30] (n3);
\draw[->] (n4) to[bend left=30] (n5);
\draw[<->] (n3) to (n4);
\end{tikzpicture}
\end{subfigure}
\begin{subfigure}[t]{0.4\textwidth}
\centering
\[
\begin{array}{cccc}
\begin{array}{cccc}
\\
&A & &\;B\\
\end{array}
\\
\begin{array}{cc}
a \\
\\
b\\
\end{array}
\begin{array}{|cc|cc|}
\hline
$6$&&$2$&\\
&$6$&&$7$\\ \hline
$7$&&$0$&\\
&$2$&&$0$\\ \hline
\end{array}
\end{array}
\]
\end{subfigure}
\end{figure}
\end{document}
Wie Sie sehen, erhalten Sie die Netzwerkfigur und dann das Array auf einer scheinbar weiteren Linie diagonal unter (rechts) des Netzwerks. Ich möchte sie einfach nebeneinander haben.
Antwort1
Sie haben viele Fehler $
und die subfigure
Markierungen haben nicht viel bewirkt, also habe ich sie gelöscht. Hier \raisebox
zentriere ich das Tikz vertikal.
\documentclass[12ptm]{article}
\usepackage{amsmath, amsthm}
\usepackage{tikz}
\usepackage{graphicx}
\usetikzlibrary{arrows}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\raisebox{-.5\totalheight}{\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=1.5cm,
thick,main node/.style={circle,draw,font=\Large\bfseries},
align=center]
\tikzstyle{every node}=[draw,shape=circle];
\node[draw=none, shape=circle,scale=0.02cm, fill=none] (n1) {} ;
\node[draw,shape=circle,scale=0.02cm, main node](n2) [left of=n1] {$M$} ;
\node[draw,shape=circle,scale=0.02cm, main node] (n4) [above of=n1] {1} ;
\node[draw,shape=circle,scale=0.02cm, main node] (n3) [below of=n1] {3} ;
\node[draw,shape=circle,scale=0.02cm, main node] (n5) [right of=n1] {2} ;
\draw[<->] (n2) to[bend left=30] (n4);
\draw[<->] (n2) to[bend right=30] (n3);
\draw[->] (n4) to[bend left=30] (n5);
\draw[<->] (n3) to (n4);
\end{tikzpicture}}
$\begin{array}{cccc}
\begin{array}{cccc}
\\
&A & &\;B\\
\end{array}
\\
\begin{array}{cc}
a \\
\\
b\\
\end{array}
\begin{array}{|cc|cc|}
\hline
6&&2&\\
&6&&7\\ \hline
7&&0&\\
&2&&0\\ \hline
\end{array}
\end{array}
$
\end{figure}
\end{document}
Antwort2
Sie können baseline
den Stil verwenden, um die vertikale Ausrichtung festzulegen. In Ihrem Fall
\begin{tikzpicture}[baseline={(n2)}, ...]
sollte in Ordnung sein.