2009-11-24 6 views
66

J'ai deux images que je veux afficher sur une page en tant que figures. Chacun mange un peu moins de la moitié de l'espace disponible, donc il n'y a pas beaucoup de place pour d'autres choses sur cette page, mais je sais qu'il y a assez d'espace pour les deux personnages. J'ai essayé de placer les chiffres avec [ht] et [hb], les deux [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 eux.Comment forcer deux personnages à rester sur la même page dans LaTeX?

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

+0

Une question similaire a été plus récemment demandé sur TeX.SX, et je crois que la [réponse] (http://tex.stackexchange.com/a/65617/7142) en utilisant la commande '\ afterpage' est la meilleure réponse. –

Répondre

107

Vous pouvez placer deux chiffres dans l'environnement d'une figure. Par exemple:

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

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

+1

C'est une belle réponse à retenir :). Je n'y ai jamais pensé mais ça a l'air propre :). – bastijn

+5

Une autre possibilité est le paquetage subfigure et une commande dans l'environnement de la figure de quelque chose comme '\ subfloat [Légende] {\ includegraphics {file}}'. –

+5

il semble que vous ne pouvez pas \ étiqueter les deux chiffres différents indépendamment, bien que – Mulone

1

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

+0

ne fonctionne pas, latex le remplacera par [ht], alors continuez à mettre le chiffre sur une page séparée de toute façon. –

1

Essayez [h!] D'abord, mais vous pouvez le faire de façon laide. Latex est un peu difficile à placer des images avec des contraintes telles qu'il gère le placement lui-même. Ce que je fais habituellement si je veux un droit 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 ne peut pas être la bonne façon de le faire, mais il fonctionne comme un charme :).

// modifier

Vous pouvez faire la même chose si vous voulez un petit texte en haut de la page mais il suffit d'utiliser/clearpage. Bien sûr, vous pouvez également les redimensionner un peu plus petit afin que cela ne se produise plus. Les espaces non visibles sont peut-être un peu plus grands que ce que vous soupçonnez, j'essaye toujours de réduire mon image jusqu'à ce qu'ils apparaissent sur la même page, juste pour savoir qu'il n'y a pas 1% de chevauchement. .

+0

Merci, [h!] A travaillé! J'ai favorisé votre réponse parce que la «voie laide» semble aussi être une bonne chose à savoir même quand je n'en avais pas besoin dans ce cas. – Kusti

5

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

\begin{figure}[p] 

Il serait sans doute contraire aux principes sonores (par exemple typographiques, laid) d'avoir deux chiffres sur une page avec seulement quelques lignes de texte ci-dessus ou en dessous d'eux.


Par ailleurs, la raison pour laquelle [!h] œuvres est parce qu'il est dit de passer outre ses LATEX restrictions habituelles sur la quantité d'espace devrait être consacré à la flotte sur une page avec du texte. Comme implicite ci-dessus, il y a une raison pour laquelle les restrictions sont là. Ce qui ne veut pas dire qu'ils peuvent être un peu déliés; voir le FAQ en faisant cela.

+0

Plus précisément, '[p]' indique seulement au compilateur de les placer sur une page avec des flottants seulement. Cela pourrait ou non entraîner des pages séparées pour les deux chiffres, en fonction de leur taille. – fotNelton

18

Si vous voulez avoir des images sur même sujet, ca vous utilisez paquet subfigure et construction:

\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 voulez avoir, par exemple deux, différentes images à 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 dans les colonnes que vous aurez [1] [2] [3] [4] dans la source, mais il ressemblera

[1] [3]

[2] [4].

+1

Vous pouvez également utiliser la construction mentionnée par Jerred Russel ici: http://stackoverflow.com/questions/1673942/latex-table-positioning Point est en utilisant le paquet 'float'. – Crowley

12

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. 'H' essaie de forcer la figure à être exactement là où vous l'avez mis dans le code. Cela nécessite d'inclure \usepackage{float}

Les options sont expliquées here

+1

Oui, le paquet 'float' est certainement la bonne réponse ici. Je déplore souvent que l'utilisation du! symbole, comme dans '\ begin {figure} [h!]' pourrait aussi bien être réécrit dans TeX que '\ please 'parce que le compilateur décide encore lui-même où placer votre image. Il te fait juste un clin d'œil au lieu de t'ignorer. Le paquet 'float' le fera faire ce que vous voulez à coup sûr. – ely

Questions connexes