web-dev-qa-db-fra.com

Alignement vertical des sous-figures LATEX

Je travaille sur ma thèse et j'ai du mal à placer 2 images côte à côte, pour que la deuxième image soit centrée verticalement le long de la première. J'essayais également d'utiliser subfigure au lieu de subfloat mais aucun d'eux ne fonctionne.

Voici à quoi cela ressemble texte alternatif http://img51.imageshack.us/img51/1174/screenshot20100224at712.png

et mon code est:

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

Avez-vous des suggestions pour le rendre meilleur que maintenant? THX

25
Veronika D

Si vous utilisez le package subfig, vous pouvez le faire facilement. La solution est dans la section 5.4 de le manuel :

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

Je ne l'ai pas testé et il peut y avoir des fautes de frappe, mais cela devrait fonctionner.

13
Alok Singhal

Vous pouvez aussi utiliser \raisebox{x}{\includegraphics[...]{...}}x est négatif pour le déplacer vers le bas et positif pour le déplacer vers le haut.

38
krashalot

Ma méthode utilise une minipage carrée qui centre son contenu:

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

Ce code a cependant été généré par LyX, donc c'est un peu moche.

1
valhallasw

Une autre solution (qui fonctionne avec le package subcaption est

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

Le \vfill seul ne fonctionne pas, c'est pourquoi il est placé dans le minipage

0
Jonas