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 :

Illustrations à gauche, texte à droite - Serpent de mer


Sujet :

Tableaux - Graphiques - Images - Flottants

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2011
    Messages : 35
    Points : 41
    Points
    41
    Par défaut Illustrations à gauche, texte à droite - Serpent de mer
    Bonjour à tous.
    Mon sujet est un sujet à la fois récurrent et pour lequel aucune solution très satisfaisante ou fiable a jamais été trouvée.

    Le but:

    Afficher le texte sur la page de droite et les images, quand il y en a, sur la page de gauche (classe type book en mode twoside); quand il n'y en a pas, afficher une page blanche.

    En ce qui concerne la numérotation des pages de gauche: a priori rien, mais si c'est configurable, c'est encore mieux. Pour ce qui est des pages de droites, consécutives (c'est à dire 1 - 2 - 3 - 4 et pas 1 - 3 - 5 - 7...).

    Les problèmes identifiés:
    - La classe et ses légères modifications prévoient déjà des pages de gauche blanche de temps à autre. Il peut être très fastidieux d'éplucher toutes les occurences pour les "annuler".
    - L'idéal serait que la "numérotation" des images correspondent à la page qui fait face (même si le numéro ne s'affiche pas à l'écran) dans la liste of figures.
    - Mais le plus gros problème, et de loin, dans tous les cas, est que le moindre "saut" et la moindre "génération" de page blanche supplémentaire à quelque endroit que ce soit provoque des décalages de mise en page rédhibitoires. En effet, il semble que la mise en page odd ou even dépendent non pas de la réalité physique, mais de la numérotation de la page. J'avoue que je ne maitrise pas vraiment l'ensemble des compteurs utilisables.


    Mon back-up, évidemment, c'est de fusionner deux fichiers, l'un oneside, et l'autre de pages blanches ou illustrées, en mode pdf. Mais le soucis avec ça, c'est que je n'ai plus de list of figures... en tout cas, pas sur une page de droite... Et en plus, pour une thèse de 400 pages de texte environ, c'est lourd...

    Ce que j'ai déjà testé:
    - Faire des macros avec afterpage, en vidant une liste de figures qu'on remplit sur les pages précédentes, ou en remplissant d'une page blanche en cas de liste vide: problème avec les numéros, par exemple.
    - Faire un "compteur" de pages réelle pour n'appliquer les macros traitant des pages droite et des pages gauches qu'aux bons endroits : problème avec les pages rajoutées par la classe, qui elles n'incrémentent pas mon compteur réel, et donc décalent tout.
    - Utiliser semionepage, mais cela m'introduit trois pages au lieu d'une, et je n'arrive pas à savoir pourquoi...
    - Insérer à la main les illustrations ou les pages blanches pour chaque page de "droite": ce sera très long... et il est assez difficile de bien renuméroter.

    Je suis preneur de toute solution, mais j'avoue que je commence à désespérer.
    A une occasion j'ai saisi une idée de quelqu'un proposant d'empêcher tout texte de se mettre sur une page de gauche, et toute image sur une page de droite, mais cela ne résoud pas la numérotation et le fait que la mise en page dépendent de la parité, et cela dépasse mes compétences.

    Je suis prêt à tester toute idée.

    Merci d'avance

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2011
    Messages : 35
    Points : 41
    Points
    41
    Par défaut Voici une solution pour ceux que ça intéresse
    J'ai trouvé une solution plutôt correcte et robuste, en compilant plusieurs idées.

    Tout d'abord, insérer une page sur deux blanche ou avec une image, ça se fait en mettant en préambule:
    \usepackage{afterpage}

    \makeatletter
    \newcommand\@addfig{\relax}
    \newcommand\addfig[1]{\global\long\def\@addfig{#1}}
    \newcommand\@putfig{\@addfig\addfig{\relax}}
    \newcommand\blankpage{%
    \null
    \vfill
    \@putfig%
    \vfill
    \thispagestyle{empty}%
    \clearpage%
    \addtocounter{page}{-1}
    \afterpage{\blankpage}}
    \makeatother

    Puis au début du document
    \afterpage{\blankpage}

    Après ça, dans le corps du texte, page précédente à la page en regard de laquelle on veut mettre l'image (si on ne met rien, il va s'insérer une page blanche non numérotée):
    \addfig{%
    \centering
    \includegraphics[scale=1]{Image1}
    \caption{Test}
    \label{Ima1}
    }

    Vous remarquerez que je n'ai pas fait d'environnement figure, afin que mon image soit centrée au milieu de la page, et pas en haut de page (il est difficile de trafiquer correctement la macro d'insertion pour manipuler correctement le flottant figure, dont l'insertion directe est plus pratique).

    Il faut donc redéfinir \caption pour que ça fonctionne hors flottant.

    C'est très classique avec ça en préambule:
    \makeatletter
    \def\@captype{figure}
    \makeatother

    Bien entendu, cela ne marche pas si vous avez et des images, et des tableaux. Dans ce cas il faut réellement créer d'autre caption avec d'autres noms (faisable mais plus lourd).

    Si vous faites tout cela, en mode oneside de la classe book vous obtiendrez un document avec:
    - Le texte sur les pages de droites
    - Les images, quand vous les mettez, sur les pages de gauches
    - Des pages de gauches non numérotées (mais ça peut se changer, il faut modifier \thispagestyle{empty} dans la macro)
    - Des caption qui fonctionnent et apparaissent dans la liste des illustrations avec comme numéro de page le numéro de la page en regard des illustrations

    J'espère que cela sera utile à d'autres que moi.

  3. #3
    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 550
    Points
    1 550
    Par défaut
    Citation Envoyé par Martigan Voir le message
    J'espère que cela sera utile à d'autres que moi.
    Merci de ta contribution
    À 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 €

  4. #4
    Candidat au Club
    Inscrit en
    janvier 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : janvier 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Salut,
    Avec cette methode je ne peux pas mettre plusieurs figures sur la page de gauche. Seule la derniere annoncee dans le texte s'affiche.

    De plus j'ai quelques fois deux pages blanches d'affilees, j'utilise la classe report.

    Y-a-t-il un moyen d'arranger les choses?

    Merci !

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2011
    Messages : 35
    Points : 41
    Points
    41
    Par défaut
    Plusieurs questions, plusieurs réponses:
    Pour afficher plusieurs figures, il faut toutes les mettre au sein de la commande addfig:

    \addfig{%
    \centering
    \includegraphics[scale=1]{Image1}
    \caption{caption1}
    \label{Ima1}
    \includegraphics[scale=1]{Image2}
    \caption{caption2}
    \label{Ima2}
    }
    par exemple, en jouant aussi avec des \vfill au milieu pour les écarter par exemple.

    Pour ce qui est de l'insertion de plusieurs pages, je ne sais pas.
    Cette méthode marche bien avec la classe book en mode oneside (important...), je ne sais pas pour report (voir si mettre en oneside résoud un problème...).
    Quelquefois j'ai un soucis avec les paragraphes trop longs, qui du coup ne me permettent pas d'insérer la page de figures. Si il y a deux pages, c'est peut-être que la classe report, à un endroit, en insère automatiquement.
    Pour ma part, je ne lance la commande \afterpage{\blankpage} qu'avant le corps du texte, et pas avant, pour ne pas interférer avec les pages de garde etc...

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 23/12/2010, 11h27
  2. Aligner du texte à droite ET à gauche
    Par vyctor dans le forum Word
    Réponses: 5
    Dernier message: 17/07/2008, 17h04
  3. Sur la même ligne mettre du texte à gauche et à droite
    Par Oberown dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 20/06/2007, 16h50
  4. Formulaire avec défilement texte droite et gauche.
    Par nico7792 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/04/2006, 13h44
  5. Aligner du texte à gauche et à droite sur une même ligne ?
    Par pontus21 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/04/2005, 12h25

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