Jai un problème quand beaucoup de figures sont en question. Certains chiffres ont tendance à «voler», cest-à-dire être un paragraphe ci-dessous, bien que je les ai placés avant ce paragraphe. Jutilise le code:

\begin{figure}[ht] \begin{center} \advance\leftskip-3cm \advance\rightskip-3cm \includegraphics[keepaspectratio=true,scale=0.6]{slike/visina8} \caption{} \label{visina8} \end{center}\end{figure} 

pour placer mes chiffres. Comment puis-je dire à Latex que je veux VRAIMENT la figure à cet endroit spécifique, peu importe la quantité despace restant?

Commentaires

  • Note de bas de page: ‘ t utilisez le center mais la commande \centering pour les figures. Voir Dois-je utiliser le centre ou le centrage pour les figures et les tableaux?
  • Pour placer définitivement un paragraphe après une figure, utilisez la commande \FloatBarrier quelque part entre la figure et le paragraphe. Elle force toutes les figures définies avant la commande à être rendues avant ce point du texte. Vous devrez ajouter \usepackage{placeins} dans le préambule pour utiliser la commande. Parfois, jai trouvé cela très utile.

Réponse

La réponse courte: utilisez le package «  float « , puis le [H] option pour votre silhouette.

\usepackage{float} ... \begin{figure}[H] \centering \includegraphics{slike/visina8} \caption{Write some caption here}\label{visina8} \end{figure} 

La réponse plus longue: Le comportement par défaut des figures est de flotter, afin que LaTeX puisse trouver le meilleur moyen de les organiser dans votre document et de lui donner une meilleure apparence. Si vous regardez, voici comment les livres sont souvent composés. Donc, généralement, la meilleure chose à faire est de laisser LaTeX faire son travail et de ne pas essayer de forcer le placement des figures à des endroits spécifiques. Cela signifie également que vous devez éviter dutiliser des phrases telles que « in the following figure: ”, qui nécessite que la figure soit définie à un emplacement spécifique, et utilisez plutôt“ in Figure~\ref{..} « , en tirant parti des références croisées de LaTeX ».

Si, pour une raison quelconque, vous vraiment voulez quune figure particulière soit placée «ICI», et non là où LaTeX veut la mettre, alors utilisez le [H] option du package «  float  » qui transforme fondamentalement la figure flottante en un non-float normal.

Notez également que, si vous ne voulez pas ajouter un caption à votre figurine, alors vous navez pas du tout besoin dutiliser lenvironnement figure! Vous pouvez utiliser la commande \includegraphics nimporte où dans votre document pour insérer une image.

Commentaires

  • merci pour avoir noté cela! Je nétais ‘ pas au courant du changement. H ne ‘ ne semble pas fonctionner sans aucun paquet, mais fonctionne en chargeant float. H de float est-il identique à !h?
  • non , [! h] est de toute façon changé par la plupart des classes de documents en [! ht]. Et la signification de h est seulement: ici, si possible, mais pas absolument ici. Le ! permet à LaTeX de minimiser tous les compteurs et longueurs qui font référence à des environnements flottants.
  • merci, a travaillé pour moi! Je laisse généralement latex le placer où il veut, mais parfois jen besoin simplement où je veux.
  • Pour les documents qui ne sont pas destinés à être imprimés, il ny a aucune raison dessayer denregistrer papier, donc de grandes zones d’espaces ne sont pas ‘ un problème. Il est donc préférable ‘ que le chiffre brise le texte au point le plus logique, plutôt que de flotter ailleurs. Ces conventions maladroites iront exactement comme le latin.
  • Je ne ‘ t pense que les soucis habituels sont d’économiser de la place, plutôt que d’essayer stylistiquement de trouver le meilleur endroit où placer une figure, un tableau, etc.

Réponse

ne pas utilisez un environnement flottant si vous ne voulez pas quil flotte.

\usepackage{caption} ... \noindent% \begin{minipage}{\linewidth}% to keep image and caption on one page \makebox[\linewidth]{% to center the image \includegraphics[keepaspectratio=true,scale=0.6]{slike/visina8}} \captionof{figure}{...}\label{visina8}% only if needed \end{minipage} 

ou

\begin{center} \includegraphics[...]{slike/visina8}} \captionof{figure}{...}\label{visina8}% only if needed \end{center} 

