Comment fondre une image dans du texte ?

recherche d'un mot
* Le package 'floatfig', de T. Kneser, disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/other/floatfig/, permet d'entourer
une figure de texte de manière très efficace grâce à
l'environnement floatingfigure. Ce package a été conçu pour
LaTeX2.09, pour des documents sans colonnes.

Exemple :
\begin{floatingfigure}[l]{4cm}
   \includegraphics[width=4cm]{dessin}
   \caption{Titre}
\end{floatingfigure}
%%%% fin exemple %%%%

Remarque : le [l] du \begin{float...} sert à mettre la figure à
	   gauche. [r] permet de l'avoir à droite, [p] la met
	   à gauche sur une page de gauche et à droite sur une
	   page de droite.

* Le package 'floatflt', de T. Kneser et M. Dahlgren, disponible
sur ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/other/floatflt/, a été écrit
pour LaTeX2e. Il étend les possibilités de floatfig par de
nombreuses options et est utilisable pour les figures et les
tableaux.

Exemple :
\begin{floatingfigure}[options]{width of figure}
   figure contents
\end{floatingfigure}
%%%% fin exemple %%%%

* Le package 'picinpar' pour LaTeX2.09 est disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex209/contrib/picinpar/ et sur
ftp://ftp.inria.fr/pub/TeX/CTAN/systems/msdos/4alltex/disk04/. Il permet de définir un nombre
de lignes avant lequel la figure pourra être insérée dans le
texte. La taille de la figure dépend de son contenu, sa position
est variable, et peut s'étaler sur plusieurs paragraphes.

ATTENTION : Ce package n'est pas compatible avec amstex.

Exemple :
\begin{window}[#lines before, l|r|c, picture contents, caption}
   ... paragraph text ...
\end{window}
%%%% fin exemple %%%%

* Mieux que le précédent, le package 'picins' disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex209/contrib/picins/ permet d'inclure des
figures dans des paragraphes.

Exemple :
\parpic(width,height)(x-off,y-off)[Options][Position]{Picture}
    Paragraph text....
%%%% fin exemple %%%%

* Le package 'wrapfig' permet de définir la hauteur de la
figure, celle-ci ci peut apparaître à droite ou à gauche dans le
texte ou encore dans une marge. Ce package n'est pas compatible
avec les environnements de liste.

Exemple :
\begin{wrapfigure}[height in lines]{l|r}[overhang]{width}
   {figure, caption etc.}
\end{wrapfigure}
%%%% fin exemple %%%%

* Le package 'flow' met obligatoirement la figure dans une boîte
avec un cadre et ne permet pas de définir de caption.

Exemple :
\flow[L|R]{paragraph text}{figure box}
%%%% fin exemple %%%%

* Le package 'window' de E. Schaluck, permet également
d'intégrer une figure dans un paragraphe mais il n'est plus
maintenu. Il a été écrit pour LaTeX2.09 mais il est compatible
LaTeX2e.

Exemple :
\windowbox[toplines][inwindow: contents][ratio: l r]
... paragraph text ... \par
%%%% fin exemple %%%%


Voici les résultats d'un test comparatif effectué par P. van
Oostrum :
            A B C D E F G H I J K
picinipar  |+|+|+| |+|+| |+| | | |
wrapfig    |+|+|+|+| | |+|H|-|+| |
flow       |-|-|+| | | | |+| | | |
floatfig   |+|-|-|+| | |+| | |-| |
floatflt   |+|+|+|+| | |+| |-| |+|
window     |-|-|+| |+|+| |+| | | |
picins     |+|-|+|+| | | |+|+| | |

avec :
A: figure captions/counting/list of figures
B: table captions/counting/list of tables
C: Left/right possible (+ = both)
D: Alternating left/right for twosided docs
E: can be placed in the middle of text with twosided flowing
F: possible to start after the beginning of paragraph
G: can (more or less) float in the text
H: auto detection of size of figure (H=height only)
I: works with list environments
J: works with twocolumn
K: works with multicol

Les meilleurs packages semblent être :
picins, floatflt et wrapfig.

* Voici également une macro de C. Mercat :

%%%% debut macro %%%%
\def\textdess#1#2 % #1={blabla} #2=\dessin{monbodessin}
{\hbox{

\setbox2=\hbox{#2} %c'est le dessin

\count2=\wd2 %c'est la largeur du dessin.
%\showthe\count2
\multiply\count2 by-1
\advance\count2 by\hsize %count2 vaut le reste de la page
\advance\count2 by-2000000  %c'est pour la marge droite
\count1=\count2
\advance\count2 by-2000000  %c'est pour la marge du milieu
\setbox1=\hbox to\count1sp{     %c'est le texte
\vbox{\hsize=\count2sp  %c'est la largeur
#1
}\hfill}
\count1=\ht1  %c'est la hauteur
\advance\count1 \dp1

\count2=\ht2
\advance\count0 \dp2


\ifnum\count2<\count1 \count2=\count1 \fi
%c'est la + grde des 2 hauteurs
\vtop to \count2sp {\vfill \box1 \vfill}
\vtop to \count2sp {\vfill \box2 \vfill}
}}

%%%% fin macro %%%%

Retour à la FAQ LaTeX
Proposition de modification de la FAQ LaTeX :
bayartb at edgard point fdn point fr
Commentaire sur la version HTML de cette FAQ :
Fabien Torre
© Copyright 1997 Marie-Paule Kluth. Tous droits réservés.

Valid XHTML 1.0! Valid CSS!