web-dev-qa-db-fra.com

Comment forcer deux chiffres à rester sur la même page dans LaTeX?

J'ai deux images que je veux afficher sur une page sous forme de chiffres. Chacun mange un peu moins de la moitié de l'espace disponible, il n'y a donc pas beaucoup de place pour d'autres éléments sur cette page, mais je sais qu'il y a suffisamment d'espace pour les deux figures. J'ai essayé de placer les figures avec [ht] et [hb], à la fois [h] et les deux [ht] mais je ne peux toujours pas obtenir ces deux images sur la même page, mais au moins quelques paragraphes entre elles.

Comment puis-je forcer ces deux chiffres à rester sur la même page?

79
Kusti

Vous pouvez mettre deux figures dans un environnement de figure. Par exemple:

\begin{figure}[p]
\centering
\includegraphics{fig1}
\caption{Caption 1}
\includegraphics{fig2}
\caption{Caption 2}
\end{figure}

Chaque légende générera un numéro de figure distinct.

126
Rob Hyndman

Si vous voulez avoir des images sur le même sujet, vous pouvez utiliser le package et la construction subfigure:

\begin{figure}
 \subfigure[first image]{\includegraphics{image}\label{first}}
 \subfigure[second image]{\includegraphics{image}\label{second}}
 \caption{main caption}\label{main_label}
\end{figure}

Si vous souhaitez avoir, par exemple deux images différentes, l'une à côté de l'autre, vous pouvez utiliser:

\begin{figure}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{first}
 \end{minipage}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{second}
 \end{minipage}
\end{figure}

Pour les images en colonnes, vous aurez [1] [2] [3] [4] dans le source, mais cela ressemblera à

[1] [3]

[2] [4].

20
Crowley

J'ai eu ce problème en essayant de mélanger des chiffres et du texte. Ce qui a fonctionné pour moi était l'option "H" sans le "!" option. \begin{figure}[H]
'H' essaie de forcer le chiffre à être exactement là où vous le mettez dans le code. Cela nécessite que vous incluiez \usepackage{float}

Les options sont expliquées ici

13
Schroeder

Si vous voulez les deux sur la même page et qu'ils occupent la totalité de la page, alors la meilleure idée est de dire à LaTeX de les mettre tous les deux sur une page à part!

\begin{figure}[p]

Il serait probablement contraire aux principes typographiques valables (par exemple, laid) d’avoir deux chiffres sur une page avec seulement quelques lignes de texte au-dessus ou au-dessous d’eux.


À propos, la raison pour laquelle [!h] _ fonctionne parce qu’elle dit à LaTeX de remplacer ses restrictions habituelles sur la quantité d’espace réservée aux flottants sur une page contenant du texte. Comme suggéré ci-dessus, il y a une raison pour laquelle les restrictions sont là. Ce qui ne veut pas dire qu'ils peuvent être quelque peu desserrés; voir le FAQ pour le faire.

5
Will Robertson

Essayez d'ajouter un !, par exemple. [h!].

2
Bastien Léonard

essayez d'abord [h!], mais sinon vous pouvez le faire de manière laide.

LateX est un peu difficile à placer des images avec de telles contraintes car il gère le placement lui-même. Ce que je fais habituellement si je veux une figure à cet endroit est de faire quelque chose comme |

text in front of image here

 \newpage 
 \figure1 
 \figure2

text after images here

Je sais que ce n'est peut-être pas la bonne façon de le faire, mais ça marche à merveille :).

// edit

Vous pouvez faire la même chose si vous voulez un peu de texte en haut de la page mais utilisez simplement/clearpage. Bien sûr, vous pouvez aussi les redimensionner un peu pour que cela ne se produise plus. Peut-être que les espaces non vus sont un peu plus grands que ce que vous pensez, j'essaie toujours de réduire mon image jusqu'à ce qu'ils apparaissent sur la même page, juste pour savoir avec certitude qu'il n'y a pas un chevauchement de 1%, ce qui rend tout cela inutile. .

1
bastijn