как соединить две картинки с помощью minipage

как соединить две картинки с помощью minipage

Я хочу разместить две фотографии рядом с помощью мини-страницы, однако, похоже, что две фотографии даже не находятся на одной границе. введите описание изображения здесь

Вот мой код, не могу понять в чем проблема.

\documentclass{article}
\usepackage{tikz}
\begin{figure}[t]
\centering
\begin{minipage}[t]{0.48\linewidth}
\centering
\begin{figure}[H]
\tikzset{
  my box/.style = {draw, minimum width = 2em, minimum height=1em},
}
\begin{tikzpicture}[node distance=4mm]
\node[my box,align=center](s1){$S_1$};
\node[my box,align=center,right = of s1](s2){$S_2$};
\draw[->] (s1)--(s2);
\node[align=center,right = 2mm of s2](s){...};
\node[my box,align=center,right = 2mm of s](s3){$S_n$};
\end{tikzpicture} 
\label{Before POR}
\end{figure}
\end{minipage}
\begin{minipage}[t]{0.48\linewidth}
\begin{figure}[H]
\tikzset{
  my box/.style = {draw, minimum width = 2em, minimum height=1em},
}
\begin{tikzpicture}[node distance=4mm]
\node[my box,align=center](s1){$S_1$};
\node[draw,circle,left = of s1](start){};
\draw[->] (start)--(s1);
\node[draw,diamond,right = of s1](end){};
\draw[->] (s1)--(end);
\draw[->] (end) --++ (0em,1.5em) -| (start);
\node[align=center,above = 1.0em of s1](l){k};
\end{tikzpicture} 
\label{After POR}
\end{figure}
\end{minipage}
\end{figure}
\end{document}

решение1

Один из способов — избегать использования minipage. Среда tikzpictureсоздает блок (блок Текса), и можно размещать блоки так, как вам нужно, с помощью различных инструментов (базовая линия,...), useasboundingboxнапример, вы можете управлять размером блока. Среда minipageинтересна, если вам нужно разместить абзац рядом с изображением. Решением вашей проблемы может быть, возможно, :

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes}
    \tikzset{
      my box/.style = {draw, minimum width = 2em, minimum height=1em},
    }

\begin{document}

\begin{figure}
\hspace*{\fill}\begin{tikzpicture}[node distance=4mm]
\node[my box,align=center](s1){$S_1$};
\node[my box,align=center,right = of s1](s2){$S_2$};
\draw[->] (s1)--(s2);
\node[align=center,right = 2mm of s2](s){...};
\node[my box,align=center,right = 2mm of s](s3){$S_n$};
\node[below] at (current bounding box.south) {label fig one};
\end{tikzpicture}\hspace*{\fill}
\begin{tikzpicture}[node distance=4mm]
\node[my box,align=center](s1){$S_1$};
\node[draw,circle,left = of s1](start){};
\draw[->] (start)--(s1);
\node[draw,diamond,right = of s1](end){};
\draw[->] (s1)--(end);
\draw[->] (end) --++ (0em,1.5em) -| (start);
\node[align=center,above = 1.0em of s1](l){k};
\node[below] at (current bounding box.south) {label fig two};
\end{tikzpicture}\hspace*{\fill}
\caption{Two figures side by-side}
\label{fig:test}
\end{figure}
\end{document}

При необходимости вы можете контролировать ширину каждого изображения.

В этом случае блоки выровнены по низу, но очень легко baselineразместить каждый блок относительно базовой линии. Вы также можете разместить вторую картинку относительно первой с помощью именованного узла.

введите описание изображения здесь

Связанный контент