como juntar duas fotos usando minipágina

como juntar duas fotos usando minipágina

Desejo colocar duas fotos lado a lado usando minipágina, porém parece que as duas fotos nem estão na mesma borda. insira a descrição da imagem aqui

Aqui está o meu código, não consigo descobrir qual é o problema.

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

Responder1

Uma maneira é evitar usar minipage. O ambiente tikzpictureproduz uma caixa (caixa do Tex) e é possível colocar caixas como quiser com diferentes ferramentas (baseline,...) com as quais você pode controlar o tamanho da caixa, useasboundingboxpor exemplo. O ambiente minipageé interessante se você precisar colocar um parágrafo lado a lado com uma imagem. Uma solução para o seu problema pode ser talvez:

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

Se necessário você pode controlar a largura de cada imagem.

As caixas neste caso são alinhadas pela parte inferior, mas é muito fácil baselinecolocar cada caixa relativamente à linha de base. Você também pode colocar a segunda imagem em relação à primeira com o uso do nó nomeado.

insira a descrição da imagem aqui

informação relacionada