tikzpicture e array lado a lado na subfigura não se alinham

tikzpicture e array lado a lado na subfigura não se alinham

Estou tentando alinhar lado a lado a tikzpicture(uma imagem de uma rede) e uma matriz (uma matriz), mas não importa o que eu faça, eles não se alinharão corretamente. Duas matrizes lado a lado e dois tikzpictures lado a lado se alinham corretamente (na mesma linha), mas quando misturo os dois, tenho um problema. Ainda não encontrei um post tratando desses dois ambientes em uma subfigura. Aqui está o meu código:

\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}

Como você pode ver, o que você obtém é a figura da rede e depois a matriz no que parece ser outra linha diagonalmente abaixo (à direita) da rede. Eu os quero lado a lado.

Responder1

Você tem muitos itens espúrios $e a subfiguremarcação não estava funcionando muito, então eu apaguei. Aqui eu uso \raiseboxpara centralizar verticalmente o tikz.

insira a descrição da imagem aqui

\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}

Responder2

Você pode usar baselineestilo para definir o alinhamento vertical. No seu caso

\begin{tikzpicture}[baseline={(n2)}, ...]

deve estar ok.

informação relacionada