2
votes

Mettez deux images avec des légendes côte à côte et contrôlez leur hauteur en Latex

Je souhaite aligner deux images dans une présentation latex / beamer. Ils n'ont pas le même rapport largeur / hauteur et j'aimerais contrôler la hauteur totale.

Si je n'ai pas besoin de légendes, ce qui suit fonctionne très bien:

\includegraphics[height=0.35\textheight]{im1.png}
\hfill
\includegraphics[height=0.35\textheight]{im2.png}

Notez ici que je n'ai pas besoin de saisir la largeur de l'image et que je ne veux pas.

Mais dès que j'ai besoin de mettre une légende, en utilisant deux environnements de figure , mettez les chiffres sur deux lignes. La solution serait d'insérer les deux environnements de figure dans des minipages, mais je devrais alors calculer la largeur des deux minipages pour être en accord avec la hauteur moyenne que je souhaite.

Est-il possible d'éviter de calculer la largeur des minipages?


0 commentaires

3 Réponses :


3
votes

Vous pouvez mettre vos images dans un tableau.

Vous pouvez ajouter de petites légendes et elles s'adapteront à la largeur de votre colonne.
Le seul problème est lorsque votre légende s'étend sur plusieurs lignes. Dans ce cas, columntype doit être p , mais il n'est pas possible de définir ou de changer le type de colonne en paragraphe sans connaître sa largeur.

Une solution consiste à utiliser le tableau. Il est fondamentalement identique à tabular* et nécessite la largeur totale du tableau. Mais les colonnes seront ajustées à la plus grande largeur naturelle de leurs cellules et formatées en paragraphes en fonction du spécificateur de colonne: centrée (C), irrégulière à gauche (L), droite (R) ou justifiée (J).

Voici un exemple qui illustre les deux méthodes.

\documentclass[array]{article}

\usepackage{graphicx}
\usepackage{tabulary}

\begin{document}
\begin{tabular}{cc}
  \includegraphics[height=0.25\textheight]{mushr1}
  &
  \includegraphics[height=0.25\textheight]{mushr2}
   \\                                                     
   Mushroom 1&Mushroom 2
 \end{tabular}

\begin{tabulary}{\linewidth}{CC}
  \includegraphics[height=0.25\textheight]{mushr1}
  &
  \includegraphics[height=0.25\textheight]{mushr2}
   \\                                                     
   Look how beautiful are these mushrooms!&
   Some others beautiful mushrooms. But these ones are very dangerous. Never eat them!
 \end{tabulary}
\end{document}

entrez la description de l'image ici

Le centrage et la justification sont loin d'être parfaits, mais cela peut être un point de départ.


0 commentaires

2
votes

Pour avoir de vraies légendes au format beamer, le package varwidth peut vous aider:

\documentclass{beamer}
\usepackage{varwidth}

\begin{document}

\begin{frame}
    \begin{varwidth}{\textwidth}
        \begin{figure}
            \includegraphics[height=0.45\textheight]{example-image-duck}
            \caption{text}
        \end{figure}
    \end{varwidth}
    \hfill
    \begin{varwidth}{\textwidth}
        \begin{figure}
            \includegraphics[height=0.45\textheight]{example-image-golden-upright}
            \caption{text}
        \end{figure}
    \end{varwidth}
\end{frame} 

\end{document}

entrez la description de l'image ici


0 commentaires

0
votes

Dans Beamer, j'ai essayé à la fois \ column et \ minipage environmnet pour mettre les chiffres côte à côte. Mais ne fonctionnait pas correctement et problèmes d'alignement. Enfin, la solution suivante a fonctionné en utilisant \usepackage{subfigure}.

\begin{figure}
    \centering
    \mbox{\subfigure{\includegraphics[width=5.5cm, height=4.8cm]{suppopicture3}}\quad
        \subfigure{\includegraphics[width=3.0cm, height=4.5cm]{Figure 3_HR-TEM_result} }}
    \caption{Text pertaining to both graphs ...} \label{fig12}
\end{figure}

Réf: - https://www.johndcook.com/blog/2009/01/14/how-to-display-side-by-side-figurs-in-latex/


0 commentaires