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 tikzpicture
s 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 subfigure
marcação não estava funcionando muito, então eu apaguei. Aqui eu uso \raisebox
para centralizar verticalmente o tikz.
\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 baseline
estilo para definir o alinhamento vertical. No seu caso
\begin{tikzpicture}[baseline={(n2)}, ...]
deve estar ok.