Encore les figures ! Moi, j'aime Word !

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
casier

Encore les figures ! Moi, j'aime Word !

Message non lu par casier »

salut à tous,

Bon, je blague, word c'est vraiment de la daube, mais voilà: moi, quand j'insère une figure, j'aime qu'elle soit à sa place, quitte à laisser 3 lignes de blanc en bas de la page...Mais avec Latex, c'est impossible, monsieur met du texte entre et du coup la figure est affichée quand ça n'a plus rien à voir, et ça, ça me gave.

J'aimerai au moins avoir la possiblité d'imposer à LATEX: "non, cette figure DOIT etre là où je le dis, pas de texte entre, même si tu dois laisser une demi-page vide OK !!!" quand cela est nécessaire, mais je n'y arrive pas, malgré mes recherches sur ce forum (et d'autres).

J'ai bien lu le post viewtopic.php?t=865, mais il semble que ce ne soit pas tout a fait pareil. J'ai essayé avec h! et tout ce qu'il faut, mais impossible...

Je résume pour ceux qui ne suivent plus :wink: : Je voudrais savoir s'il est possible d'imposer à une figures qu'elle soit pile poil là où on l'insère dans le code, pas de texte pioché à droite à gauche pour combler les trous...Typiquement, imaginez que je veuille faire un document dans lequel je mette:

Code : Tout sélectionner

Et comme on peut le voir sur cette figure:
LA FIGURE
la coube est décroissante
Voilà, là je veux absolument que la figure soit à sa place, même si elle est grosse ! Je veux pas qu'il me sorte un dvi avec:

Code : Tout sélectionner

Et comme on peut le voir sur cette figure:
la coube est décroissante
LA FIGURE
Bon, c'est un exemple débile, mais ça donne une idée de ce que je souhaite.

merci beaucoup !

PS: je suis sur qu'il est possible de faire ce que je demande puisque scientific word y arrive à la perfection, avec l'option "displayed" pour les figures. Ne me dites pas "ben fait avec sci word" :roll: !

--edit--
Bon, finalement, en mettant un \FloatBarrier juste après le \end{figure}, ça semble marcher...pour cette fois ! Mais ça ressemble à du bricolage...Si vous avez un moyen plus net (ou une explication si c'est vraiment le moyen le plus clean), je prends ! Merci encore !
jobherzt
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 433
Inscription : vendredi 13 janvier 2006, 13:13

Message non lu par jobherzt »

en meme temps, tu devrais aussi te poser la question de savoir pourquoi latex a ce comportement par defaut.. je te rappelle que le createur et les contributeurs de latex sont en general des integristes de la typographie, mais ils savent ce qu'ils font... dire "sous word j'y arrive" n'a pas de sens.. c'est justement le gros defaut de la plupart des utilisateurs de traitement de texte traditionnel que de cliquer un peu partout jusqu'a ce que ca "aie l'air bien"... sauf que la "bonne impression" visuelle ne traduit pas en general la qualité et le confort de lecture...

tout ca pour dire que mettre un blance en plein milieu d'un texte c'est moche, ca casse la lecture et ca n'a pas de sens. latex te met ca ou il faut, avec la legende qui va bien, donc pas de problemes...
casier

Message non lu par casier »

deux choses: je n'ai pas dit que sous word j'y arrive, mais sous scientific word, qui est un éditeur latex. Donc en latex c'est possible de faire ce que je demande puisque scientific word y arrive.
Deuxieme chose: je veux pas dire, mais "l'avantage" de latex du point de vue des figures, je ne l'ai jamais vu: ça m'a arrangé peut-être une fois ou deux et ça m'a dérangé toutes les autres fois (et elles sont nombreuses !). Un blanc ça casse la lecture ? Lorsque tu te retrouves avec une figure, prévue pour un endroit préçis, dans la section suivante dans laquelle elle n'a rien à voir, ça fait encore plus moche et si ça, ça casse pas la lecture je sais pas ce qu'il te faut. Les gros blancs d'une demi page, ça n'arrive jamais (faudrait manier d'énormes figures), au pire ils font quelques lignes et ça se remarque rarement, et je préfère ça que voir ces 2 ou 3 lignes remplies par du texte qui casse totalement le document lui...

Ceci dit, je suis d'accord avec toi et n'ai jamais remis en cause la puissance de Latex, sinon je ferai du word, et ça, c'est pas prêt d'arriver. Mais les figures, vraiment, je trouve que c'est la galère, l'utilisateur devrait avoir le pouvoir de dicter sa volonté lorsque c'est nécessaire (et ça l'est parfois !).

Les deux devrait être possibles: le laisser gérer ou l'imposer (comme sous scientifix word finalement), mais l'imposer pour de bon cette fois !! et ce n'est pas le cas puisque tous les utilisateurs latex que je connais (nombreux dans le monde de la recherche), qu'ils soient puristes ou pas, ont un repproche principal à faire à Latex: la gestion des figures. Je ne suis donc pas le seul...
Dernière modification par casier le vendredi 19 décembre 2008, 14:37, modifié 1 fois.
berns