Commentaires

  • Salut @Herbert – merci BEAUCOUP pour cette réponse! Je navais encore jamais compris que \begin{figure} est un environnement flottant – alors que \begin{minipage} ne lest pas ! Jai eu un problème en voulant inclure une image en bas de page avec du texte, et même pas [H] aidé; seulement ça! Je viens de remplacer minipage par figure et captionof pour caption – et enfin jai obtenu ce que je voulais !! Merci encore, bravo!
  • Pourquoi utilisez-vous un \makebox? Est-ce que ça na pas la même apparence sans lui?
  • @Tobi: si limage nest pas plus grande que \textwidth oui, sinon non!\makebox centre limage indépendamment de sa largeur
  • Cétait très utile; À mon humble avis, cela devrait être la réponse acceptée car elle fonctionne plus comme prévu que celle actuellement acceptée.

Réponse

Une solution qui n’a été mentionnée par aucune des autres réponses qui viennent de me trier est d’utiliser \clearpage

Aucun paquet spécial n’est nécessaire.

\clearpage force tous les chiffres au-dessus dans le fichier .tex à être imprimés avant de continuer avec le texte. Cela peut laisser de grands espaces blancs.

Pour moi, cétait la meilleure solution car je navais pas besoin de modifier la mise en forme et je massurais simplement que toutes les figures étaient imprimées avant le bit de texte suivant. Mon problème faisait partie du document avec beaucoup de chiffres et peu de texte.

Commentaires

  • Solution simple et efficace, merci !!

Réponse

Vous pouvez désormais utiliser le package adjustbox pour transformer vos objets en boîte en un remplacement flottant non flottant en utilisant le nofloat=<type> clé. La légende et le libellé peuvent être ajoutés par leurs propres clés, avant le nofloat. Pour le centrage, la touche center peut être utilisée. Pour ajouter lespace vertical, utilisez la touche vspace. Cette solution a lavantage de pouvoir également utiliser toutes les nombreuses autres fonctionnalités de adjustbox pour modifier le contenu (mise à léchelle min / max, cadrage, etc.)

Notez que si le contenu de la figure est juste une seule image, vous pouvez simplement utiliser les mêmes clés sur \adjustbox et obtenir une ligne unique. Si tout ce que vous voulez est un tableau, il y a la clé tabular pour {adjustbox}.

Si vous voulez plus tard changez-le en un vrai flotteur, tournez simplement nofloat en float et retirez la clé vspace. adjustbox place la légende en haut pour table s et en bas pour figure s. Cela peut être modifié en utilisant les touches captionbelow ou captionabove au lieu de caption. Consultez le manuel adjustox pour toutes les options.

Si vous ne souhaitez pas encadrer le contenu, vous pouvez toujours utiliser le package adjustbox car il fournit le {adjnofloat}{<type>}. Elle est utilisée en interne pour implémenter la clé nofloat. Les utilisateurs peuvent soit redéfinir cet environnement pour modifier, soit corriger le comportement nofloat, soit utiliser lenvironnement directement. Lenvironnement utilise un code très similaire à celui de Herberts answer .


Exemples dutilisation:

\documentclass{article} \usepackage{blindtext}% for example text here only \usepackage{adjustbox} \begin{document} \blindtext \begin{adjustbox}{center,caption={some caption},label={somelabel},nofloat=figure,vspace=\bigskipamount} % maybe other stuff \includegraphics[width=\textwidth]{example-image}% example only, could also be \adjustimage % maybe other stuff \end{adjustbox} \blindtext % For simple images, a one liner is enough \adjustimage{width=\textwidth,center,caption={some caption},label={somelabel},nofloat=figure,vspace=\bigskipamount}{example-image} \blindtext \begin{adjustbox}{center,caption={some caption},label={somelabel},nofloat=table,vspace=\bigskipamount} % maybe other stuff \begin{tabular}{lll} some & tabular & is\\ also & possible & with this \\ \end{tabular} % maybe other stuff \end{adjustbox} \blindtext % For just a tabular: \begin{adjustbox}{tabular=lll,center,caption={some caption},label={somelabel},nofloat=table,vspace=\bigskipamount} some & tabular & is\\ also & possible & with this \\ \end{adjustbox} \blindtext \end{document} 

Une partie du résultat:

entrez la description de limage ici

Réponse

Utilisez [ht!] pour être plus insistant sur le placement. Et, si vous voulez que le texte suive la figure, au lieu de commencer avant, utilisez \usepackage{parskip} dans votre préambule et laissez un espace avant le texte en question.

Jutilise également \vspace{} ou avant lenvironnement de la figure afin de manipuler lespace entre le texte et la figure pour donner un aspect plus équilibré. Je nai aucun problème de cette façon, même avec des environnements multifigures plus complexes utilisant \subfigure.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *