IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tableaux - Graphiques - Images - Flottants Discussion :

Placement de figures


Sujet :

Tableaux - Graphiques - Images - Flottants

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 152
    Points : 191
    Points
    191
    Par défaut Placement de figures
    Bonjour,

    Comme le titre l'indique, j'ai un léger soucis sous Latex. Je souhaiterai en effet placer des figures, mais non pas au sein d'un chapitre mais d'une section/sous-section.

    Pour ce faire, j'aurai dans le souhait d'éviter le brutal [H] offert par le package float si je ne m'abuse.

    Je vous joint l'ECM

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    \documentclass[a4paper,10pt]{report}
    \usepackage{fullpage,graphicx}
    \usepackage{bm}
    \usepackage{float}
    \usepackage{amssymb}
     
    \begin{document}
    \include{Part1}
    ...
    \end{document}
    Et dans Part1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    \chapter{Part1}
    \label{sec:Part1}
    \section{sectionA}
    \subsection{subsection1}
     
    \begin{figure}[ht]
    \centering
    \includegraphics[angle=270,scale=0.5]{figure.eps}%L'image est en format A4 paysage de base
    \caption{A beautifull figure}
    \label{bf}
    \end{figure}
     
    \subsection{subsection2}
    ...
    L'ennui est que cette manipulation (via l'option [ht]) a tendance à me mettre la figure en toute fin de chapitre. (l'option [H] quant à elle a tendance à me laisser des espaces blancs pas très jolis...)

    Si quelqu'un à une idée,

    Merci d'avance,

    Marlan

  2. #2
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Malheureusement pour toi, pas de solution miracle. Les environnements flottants sont placés là où le compilateur juge qu'il sera le plus "beau" de les placer. Tu peux jouer avec les arguments h (pour here tu l'auras sans doute compris), t (pour top), b pour (bottom) et/ou p (pour page, l'image sera placée sur une page séparée ne contenant que des éléments flottants).
    Lis cette discussion également.
    Bon courage
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 152
    Points : 191
    Points
    191
    Par défaut
    Merci pour ta réponse.

    Je pense avoir trouvé une solution cependant, mais c'est pas très élégant.

    Si je ne me trompe pas donc, Latex ne sortira jamais (ou du moins pas avec l'option [ht] sur une figure) une figure d'un module (par exemple part1 dans le cas ci-dessus). L'astuce consisterai donc à mettre chacune des sections/sous-sections au sein de modules (par modules j'entends les arguments des \include{}) différents.

    A ce moment là cela étant, il faudrait une astuce pour l'empêcher de forcément créer une nouvelle page à l'appel d'un nouveau module... Si une telle astuce existe, n'hésitez pas à m'en faire part.

    Qu'en pensez vous?

  4. #4
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Heu...
    Que cherches-tu à faire exactement ? Je ne comprends pas là...
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  5. #5
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 357
    Points : 440
    Points
    440
    Par défaut
    Citation Envoyé par Marlan Voir le message
    Merci pour ta réponse.

    Je pense avoir trouvé une solution cependant, mais c'est pas très élégant.

    Si je ne me trompe pas donc, Latex ne sortira jamais (ou du moins pas avec l'option [ht] sur une figure) une figure d'un module (par exemple part1 dans le cas ci-dessus). L'astuce consisterai donc à mettre chacune des sections/sous-sections au sein de modules (par modules j'entends les arguments des \include{}) différents.

    A ce moment là cela étant, il faudrait une astuce pour l'empêcher de forcément créer une nouvelle page à l'appel d'un nouveau module... Si une telle astuce existe, n'hésitez pas à m'en faire part.

    Qu'en pensez vous?
    Les \include ajoutent nécessairement un \clearpage pour commencer sur une nouvelle page. Un \clearpage a pour effet de placer tous les flottants en attente de placement avant de poursuivre sur une nouvelle page.

    Mais comme lecteur1001, j'ai beaucoup de mal à comprendre ce que tu veux faire.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 152
    Points : 191
    Points
    191
    Par défaut
    Je vais détailler l'idée donc.

    Comme tu viens de le dire, les \include apportent une nouvelle page dans laquelle les figures sont en attentes d'être placées. Donc, en soit, si nous définissons un module pour chaques parties/sous parties, les figures seront nécessairement placées dans la partie considérée (ici le module).

    Maintenant, la question est la suivante: y a t'il un moyen existant d'éviter de commencer une nouvelle page?

    Par exemple:
    Si je prends un module part1, je le met dans le document par un \include{part1}
    Imaginons que j'ai avec moi une sous-partie nommée S1, inclus dans part1, une sous partie S2 inclus dans part1, ...
    Chacune de ces sous-parties comprend une ou plusieurs figures.
    J'ai dans le souhait que chacune des figures ne sorte pas de sa propre partie.

    Je ferai donc un:
    \include{part1}
    \include{S1}
    \include{S2}
    ...
    puis si j'ai d'autre parties:
    \include{part2}
    ...

    Le problème, comme souligné ci-dessus est qu'à chaque \include{} LateX va comprendre qu'il faut également créer une nouvelle page.

    Donc, en soit, s'il existe un moyen d'empêcher la création de cette nouvelle page tout en conservant l'inclusion des figures au sein d'un seul et même module, alors les figures ne sortiront pas de la sous-partie considérée et on évitera les blancs dans le texte non?

    En gros l'idée serait de garder le \include{} mais de supprimer le \newpage qui semble intrinsèque au \include{}... Est-ce possible?

    En espérant avoir été un peu plus clair,

    Marlan

  7. #7
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Au lieu d'utiliser des \include, utilise plutôt un \input. J'ai créé cet ECM, commente, dé-commente des passages tu verras que \input donne exactement le même résultat que si tu avais tout ton code dans le même fichier.tex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    \documentclass{book}
    \usepackage[utf8]{inputenc}
    \usepackage{lipsum}
    \usepackage{graphicx}
    \usepackage[width=17cm]{geometry}
     
    \begin{document}
    \part{Première partie}
    \lipsum[1-10]
    \begin{figure}[htbp]
    \includegraphics[width=.5\textwidth]{image} 
    \caption{Titre image}
    \end{figure}
    \lipsum[1-10]
    \chapter{Premier chapitre}
    \lipsum[1-10]
    \begin{figure}[htbp]
    \includegraphics[width=.5\textwidth]{image} 
    \caption{Titre image}
    \end{figure}
    \lipsum[1-10]
     
    \chapter{Second chapitre}
    \lipsum[1-10]
    \begin{figure}[htbp]
    \includegraphics[width=.5\textwidth]{image} 
    \caption{Titre image}
    \end{figure}
    \lipsum[1-10]
    \section{Une section}
    \lipsum[1-10]
    \begin{figure}[htbp]
    \includegraphics[width=.5\textwidth]{image} 
    \caption{Titre image}
    \end{figure}
    \lipsum[1-10]
     
     
    %\input{part1}
    %\input{part1_chap1}
    %\input{part1_chap2}
    %\input{part1_chap2_sect1}
     
    %\include{part1}
    %\include{part1_chap1}
    %\include{part1_chap2}
    %\include{part1_chap2_sect1}
    \end{document}
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  8. #8
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 357
    Points : 440
    Points
    440
    Par défaut
    J'aurais envie d'ajouter qu'il est utile de bien avoir en tête la structure de son document pour jouer au mieux avec les \include et les \input.

    Dans le cas de la classe book par exemple, on utilise souvent des \include pour chaque chapitre, eux-même pouvant être articulés avec des \input dans tous les sens selon la dimension des sections. On aura dans ce cas l'assurance d'avoir les flottant du chapitre dans le chapitre, mais sans avoir la barrière du placement par section (sauf si on place manuellement des \clearpage).

    Et comme lecteur1001 dans son exemple, je sortirais la niveau de titre \part au niveau du fichier maître, en dehors de \include ou \input.

    Avec cette technique, on obtient un document très bien équilibré.

    ATTENTION: ne pas confondre les \newpage et les \clearpage. Les 2 ont pour effets de changer de page, mais les \clearpage placent tous les flottants en attente avant le changement de page alors que ce n'est pas le cas des \newpage.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 152
    Points : 191
    Points
    191
    Par défaut
    Oki merci à tous les deux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Alignement des minipages et placement de figure
    Par Benjamin-D dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 04/07/2007, 11h36
  2. Placement des figures non souhaité
    Par frizou11 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 5
    Dernier message: 23/03/2007, 13h48
  3. [GEF]class Figure dans container SWING ?
    Par Albarad dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 01/06/2004, 12h12
  4. Placement aléatoire
    Par Steph82 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 02/09/2003, 12h07
  5. Placement des balises avec DTD
    Par Keul125 dans le forum Valider
    Réponses: 4
    Dernier message: 28/05/2003, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo