Я пытаюсь выровнять рядом a tikzpicture
(изображение сети) и массив (матрицу), но что бы я ни делал, они не выравниваются правильно. Два массива рядом и два tikzpicture
s рядом выравниваются правильно (на одной строке), но когда я смешиваю их, возникает проблема. Я еще не нашел поста, посвященного этим двум средам в подрисунке. Вот мой код:
\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}
Как вы видите, вы получаете сетевую фигуру, а затем массив на том, что кажется еще одной линией по диагонали ниже (справа) сети. Я хочу, чтобы они были просто рядом.
решение1
У вас много поддельного, $
и subfigure
разметка не делала многого, поэтому я ее удалил. Здесь я использую \raisebox
для вертикального центрирования 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}
решение2
Вы можете использовать baseline
стиль для установки вертикального выравнивания. В вашем случае
\begin{tikzpicture}[baseline={(n2)}, ...]
должно быть хорошо.