Message non lu par berns »

Perso j'utilie :

Code : Tout sélectionner

\begin{figure}[H]  % un H majuscule
...
\end{figure}
avec le package float je crois.
Ca marche pas mal du tout.
jobherzt
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 433
Inscription : vendredi 13 janvier 2006, 13:13

Message non lu par jobherzt »

mouais, va ouvrir un bouquin de maths, et dis moi si d'un coup t'as des vieux blance juste pour que la figure soit en dessous... enfin, je dis ca, c'etait pas pour etre mechant !! juste pour faire remarquer que souvent (je ne parle pas pour toi, hein, c'est en general !!) quand l'utilisateur "dicte sa volonté" c'est la catastrophe.. chacun son truc, perso je n'y connais pas grand chose en typo, donc je fais confiance au gens qui ot concu latex dans la mesure ou c'est leur boulot. ca ne veut pas dire que je prend tout comme argent comptant, je modifie des trucs, mais globalement, si tous les bouquins que je connais gerent les figures comme ca, et latex aussi, et qu'en plus c'est souvent plus agreable a lire, ben je me dis que ca doit etre ca...
casier

Message non lu par casier »

des bouquins de maths c'est pas ce qu'il manque ici, donc oui je peux en ouvrir :wink: ...Mais qui a parlé d'un bouquin, bien sur qu'un bouquin ça se doit d'etre nickel et que des blancs ça le fait pas. Mais moi ce que je vois, c'est que pour le rapport que je suis en train de taper, et bien j'ai des grosses figures et que ces figures se retrouvent dans la sous-section suivante et page suivante, et ça fait vraiment nul, on capte rien. Je parle de toto, y'a rien, sous-section suivante je parle de titi et la figure toto arrive, je parle de tata et la figure titi arrive, génial...

Ceci dit, ce sont les règles oui, mais y'a des fois où on peut les forcer sans que ça ce voit trop. Typiquement, si il reste 3 lignes en fin de page et une figure à placer et que c'est la fin d'une section, ça fait raler que sur ces 3 lignes viennent se mettrent les titre et texte de la section suivante et que la figure arrive page suivante en plein milieu de nulle part. Autant laisser deux lignes de blancs, mettre la figure page suivante et commencer la section après, tu trouves pas toi ? Non ? Bon ben on est pas d'accord alors :wink: .

PS: et puis, reprend l'exemple ci-dessus, et remplace l'image par une matrice 10x10, que fait latex ? Il laisse un blanc et met la matrice sur la page suivante (heureusement !)...les blancs sont donc bien présents dans les bouquins de math aussi, suffit de chercher...eh bien je trouve qu'il devrait faire pareil pour les figures si on le désire et dans la mesure où le blanc engendré n'est pas trop craingnos (genre 2-3 lignes).

PPS:
berns a écrit :Perso j'utilie :

Code : Tout sélectionner

\begin{figure}[H]  % un H majuscule
...
\end{figure}
avec le package float je crois.
Ca marche pas mal du tout.
ok, merci je vais voir ! --> ça marche très bien aussi ! merci !
François D.
Utilisateur chevronné
Utilisateur chevronné
Messages : 1367
Inscription : dimanche 30 juillet 2006, 10:04
Localisation : Alsace

Message non lu par François D. »

Pour forcer le passage à une nouvelle page (ce qui peut suffire dans le cas présent), il y a la commande \newpage :idea: ...
casier

Message non lu par casier »

François D. a écrit :Pour forcer le passage à une nouvelle page (ce qui peut suffire dans le cas présent), il y a la commande \newpage :idea: ...
heuu, oui, mais CA, c'est du bricolage à la word ! SI je rajoute du texte à mon document entre temps, la mise en page est obsolète ! Latex est là pour empécher ça justement !
François D.
Utilisateur chevronné
Utilisateur chevronné
Messages : 1367
Inscription : dimanche 30 juillet 2006, 10:04
Localisation : Alsace

Message non lu par François D. »

Je ne dis pas le contraire, mais effectivement : soit on laisse $\LaTeX$ gérer la mise en page tout seul (avec une figure référencée qui peut être séparée du texte la concerant), soit on veut contrôler (presque) tout soi-même comme sous Word, et dans ce cas on est vite forcé de recourir à du bricolage :? ...

Bon, si c'est une image, on peut aussi insérer une figure plus simplement par \includegraphics , quitte à centrer le tout.
namad

Message non lu par namad »

J'ai lu en diagonales les différentes réponses, donc excusez moi si j'ai raté qqchose.
alors voila comment je procède pour le placement des figures avec le package graphics et/ou graphicx.
Tout est dans l'option

Code : Tout sélectionner

\begin{figure}[htbp] \centering
	  \includegraphics[height=2 cm]{eps/hall.eps}
		\caption{effet Hall}\label{fig:hall}
\end{figure}
l'option [] te permet de définir où tu veux mettre ta figure:
h:here
t:top
b:bottom
p: je sais plus

