Je cherche à fixer des schémas à l'endroit où je le veux. J'aimerais ne pas les voir flotter, car ils se mettent parfois en plein milieu d'un environnement « exemple », ou autres, et ça fait le plus mauvais effet.

Posée 30 Mai '16, 01:26

jmb's gravatar image

jmb
307132631
Taux d'acceptation : 0%

Modifiée 12 Nov '16, 01:00

Pathe's gravatar image

Pathe ♦♦
7.5k42203251

Il suffit de ne pas utiliser l'environnement figure. Par ailleurs ne pas laisser flotter peut aboutir à d'incongrues zones blanches sur la page, qui feraient tout aussi mauvais genre. Peut-être un exemple complet minimal ?

(30 Mai '16, 04:26) Bernard Bernard's gravatar image

Voici ce que je commets :

Ouvrir dans l'éditeur
\begin{figure}[!h]
\begin{center}
\includegraphics[width=12cm]{representation_inversion_symetrie_0.pdf}
\end{center}
\caption{Du fait vécu à l'énoncé. }
\label{representation_inversion_symetrie_0}
\end{figure}

Faut-il enlever les (marques d') environnement, "figure", ou uniquement le mot "figure" dans son environnement ?

(30 Mai '16, 09:29) jmb jmb's gravatar image

Pour éviter les espaces mauvais genre, le mieux est de jouer avec les dimensions, non ? Mais peut-on le faire avec deux dimensions variant séparément, longueur et largeur, de façon à étaler ou contracter, pour insérer sans trop de dégâts colatéraux?

Les avis étant partagés, voir contradictoires, je ne sais jamais s'il faut mettre un "!", ou deux, à gauche, à droite, ... J'ai besoin de votre éclairage.

(30 Mai '16, 09:29) jmb jmb's gravatar image

begin{center} includegraphics[width=15 cm]{enonce_je_peux_pas_livrer.pdf} end{center} caption{Cause raison, effet conclusion } label{je_peux_plus_livrer}

Ça marche comme ça (l'image reste à l'endroit décidée), mais si je veux conserver la légende, qu'est-ce qu'il faut je fasse ?

(30 Mai '16, 09:34) jmb jmb's gravatar image

As tu lu cette réponse sur stackexchange.com ?

(30 Mai '16, 09:35) jerome dequeker jerome%20dequeker's gravatar image

@jmb Merci de bien vouloir mettre en forme le code dans les commentaires.

Aussi, les exemples que tu donnes ici en commentaires auraient du être dans la question que tu peux modifier.

(30 Mai '16, 10:18) jerome dequeker jerome%20dequeker's gravatar image

Je n'avais pas lu, c'est instructif, en effet.

(30 Mai '16, 10:20) jmb jmb's gravatar image

Comme déjà dit, il est en général conseillé de laisser flotter les images, de façon à ne pas risquer de rompre le gris typographique. Au passage, dans l'environnement figure, l'environnement center est déconseillé au profit de la commande \centering.

(30 Mai '16, 10:26) denis ♦♦ denis's gravatar image

"voire contradictoires"

(30 Mai '16, 10:35) jmb jmb's gravatar image

Attention ! Ne pas utiliser l'envirnnement center à l'intérieur d'un environnement figure (ou table): ça augmente les espacements verticaux. Il faut utiliser la command \centering.

(30 Mai '16, 12:49) Bernard Bernard's gravatar image
Affichage de 5 parmi 10 Afficher 5 commentaire(s) en plus

Voici quelques remarques

  • Pour centrer une figure utiliser la commande \centering

Exemple

Ouvrir dans l'éditeur
\begin{figure}
\centering
\includegraphics{example-image}
\caption{bla bla}
\end{figure}
  • Pour insérer une image dans l'emplacement exacte \includegraphics{example-image}
  • Pour ajouter une légende, le package caption

Exemple

Ouvrir dans l'éditeur
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}

\begin{document}
\listoffigures

\noindent
\begin{minipage}{\linewidth}
\centering
\includegraphics{example-image}
\captionof{figure}[Affiché dans liste des figures]{Affiché dans le corps de document}
\end{minipage}
\end{document}
  • l'ordre des (indicateurs) de placement dans l'argument optionnelle de figure [!htbp] n'est pas important et n'a aucun rôle, en fait, la non existence d'une lettre dit à LaTeX de n'est pas considérer (traiter) cette spécification.

exemple 1

Ouvrir dans l'éditeur
\begin{figure}[htp]
\centering
\includegraphics{example-image}
\caption{bla bla}
\end{figure}

latex ne considère pas l'emplacement (en bas)

exemple 2

Ouvrir dans l'éditeur
\begin{figure}[h]
\centering
\includegraphics{example-image}
\caption{bla bla}
\end{figure}

latex ne considère pas les autres emplacements (top, bas, page), donc il est forcé de placer cet image où elle est?

Non, mais seulement si c'est possible, voici un exemple (sans et avec !)

Ouvrir dans l'éditeur
\documentclass{article}
\usepackage{mwe}

\begin{document}
\listoffigures
\lipsum[1]
\begin{figure}[h]
\centering
\includegraphics[scale=.53]{example-image}
\caption{bla bla}
\end{figure}
\begin{figure}[h]% puis avec !
\centering
\includegraphics[scale=.65]{example-image}
\caption{bla bla}
\end{figure}
\lipsum[1-4]
\end{document}

Indicateur ! : la présence de ! dit à latex qu'il est permet d'ignorer quelques paramètres de restrictions, donc plus de chance d'avoir le résultat désiré.

En fait, dans les classes standards, book par exemple, on trouve

\setcounter{topnumber}{2} % au maximum 2 flottants en haut de page

\renewcommand\topfraction{.7} % la taille (hauteur) maximale de la zone en haut de page (t)

\setcounter{bottomnumber}{1} % au maximum 1 flottant en bas de page

\renewcommand\bottomfraction{.3} % la taille (hauteur) maximale de la zone en bas de page (b)

\setcounter{totalnumber}{3} % au maximum 3 flottants dans toute la page

\renewcommand\textfraction{.2} % la taille (hauteur) minimale de la zone de texte (doit être remplis par de text)

Exemple 1 (bottomnumber)

Ouvrir dans l'éditeur
\documentclass{article}
\usepackage{mwe}

\begin{document}
\listoffigures
\begin{figure}[b]
\centering
\includegraphics[scale=.2]{example-image}
\caption{bla bla}
\end{figure}
\begin{figure}[b]% puis avec ! [!b] ou [b!]
\centering
\includegraphics[scale=.2]{example-image}
\caption{bla bla}
\end{figure}
\lipsum[1-4]
\end{document}

Exemple 2 (bottomfraction)

Ouvrir dans l'éditeur
\documentclass{article}
\usepackage{mwe}

\begin{document}
\listoffigures
\lipsum[1]
\begin{figure}[b]
\centering
\includegraphics[scale=.53]{example-image}
\caption{bla bla}
\end{figure}
\begin{figure}[!b]% puis avec ! [!b] ou [b!]
\centering
\includegraphics[scale=.65]{example-image}
\caption{bla bla}
\end{figure}
\lipsum[1-4]
\end{document}

Conclusion ? À mon humble avis,

  • Laisser latex gérer les flottants.
  • Vous pouvez par exemple utiliser comme indicateur [htbp] ou [!htbp].
  • Si ça ne suffit pas, modifier le placement d'insertion dans le code (i.e. \begin{figure}...\includegraphics{...}...\end{figure}) faire avancer cette portion de code peut donner un résultat plus proche de ce qu'on cherche.
  • En fin (sous sa propre responsabilité) changer les paramètres de restrictions peut être aussi très outil pour avoir les figure proches de la place d'insertion dans le code, par exemple

Exemple

Ouvrir dans l'éditeur
\documentclass{article}
\usepackage{mwe}

% à compiler sans et avec ses modifications, faire attention aux messages de compilation
\setcounter{topnumber}{3}
\renewcommand\topfraction{.95}
\setcounter{bottomnumber}{3}
\renewcommand\bottomfraction{.95}
\setcounter{totalnumber}{6}
\renewcommand\textfraction{.05}
\begin{document}
\lipsum[1-4]
\begin{figure}[h]
\centering
\includegraphics[scale=.5]{example-image}
\caption{bla bla}
\end{figure}
\lipsum[1]
\begin{figure}[h]
\centering
\includegraphics[scale=.5]{example-image}
\caption{bla bla}
\end{figure}
\section{Foo}
\begin{figure}[h]
\centering
\includegraphics[scale=.4]{example-image}
\caption{bla bla}
\end{figure}
\lipsum[1]
\begin{figure}[h]
\centering
\includegraphics[scale=.5]{example-image}
\caption{bla bla}
\end{figure}
\lipsum[1]
\end{document}

comment insérer une image avec dimension conditionnel

Note Bien que je ne recommande pas ça, voici comment insérer une image avec dimension conditionnel.

Ouvrir dans l'éditeur
\documentclass[a4paper]{article}
\usepackage{mwe}

\usepackage{caption}

\newlength\mtl
\newcommand*{\insermyfig}[1]{%
\settoheight{\mtl}{%
\parbox[b]{\linewidth}{%
\centering
\includegraphics{#1}
\captionof{figure}[Affiché dans liste des figures]{Affiché dans le corps de document}
}}%
\par\noindent
\penalty-100\begingroup
\ifdim\dimexpr\pagegoal-\pagetotal\relax>\mtl
\parbox[b]{\linewidth}{%
\centering
\includegraphics{#1}
\captionof{figure}[Affiché dans liste des figures]{Affiché dans le corps de document}
}
\else
\ifdim\dimexpr\pagegoal-\pagetotal\relax<4\baselineskip
\parbox[b]{\linewidth}{%
\centering
\includegraphics{#1}
\captionof{figure}[Affiché dans liste des figures]{Affiché dans le corps de document}
}
\else
\parbox[b]{\linewidth}{%
\centering
\includegraphics[height=\dimexpr\pagegoal-\pagetotal-3\baselineskip\relax]{#1}
\captionof{figure}[Affiché dans liste des figures]{Affiché dans le corps de document}
}
\fi\fi\endgroup}

\begin{document}
\listoffigures
\lipsum[1]
%\lipsum[1-2]
%\lipsum[1-3]
%\lipsum[1-4]
%\lipsum[1-5]
\insermyfig{example-image}
\end{document}
Lien permanent

Publiée 30 Mai '16, 11:18

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Modifiée 16 Jui '16, 11:17

Je ne retrouve pas la remarque que m'a adressée Bernard disant que "center" prend de l'espace vertical. Je réponds ici :

Le problème c'est qu'en le faisant (je l'ai fait), je passe de 747 pages à 749 ! Qu'est-ce qui peut expliquer ce qui m'apparaît le contraire de ce que vous dites ?

(30 Mai '16, 14:38) jmb jmb's gravatar image

Si tu es anglophone, tu trouveras peut être des éléments de réponse ici

(30 Mai '16, 14:54) jerome dequeker jerome%20dequeker's gravatar image
1

@jmb je n'est pas bien compris.

Je suis tout à fais d'acord avec @Bernard : avec l'environnement centerun espace vertical supplémentaire est ajouter c'est pour ça que j'ai proposé d'utiliser \centering

(30 Mai '16, 17:07) touhami touhami's gravatar image

@jmb ah oui je vois ce que vous voulez dire et vous avez raison. Je vais mis à jour ma réponse.

(30 Mai '16, 17:10) touhami touhami's gravatar image

Je vous laisse donc le temps me répondre

(30 Mai '16, 17:11) jmb jmb's gravatar image

@jmb la réponse à été mis à jour.

(30 Mai '16, 22:02) touhami touhami's gravatar image
Affichage de 5 parmi 6 Afficher 1 commentaire(s) en plus

Deux cas possibles :

  1. Sans légende, il suffit juste de mettre \includegraphics[width=15cm]{enonce_je_peux_pas_livrer.pdf}
  2. Avec la légende, on appelle le package float et on donne l'option [H] à l'environnement figure. Petit exemple :

    Ouvrir dans l'éditeur
    \documentclass[a4paper]{article}
    ...
    \usepackage{float}
    ...
    \begin{document}
    \begin{figure}[H]
    \centering
    \includegraphics[width=15cm]{enonce_je_peux_pas_livrer.pdf}
    \caption{Cause raison, effet conclusion.}
    \end{figure}
    \end{document}
    

Par contre, comme l'a signalé @Bernard, "Par ailleurs ne pas laisser flotter peut aboutir à d'incongrues zones blanches sur la page"

Lien permanent

Publiée 30 Mai '16, 10:03

jerome%20dequeker's gravatar image

jerome dequeker
836714
Taux d'acceptation : 65%

Modifiée 30 Mai '16, 10:05

Très bien, entendu et compris. Je vais essayer la deuxième option (mettre usepackage{float} dans le préambule, et la légende dans la déclaration d'environnement). Merci.

(30 Mai '16, 10:22) jmb jmb's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.