Ceci est une ancienne révision du document !


Comment faire couler du texte autour de figures?

FIXME Le contenu de cette page a besoin d'une remise à jour, les choses ayant bien évolué depuis l'article de Piet van Oostrum de 1996.

Il existe plusieurs extensions LaTeX qui prétendent faire cela, mais elles ont tous leurs limites car le moteur TeX lui-même n'est pas vraiment conçu pour résoudre ce genre de problème. Piet van Oostrum a recensé les extensions disponibles en 1996 et a publié ses conclusions dans Maps, le journal du groupe néerlandais des utilisateurs de TeX, NTG; il recommande:

  • L'extension floatflt est une version améliorée (pour LaTeX2e) de l'antique floatfig.sty, et sa syntaxe est :
\begin{floatingfigure}[options]{largeur de la figure}
 % Contenu de la figure
\end{floatingfigure}

Il existe un environnement floatingtable, pour les tableaux, de syntaxe similaire.

Les tableaux ou figures peuvent être placés à gauche ou à droite, ou en alternance sur les pages paires ou impaires d'un document recto-verso.

L'extension est compatible avec l'extension multicol, mais ne fonctionne pas bien dans le voisinage des environnements de listes (à moins que vous ne changiez votre document LaTeX).

\begin{wrapfigure}[hauteur de la figure en nombre de lignes]{l,r,...}[débordement]{largeur}
  % Figure, légende, etc.
\end{wrapfigure}

La syntaxe de l'environnement wraptable est similaire.

La hauteur peut être omise, auquel cas elle sera calculée à partir de la taille de la figure ; l'environnement utilisera la plus grande des deux valeurs suivantes: la largeur spécifiée ou la largeur réelle. Le paramètre {l,r,etc.} peut également prendre la valeur i (pour inside, intérieur) ou o (pour outside, extérieur) pour les documents recto-verso, et les majuscules I et O peuvent être utilisées pour indiquer que l'image doit flotter. Le débordement permet de décaler la figure dans la marge. La figure ou le tableau apparaîtra dans la liste des figures ou des tableaux si vous utilisez la commande \caption.

The environments do not work within list environments that end before the figure or table has finished, but can be used in a \parbox or minipage, and in twocolumn format.

  • Picins is part of a large bundle that allows inclusion of pictures (e.g., with shadow boxes, various MS-DOS formats, etc.). The command for inserting a picture at the start of a paragraph is:
\parpic(largeur,hauteur)(décalage en horizontal,décalage vertical)[Options][Position]{Image}
 % Texte du paragraphe

All parameters except the Picture are optional. The picture can be positioned left or right, boxed with a rectangle, oval, shadowbox, dashed box, and a caption can be given which will be included in the list of figures.

Unfortunately (for those of us whose understanding of German is not good), the documentation is in German. Piet van Oostrum has written a summary in English.

All of the above deal insertions at one or other margin; they are able to take advantage of the TeX \parshape primitive that allows you to adjust the margins of the text of a paragraph, by line (Knuth provides an example of such use, with text typeset in a circle, half-overlapping the margin, in chapter 14 of the TeXbook). To place insertions in the middle of a paragraph requires effort of an entirely different sort; the cutwin package does this for you. It requires a set of “part line widths” (two per line), and typesets the “cutout” section of the paragraph line by line. The examples in the package documentation look enticing.

Plain TeX users only have one option: figflow (which doesn't work in LaTeX). Figflow only offers flowed figures at the start of the paragraph, but it seems perfectly functional. Syntax is

\figflow{<width>}{<height>}{<figure>}
L'utilisateur doit veiller à ce que les dimensions soient correctes et que la figure tienne sur une page.

Sources:

3_composition/flottants/faire_couler_le_texte_autour_d_une_figure2.1624039462.txt.gz · Dernière modification : 2021/06/18 18:04 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0