[Tex/LaTex] compare two diagrams side by side

graphicssubcaptionsubfloats

I'm trying to compare two diagrams in pdf format side by side.
I have this post – Two figures side by side to get some hint.

This is the code that I'm coming up with.

\begin{figure}
\begin{minipage}[t]{0.45\linewidth}
\includegraphics[scale=0.30]{before.pdf}
\caption{(a) Before}
\end{minipage}%

\hfill\vrule\hfill
\begin{minipage}[t]{0.45\linewidth}
\includegraphics[scale=0.3]{after.pdf}
\caption{(b) After}
\end{minipage}%
\caption{Hello}
\end{figure}

And this is the result, which is not exactly what I expected.

enter image description here

  • What modifications are needed to make the pictures sit side by side?
  • I just want the caption (a) Before and (b) After without any Figure prepended. What should I do?

Best Answer

Although you can solve perfectly the problem with minipages, for sub-figures with captions enumerated with letters (a,b,..) you can use also the package subcaption to simplify a little your code, as you do not need write "(a)" and "(b)", but mainly because the flexibility that you have with this package, as listing the subfigures. Note that neither is it necessary in the MWE the use of \centering nor include file extension (.pdf).

Note: Remove the demo option in graphicx package to use your diagrams instead of the black boxes:

\documentclass{article}
\usepackage[demo]{graphicx} % remove option for real images
\usepackage[list=true]{subcaption}

\begin{document}
\listoffigures    
\vspace{3cm}

\begin{figure}[h]%

\begin{subfigure}[h]{0.4\textwidth}
\includegraphics[width=\textwidth]{before}
\caption{Before}
\end{subfigure}
\hfill\vrule\hfill
\begin{subfigure}[h]{0.4\textwidth}
\includegraphics[width=\textwidth]{after}
\caption{After}
\end{subfigure}%

\caption[Hello]{Hello, this a minimal working example}
\end{figure}
\end{document}

enter image description here

Alternatively you can use also subfig or subfigure packages for the same reasons. See Setting default distance between subfigures for examples with these packages.