Вертикальное выравнивание подфигур LATEX - PullRequest
25 голосов
/ 24 февраля 2010

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

Вот как это выглядит альтернативный текст http://img51.imageshack.us/img51/1174/screenshot20100224at712.png

и мой код:

\begin{figure}[H]
\centering  \subfloat[H][sparse($\mathbf{A}$)]{\includegraphics[width=0.28\textwidth]{sparsesmall} \label{sparse}}
    \subfloat[H][full($\mathbf{A}$)]{\includegraphics[width=0.55\textwidth]{fullsmall}\label{full}}
  \caption{Representation of $\mathbf{A}$ in MATLAB}
  \label{schematic}
\end{figure}

Есть предложения, чтобы он выглядел лучше, чем сейчас? Thx

Ответы [ 4 ]

38 голосов
/ 24 июня 2010

Вы также можете использовать \raisebox{x}{\includegraphics[...]{...}}, где x отрицательно, чтобы сдвинуть его вниз, и положительно, чтобы сдвинуть вверх.

13 голосов
/ 24 февраля 2010

Если вы используете пакет subfig, вы можете сделать это легко.Решение находится в разделе 5.4 руководства :

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

Я не проверял его, и могут быть опечатки, но он должен работать.

1 голос
/ 31 января 2011

Мой метод использует квадратную мини-страницу, которая центрирует ее содержимое:

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

Этот код был сгенерирован LyX, поэтому он немного уродлив.

0 голосов
/ 14 сентября 2013

Другое решение (которое работает с пакетом subcaption

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

Сам по себе \vfill не работает, поэтому его помещают в minipage

...