web-dev-qa-db-fra.com

Existe-t-il un moyen de faire en sorte que LaTeX place des figures sur la même page en tant que référence à cette figure?

J'utilise LaTeX et l'environnement de la figure.

Je connais bien les paramètres de cet environnement: [htbp], et je suis aussi généralement familiarisé avec les stratégies que LaTeX utilise, par défaut, pour décider où placer chaque chiffre. Par exemple, en plaçant des figures en haut ou en bas de la page.

Ce que je me demande, c’est s’il existe un paquet, une macro ou des commandes que je peux donner. Ainsi, si j’ai un document à colonne unique et que j’ai surtout une référence dans le texte à une figure, celle-ci serait plus susceptible d'être placé dans la même page de la référence?

Par exemple, imaginons que j'ai un long paragraphe qui au milieu a un\ref {FIG: X}. Lors du rendu, certains paragraphes apparaissent avant le saut de page et d'autres après le saut de page. Je peux aussi placer la commande figure quelque part avant et après tout le paragraphe. Existe-t-il un moyen de le placer réellement sur la même page que la référence réelle?

32
Uri

Je ne veux pas paraître trop négatif, mais il y a des occasions où ce que vous voulez est presque impossible sans beaucoup de réglages "artificiels" de sauts de page.

Si la légende tombe naturellement au bas d'une page et que la figure figure à la page suivante, le déplacement de la figure d'une page entraînera probablement le déplacement de la légende avant

Je recommanderais (dans la mesure du possible et en fonction de la taille exacte des chiffres):

  • Placez les chiffres avec [t] (ou [h] si vous devez)
  • Placez les figures aussi près que possible du "bon" endroit (différent pour [t] et [h])
  • Incluez les chiffres de fichiers séparés avec\input, ce qui les rendra beaucoup plus faciles à déplacer lorsque vous effectuez le réglage final

D'après mon expérience, c'est un gros temps perdu pour le temps non disponible (:-)


En réponse au commentaire de Jon, je pense que c'est un problème intrinsèquement difficile, car les gars de LaTeX ne sont pas en reste. Vous aimerez peut-être lire l'article de Frank Mittelbach .

15
Brent.Longborough

Vous pouvez toujours ajouter le "!" dans vos options float. De cette façon, latex essaie vraiment de placer la figure où vous le voulez (j'utilise surtout [h! Tb]), en étirant les règles habituelles de la composition.

J'ai trouvé une autre solution:
Utilisez le paquet float -. De cette façon, vous pouvez placer les figures où vous voulez qu'elles soient.

10
Sven Lilienthal

Oui, incluez package float en haut de votre document et H (majuscule H) en tant que spécificateur de figure:

\usepackage{float}

\begin{figure}[H]
.
.
.
\end{figure}
10
Ahmet Artu

Je résous ce problème en utilisant toujours l'option [h] sur les flottants (tels que les chiffres) pour qu'ils (la plupart du temps) aillent là où je les ai placés. Ensuite, lorsque je regarde le brouillon final, j'ajuste l'emplacement du flotteur en le déplaçant dans la source LaTeX. Habituellement, cela signifie le déplacer dans le paragraphe où il est référencé. Parfois, je dois ajouter un saut de page à un endroit approprié.

J'ai trouvé que le placement par défaut des flottants est raisonnable dans LaTeX, mais des ajustements manuels sont presque toujours nécessaires pour que les choses comme cela se passent bien. (Et parfois, il n'est pas possible que tout soit parfait quand il y a beaucoup de flottants et de notes de bas de page.)

Le manual de la classe memoir contient des informations utiles sur la façon dont LaTeX place les flottants et des conseils pour la manipulation de l'algorithme. 

4
Jon Ericson

Peut-être que cela vous aidera?

\begin{center}
\includegraphics[scale=0.5]{picture_name}
\end{center}    

Je pense qu'il est préférable d'utiliser la commande graphique lorsque vos chiffres s'enfuient.

2
Bob

J'ai des commentaires utiles. Parce que j’avais le même problème avec l’emplacement des chiffres… j’utilisais le paquetage “wrapfig” qui permet de faire des chiffres enveloppés par du texte…

...
\usepackage{wrapfig}
\usepackage{graphicx}
...
\begin{wrapfigure}{r}{53pt}
\includegraphics[width=53pt]{cone.pdf}
\end{wrapfigure}

Dans les options, {r} signifie mettre le chiffre du côté droit. {l} peut être utilisé pour le côté gauche.

1
Evgeny
\setcounter{topnumber}{2}
\setcounter{bottomnumber}{2}
\setcounter{totalnumber}{4}
\renewcommand{\topfraction}{0.85}
\renewcommand{\bottomfraction}{0.85}
\renewcommand{\textfraction}{0.15}
\renewcommand{\floatpagefraction}{0.7}

http://robjhyndman.com/researchtips/latex-floats/

1
Douglas Lovell

Si vous voulez forcer ce comportement sur toutes vos figures, essayez

...
\usepackage{float}
\floatplacement{figure}{H}
...
1
Jonatan

Une des façons qui m'aident à résoudre ce problème est d'utiliser \include{file_with_tex_figure_commands}

( pas entrée)

0
Eduardo Leoni