tu le savais peux être déjà, dans ce cas je reconnais l'inutilité de ma réponse

en général ça marche pas mal donc pour ton cas ça serait :\begin{figure} ...

Bonne rédac!
berns

Message non lu par berns »

@namad : Et si en plus tu utilise le package float, tu as une possibilité supplémentaire pour "l'option" c'est le H majuscule qui force vraiment le placement d'un flottant... à la word...

Disons que ça peu être pratique dans un cas comme celui de notre ami casier ;-)
namad

Message non lu par namad »

@ berns à propos du package float

ça je l'avais vu et je l'ai précieusement noté :D
casier

Message non lu par casier »

merci pour vois réponses. Oui, je connais bien sur le h entre crochet, mais ça ne suffit pas. L'option H par contre convient parfaitement.
Il y a donc deux moyens d'imposer à une figure son placement, qui fonctionnent toutes les deux: l'emploi de \FloatBarrier ou bien l'option H.
casier

Message non lu par casier »

dites, je vais peut-être abuser, mais j'ai une petite question (sans doute idiote) qui n'a rien à voir: je souhaite que mon introduction et mes annexes figurent dans la table des matières mais ne prennent pas un numéro de section.

Pour le moment, intro et Annexes sont des sections comme les autres sections (avec \section{Introduction} etc ), mais du coup, l'intro porte le numér1, puis etc, puis les annexes sont aussi numérotées; et ça c'est un peu nul...

J'ai essayé avec un \section*{Intro}, mais là ça n'apparait plus dans la table des matières, du coup ça me va pas non plus.

Comment puis-je faire ?
lebendre

Message non lu par lebendre »

Pour ça j'ai fait

Code : Tout sélectionner

\section*{Introduction}
\addcontentsline{toc}{section}{Introduction}
et ça fonctionne très bien!
casier

Message non lu par casier »

aaah, voilà, c'est addcontentsline que je cherchais depuis hier, impossible de m'en souvenir ! merci bien !
namad

Message non lu par namad »

Salut

pour distinguer la numérotation des annexes du reste, il faut insérer "\appendix" juste avant "\section{Mon annexe n°1}"

fonctionne pour la classe "report"

voilà!
casier

Message non lu par casier »

oui, mais ça numérote avec A et B, moi je voudrais que ce ne soit pas du tout numéroté.
Addcontentsline le fait, mais y'a un truc qui m'embete: c'est que c'est un peu du bricolage, ça va un peu à l'encontre du Latex, où tout est géré coté numérotation. Là, je mets un section*{Annexe}, donc la section n'est pas numéroté, donc ok, mais toutes les sous section de cette section portent du coup le numéro de la section précédente ! En gros, il faut mettre un * devant toutes les sous-section aussi, et un addcontentsline devant toutes les soussection aussi. Bon, mais ça ce serait pas trop grave si y'avait pas un autre problème: c'est qu'il faut lui préciser le nom de ce qui aparaitra dans la table des matières, et ça, ça me choque un peu, parceque si je change le nom d'une section ou subsection, il faudra aussi que je modifie à la main le nom de ce que'il y a dans le \addcontentsline ! On se croirait un peu dans word où il faut tout numéroter à la main et tout.
Je m'explique plus clairement:

Code : Tout sélectionner

\section*{Annexe A}
\addcontentsline{top}{section}{Annexe A}
\subsection*{subsection de l'annexe A}
\addcontentsline{top}{subsection}{subsection de l'annexe A}
et je fais ça autant de fois que j'ai de sous section et d'annexe. Bon, et là, je change mon rapport et je renomme mon Annexe A en "Annexe A: notation", et bien qu'est-ce qu'il se passe ? Ben si je le change pas dans le addcontentsline, je vais avoir "Annexe A" au lieu de "Annexe A: notation" dans la table des matieres, et je risque de pas m'en apercevoir...

Voilà, je trouve ça un peu bête non ? On peut pas lui dire "mets dans le addcontentsline le même nom que le nom de la section", de manière à ce que si on change le nom de la section ça le modifie aussi dans la table des matieres ?
Sajid

Message non lu par Sajid »

En fait, le package qui permet d'utiliser l'option H est here. Le package float l'utilise et permet bien d'autres choses autrement plus sophistiquées.
Il y a aussi le package placeins avec l'option section par exemple qui place automatiquement un \FloatBarrier avant chaque début de section.
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre
Contact :

Message non lu par rebouxo »

casier a écrit : [SNIP]

Code : Tout sélectionner

\section*{Annexe A}
\addcontentsline{top}{section}{Annexe A}
\subsection*{subsection de l'annexe A}
\addcontentsline{top}{subsection}{subsection de l'annexe A}
[SNIP]

Code : Tout sélectionner

\documentclass[oneside]{report}
\begin{document}
\frontmatter

\section{Introduction}
\mainmatter
\section{MaSection1}
...
\backmatter
\section{Appendice1} 
\end{document}

Olivier
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message