Vertical alignment of subfigures LATEX

前端 未结 4 1055
执笔经年
执笔经年 2021-01-31 04:04

I am working on my thesis and I am struggling with placing 2 images next to each other, so that the second image would be centered vertically along the first one. I was also try

相关标签:
4条回答
  • 2021-01-31 04:39

    My method is using square minipage which centers its contents:

    \begin{figure}
    \subfloat[Figure a]{%
    \begin{minipage}[c][1\width]{0.5\textwidth}%
    \includegraphics[clip,width=1\textwidth]{figurea}%
    \end{minipage}}\subfloat[Figure b]{\centering{}%
    \begin{minipage}[c][1\width]{0.5\textwidth}%
    \begin{center}
    \includegraphics[clip,width=0.6\textwidth]{figureb}
    \par\end{center}%
    \end{minipage}}
    \caption{main caption}
    \end{figure}
    

    This code was generated by LyX, however, so it's a bit ugly.

    0 讨论(0)
  • 2021-01-31 04:43

    Another solution (which works with the subcaption package is

    \begin{figure}[p]
            \centering
            \begin{subfigure}{.49\linewidth}
                \centering
                \caption{Large Picture}
                \includegraphics{LARGEPIC}
            \end{subfigure}
            \hfill
            \begin{subfigure}{.49\linewidth}
                \centering
                \caption{SMALL PIC}
                \includegraphics{small picture}
                \begin{minipage}{.1cm}
                \vfill
                \end{minipage}
            \end{subfigure} 
            \caption{Two pictures}
    \end{figure}
    

    The \vfill alone does not work, that's why it is put into the minipage

    0 讨论(0)
  • 2021-01-31 04:48

    Edit: it seems like subfig package has problems, particularly when working with hyperref. In that case, try subcaption package as mentioned in this answer.

    If you use subfig package, you can do this easily. The solution is in section 5.4 of the manual:

    \newsavebox{\tempbox}
    \begin{figure}[H]
    \sbox{\tempbox}{\includegraphics[width=0.28\textwidth]{sparsesmall}}
    \subfloat[sparse($\mathbf{A}$)]{\usebox{\tempbox}\label{sparse}}%
    \qquad
    \subfloat[full($\mathbf{A}$)]{\vbox to \ht\tempbox{%
      \vfil
      \includegraphics[width=0.55\textwidth]{fullsmall}
      \vfil}\label{full}}%
      \caption{Representation of $\mathbf{A}$ in MATLAB}\label{schematic}
    \end{figure}
    

    I haven't tested it, and there may be typos, but it should work.

    0 讨论(0)
  • 2021-01-31 04:54

    You can also use \raisebox{x}{\includegraphics[...]{...}} where x is negative to shift it downwards and positive to shift upwards.

    0 讨论(0)
提交回复
热议问题