Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
3_composition:flottants:habiller_une_image_avec_du_texte [2021/06/28 17:54] – Début de fusion des pages "3_composition/flottants/faire_couler_le_texte_autour_d_une_figure" et "3_composition/flottants/faire_couler_le_texte_autour_d_une_figure2". jejust3_composition:flottants:habiller_une_image_avec_du_texte [2022/10/06 19:33] (Version actuelle) – [Avec l'extension “picins”] Reformulation dbitouze
Ligne 14: Ligne 14:
 ===== Avec l'extension “floatflt” ===== ===== Avec l'extension “floatflt” =====
  
-L'extension [[ctanpkg>floatflt]] est une version améliorée (pour LaTeX2e) de l'antique ''floatfig.sty'', +L'extension [[ctanpkg>floatflt]] est une version améliorée (pour LaTeX2e) de l'antique ''floatfig.sty''. 
-et sa syntaxe est : +Elle définit des environnements ''floatingfigure'' et ''floatingtable'', qui permettent d'entourer 
 +la figure ou le tableau (respectivement) de texte. 
 +Sa syntaxe est :
 <code latex> <code latex>
 \begin{floatingfigure}[options]{largeur de la figure} \begin{floatingfigure}[options]{largeur de la figure}
Ligne 22: Ligne 23:
 \end{floatingfigure} \end{floatingfigure}
 </code> </code>
- 
-Il existe un environnement ''floatingtable'', pour les tableaux, de syntaxe similaire. 
  
 Les tableaux ou figures peuvent être placés à gauche ou à droite, ou alternativement Les tableaux ou figures peuvent être placés à gauche ou à droite, ou alternativement
Ligne 30: Ligne 29:
 L'extension est compatible avec l'extension [[ctanpkg>multicol]], mais ne fonctionne pas bien L'extension est compatible avec l'extension [[ctanpkg>multicol]], mais ne fonctionne pas bien
 dans le voisinage des environnements de listes. dans le voisinage des environnements de listes.
 +
 +Exemple complet:
 +
 +<latexdoc>
 +\documentclass{report}
 +  \usepackage{lmodern}
 +  \usepackage{microtype}
 +  \usepackage[french]{babel}
 +  \usepackage{floatflt}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +\begin{floatingtable}[l]{%
 + \begin{tabular}{|p{3cm}|p{3cm}|}
 +  \hline
 +  package \texttt{floatfig} &
 +  package \texttt{floatflt} \\
 +  \hline
 +  gère uniquement les figures &
 +  gère les figures et les tableaux \\
 +  \hline
 +  place toujours le flottant à droite sur
 +  une page impaire, et à gauche sur une page
 +  paire &
 +  permet de placer le flottant à droite, à
 +  gauche, ou en fonction de la parité de la
 +  page \\
 +  \hline
 +  non utilisable en mode multicolonne &
 +  compatible avec le package
 +  \texttt{multicol} \\
 +  \hline
 + \end{tabular}}
 + \caption{Un tableau}\label{letableau}
 +\end{floatingtable}
 +Le package \texttt{floatflt} permet de choisir
 +le placement de la figure : à gauche (\texttt{[l]}),
 +à droite (\texttt{[r]}), ou \og{}à
 +l'extérieur\fg{} (\texttt{[p]}) pour les
 +documents recto-verso.
 +Au vu du tableau ci-contre, le package
 +\texttt{floatflt} devrait toujours être
 +préféré à son prédécesseur, sauf si
 +c'est pour utiliser dans un environnement de
 +listes. Il faut noter également que
 +l'environnement \texttt{floatingtable} a une
 +structure  différente de celle de l'environnement
 +\texttt{floatingfigure} : on ne spécifie pas
 +la longueur du flottant, mais on passe tout le
 +tableau en argument. Le flottant est adapté à
 +la longueur du tableau.
 +\end{document}
 +</latexdoc>
 +
  
 ===== Avec l'extension “wrapfig” ===== ===== Avec l'extension “wrapfig” =====
Ligne 52: Ligne 105:
 Les environnements ne fonctionnent pas dans les environnements de liste qui se terminent avant la fin de la figure ou du tableau, Les environnements ne fonctionnent pas dans les environnements de liste qui se terminent avant la fin de la figure ou du tableau,
 mais ils peuvent être utilisés dans une ''\parbox'' ou une ''minipage'', et dans une mise en page en deux colonnes. mais ils peuvent être utilisés dans une ''\parbox'' ou une ''minipage'', et dans une mise en page en deux colonnes.
 +
 +Exemple complet:
 +
 +[[ctanpkg>wrapfig]] est une autre variante permettant de fondre une image
 +dans le texte. Il est possible de faire dépasser la figure (ou le
 +tableau) dans la marge, par exemple:
 +
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage{lmodern}
 +  \usepackage{microtype}
 +  \usepackage[french]{babel}
 +  \usepackage{wrapfig}
 +  \usepackage{array}
 +  \usepackage{pifont}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +\section{Fondre une image ou un tableau dans le texte}
 +\begin{wraptable}{r}[1cm]{8.5cm}
 +\newcommand{\p}{\ding{51}}
 +\newcommand{\m}{\ding{55}}
 +\newcommand\w{}
 +\newcommand\h{h}
 +\begin{tabular}{|l|*{11}{c|}}
 +\cline{2-11}
 +\multicolumn{1}{c|}{} &
 + A & B & C & D & E & F & G & H & I & J \\ \hline
 +{\ttfamily picinpar} &
 +\p &\p &\p &\w &\p &\w &\p & \w& \w& \w\\ \hline
 +{\ttfamily picins} &
 +\p &\m &\p &\p &\w &\w &\p & \p& \w& \w\\ \hline
 +{\ttfamily floatfig} &
 +\p &\m &\m &\p &\w &\w &\w & \w& \m& \w\\ \hline
 +{\ttfamily floatflt} &
 +\p &\p &\p &\p &\w &\w &\w & \m& \w& \p\\ \hline
 +{\ttfamily wrapfig} &
 +\p &\p &\p &\p &\w &\w &\h & \m& \p& \w\\ \hline
 +{\ttfamily window} &
 +\m &\m &\p &\w &\p &\p &\p & \w& \w& \w\\ \hline
 +{\ttfamily flow} &
 +\m &\m &\p &\w &\w &\w &\p & \w& \w& \w\\ \hline
 +\end{tabular}
 +\caption{Les différents packages permettant de
 +fondre une image dans le texte}\label{tab}
 +\end{wraptable}
 +Le tableau ci-contre contient l'ensemble des
 +résultats d'un test comparant les différents
 +packages permettant de fondre un tableau ou une
 +image dans un paragraphe. Ce test a été
 +effectué par Piet \textsc{Van Oostrum}. Avant de commencer
 +à décrire la signification de chaque colonne,
 +je précise que le package \texttt{wrapfig}
 +n'est pas compatible avec un environnement de type
 +liste. En fait, je dis cela juste pour gagner un
 +peu de place pour habiller joliment mon tableau.
 +La signification de chaque colonne est donnée plus bas:
 +
 +\end{document}
 +</latexdoc>
  
  
Ligne 63: Ligne 176:
  % Texte du paragraphe  % Texte du paragraphe
 </code> </code>
-    + 
 +Cette extension est la seule permettant de fondre une image au milieu d'un environnement de liste. 
 +Elle permet également d'encadrer la figure par un rectangle, un ovale, une ombre, un rectangle pointillé, et on peut lui ajouter une légende 
 +qui sera incluse dans la liste des figures. Par contre, elle ne gère que les figures. 
 Tous les paramètres, sauf l'image elle-même, sont facultatifs. L'image peut être positionnée à gauche ou à droite, Tous les paramètres, sauf l'image elle-même, sont facultatifs. L'image peut être positionnée à gauche ou à droite,
-encadrée par un rectangle, un ovale, une ombre, un rectangle pointillé, et on peut lui ajouter une légende +ou encadrée.
-qui sera incluse dans la liste des figures.+
  
 Malheureusement (pour ceux qui ne parlent pas allemand), [[http://mirrors.ctan.org/macros/latex209/contrib/picins/mpic.dvi|la documentation est en allemand]]. Malheureusement (pour ceux qui ne parlent pas allemand), [[http://mirrors.ctan.org/macros/latex209/contrib/picins/mpic.dvi|la documentation est en allemand]].
 Piet van Oostrum en a écrit [[http://mirrors.ctan.org/macros/latex209/contrib/picins/picins.txt|un résumé en anglais]]. Piet van Oostrum en a écrit [[http://mirrors.ctan.org/macros/latex209/contrib/picins/picins.txt|un résumé en anglais]].
  
 +Exemple:
 +
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage{lmodern}
 +  \usepackage{microtype}
 +  \usepackage[french]{babel}
 +  \usepackage{picins}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +\pichskip{1cm}
 +Voici les avantages du package \texttt{picins}:
 +
 +\begin{itemize}
 +\item il permet de placer des figures dans des 
 +environnements de type \og{}liste\fg{}, contrairement 
 +aux autres packages du même genre. Il faut 
 +cependant placer la commande \verb+\parpic+ à 
 +l'intérieur de l'environnement liste pour que 
 +cela marche ;%
 +\parpic[ro]{\Huge F.A.Q.\ \LaTeX{} 
 +\vrule height 2.5ex depth 1ex width 0pt
 +% Le \vrule, c'est pour espacer un peu le cadre
 +}%
 +\item il s'utilise de façon très simple, et 
 +calcule le nombre de lignes à rétrécir ;
 +\item il permet, de manière très simple, 
 +d'encadrer la figure. Il est également possible 
 +de placer une légende au-dessous ou à côté
 +de la figure, dans ou à l'extérieur de
 +l'éventuel cadre.
 +\end{itemize}
 +\end{document}
 +</latexdoc>
 +
 +
 +===== Avec l'extension “picinpar” =====
 +
 +Le package [[ctanpkg>picinpar]] permet encore plus de choses : en
 +particulier, mettre du texte tout autour du flottant, pas uniquement à
 +droite ou à gauche et pas uniquement au-dessous. Techniquement, c'est
 +très beau, pratiquement, c'est assez difficile à lire. Les
 +environnements que propose ce package s'appellent ''figwindow'' et
 +''tabwindow'', qui prennent en argument optionnel le nombre de lignes de
 +texte qui doivent précéder le flottant, le placement horizontal du
 +flottant (''l'', ''c'', ''r''), le contenu du flottant, et la légende.
 +Ensuite vient le texte du paragraphe. L'exemple suivant montre comment
 +tout cela fonctionne. Noter que ce package est incompatible avec AmSLaTeX.
 +
 +
 +<note important>
 +[[ctanpkg>picinpar|Picinpar]] est considéré comme [[1_generalites:histoire:liste_des_packages_obsoletes|obsolète]].
 +
 +Il a été développé pour LaTeX 2.09. Il se trouve qu'il fonctionne encore actuellement avec ''pdflatex'' mais plus avec ''lualatex''
 +(voir [[https://faq.gutenberg.eu.org/3_composition/flottants/faire_couler_le_texte_autour_d_une_figure?rev=1624906214|cet exemple]]).
 +
 +</note>
 +
 +
 +===== Avec l'extension “cutwin” =====
  
 Toutes les solutions ci-dessus traitent des insertions dans les marges; elles sont capables de tirer parti Toutes les solutions ci-dessus traitent des insertions dans les marges; elles sont capables de tirer parti
 de la primitive TeX ''\parshape'' qui permet d'ajuster les marges du texte d'un paragraphe, ligne par ligne de la primitive TeX ''\parshape'' qui permet d'ajuster les marges du texte d'un paragraphe, ligne par ligne
 (Knuth fournit un exemple d'une telle utilisation, avec du texte inscrit dans un cercle, à moitié dans la marge, (Knuth fournit un exemple d'une telle utilisation, avec du texte inscrit dans un cercle, à moitié dans la marge,
-au chapitre 14 du [[1_generalites:documentation:livres:documents_sur_tex|TeXbook]]).+au chapitre(nbsp)14 du <latex>\TeX</latex>[[1_generalites/documentation/livres/documents_sur_tex|book]]).
 Insérer une image au milieu d'un paragraphe est beaucoup plus délicat... L'extension [[ctanpkg>cutwin]] est faite pour ça, Insérer une image au milieu d'un paragraphe est beaucoup plus délicat... L'extension [[ctanpkg>cutwin]] est faite pour ça,
 comme son nom l'indique, elle « découpe une fenêtre » dans le texte. comme son nom l'indique, elle « découpe une fenêtre » dans le texte.
Ligne 81: Ligne 258:
 ligne par ligne. Les exemples dans la documentation du paquetage sont séduisants. ligne par ligne. Les exemples dans la documentation du paquetage sont séduisants.
  
-===== Avec l'extension “figflow” (pour Plain Tex uniquement) ===== 
- 
-Les utilisateurs de Plain TeX n'ont qu'une seule possibilité à leur disposition: 
-[[ctanpkg>figflow]] (qui ne fonctionne pas avec LaTeX). [[ctanpkg>Figflow]] ne sait insérer 
-les figures qu'en début de paragraphe, mais il semble parfaitement fonctionnel. Sa syntaxe est  
-<code latex> 
-\figflow{<largeur>}{<hauteur>}{<figure>} 
-</code> 
- 
-<note important> 
-L'utilisateur doit veiller à ce que les dimensions soient correctes et que la figure tienne sur une page.  
-</note> 
  
 ===== Avec l'extension “pullquote” ===== ===== Avec l'extension “pullquote” =====
Ligne 115: Ligne 280:
  
  
-===== Tableau récapitulatif =====+===== Avec l'extension “figflow” (pour Plain Tex uniquement) =====
  
-<WRAP column 51ex>+Les utilisateurs de Plain TeX n'ont qu'une seule possibilité à leur disposition: 
 +[[ctanpkg>figflow]] (qui ne fonctionne pas avec LaTeX). [[ctanpkg>figflow|Figflow]] ne sait insérer 
 +les figures qu'en début de paragraphe, mais il semble parfaitement fonctionnel. Sa syntaxe est 
 <code latex> <code latex>
-\begin{table*}[t] +\figflow{⟨largeur⟩}{⟨hauteur⟩}{⟨figure⟩}
-\newcommand{\p}{{\color[rgb]{0,.6,0}\checkmark}} +
-\newcommand{\m}{{\color[rgb]{.6,0,0}{$\times$}}} +
-\newcommand\w{} +
-\newcommand\h{h} +
-+
-\begin{center} +
-\caption{Tableau récapitulatif}\label{tabrecap} +
-\begin{tabular}{|l|*{11}{c|}} +
-\cline{2-11} +
-\multicolumn{1}{c|}{} & +
- A & B & C & D & E & F & G & H & I & J \\ \hline +
-{\ttfamily picinpar} & +
-\p &\p &\p &\w &\p &\w &\p & \w& \w& \w\\ \hline +
-{\ttfamily picins} & +
-\p &\m &\p &\p &\w &\w &\p & \p& \w& \w\\ \hline +
-{\ttfamily floatfig} & +
-\p &\m &\m &\p &\w &\w &\w & \w& \m& \w\\ \hline +
-{\ttfamily floatflt} & +
-\p &\p &\p &\p &\w &\w &\w & \m& \w& \p\\ \hline +
-{\ttfamily wrapfig} & +
-\p &\p &\p &\p &\w &\w &\h & \m& \p& \w\\ \hline +
-{\ttfamily window} & +
-\m &\m &\p &\w &\p &\p &\p & \w& \w& \w\\ \hline +
-{\ttfamily flow} & +
-\m &\m &\p &\w &\w &\w &\p & \w& \w& \w\\ \hline +
-\end{tabular} +
-\end{center} +
-\end{table*}+
 </code> </code>
 +
 +<note important>
 +L'utilisateur doit veiller à ce que les dimensions soient correctes et que la figure tienne sur une page. 
 +</note>
 +
 +
 +===== Tableau récapitulatif =====
 +
 +
 +<WRAP column 31ex>
 +^          ^  A  ^  B  ^  C  ^  D  ^  E  ^  F  ^  G  ^  H  ^  I  ^  J  ^
 +|''picins''    |  ✓  |  ✕  |  ✓  |  ✓  |          ✓  |  ✓  |         |
 +|''floatfig''  |  ✓  |  ✕  |  ✕  |  ✓  |                  ✕  |     |
 +|''floatflt''  |  ✓  |  ✓  |  ✓  |  ✓  |              ✕  |      ✓  |
 +|''wrapfig''    ✓  |  ✓  |  ✓  |  ✓  |          h  |  ✕  |  ✓  |     |
 +|''window''    |  ✕  |  ✕  |  ✓  |      ✓  |  ✓  |  ✓  |             |
 +|''flow''      |  ✕  |  ✕  |      ✓  |          ✓  |             |
 +
 </WRAP> </WRAP>
-<WRAP column 30ex+<WRAP column 90ex
-<latex> + 
-\begin{table*}[t] + 
-\newcommand{\p}{{\color[rgb]{0,.6,0}\checkmark}} +  * **A** gestion des figures (légendecompteurliste) 
-\newcommand{\m}{{\color[rgb]{.6,0,0}{$\times$}}} +  * **B** gestion des tableaux (légendecompteurliste) 
-\newcommand\w{} +  **C** possibilité d'aligner le flottant à gauche ou à droite 
-\newcommand\h{h} +  * **D** possibilité d'aligner le flottant à l'extérieur, dans le cas d'un document recto-verso 
-% +  * **E** possibilité de mettre du texte des deux côtés du flottant 
-\begin{center} +  * **F** possibilité de placer le flottant après le début du paragraphe 
-\caption{Tableau récapitulatif}\label{tabrecap} +  * **G** calcul automatique de la taille (pour ''wrapfig'', seule la hauteur peut être calculée) 
-\begin{tabular}{|l|*{11}{c|}} +  * **H** compatible avec un environnement de liste 
-\cline{2-11} +  **I** fonctionne avec ''twocolumn'' 
-\multicolumn{1}{c|}{} & +  * **J** fonctionne avec ''multicol''
- A & B & C & D & & F & G & H & I & J \\ \hline +
-{\ttfamily picinpar} & +
-\p &\p &\p &\w &\p &\w &\p & \w& \w& \w\\ \hline +
-{\ttfamily picins} & +
-\p &\m &\p &\p &\w &\w &\p & \p& \w& \w\\ \hline +
-{\ttfamily floatfig} & +
-\p &\m &\m &\p &\w &\w &\w & \w& \m& \w\\ \hline +
-{\ttfamily floatflt} & +
-\p &\p &\p &\p &\w &\w &\w & \m& \w& \p\\ \hline +
-{\ttfamily wrapfig} & +
-\p &\p &\p &\p &\w &\w &\h & \m& \p& \w\\ \hline +
-{\ttfamily window} & +
-\m &\m &\p &\w &\p &\p &\p & \w& \w& \w\\ \hline +
-{\ttfamily flow} & +
-\m &\m &\p &\w &\w &\w &\p & \w& \w& \w\\ \hline +
-\end{tabular} +
-\end{center} +
-\end{table*} +
-</latex>+
 </WRAP> </WRAP>
 <WRAP clear /> <WRAP clear />
Ligne 190: Ligne 328:
   * [[faquk>FAQ-textflow|Flowing text around figures]],   * [[faquk>FAQ-textflow|Flowing text around figures]],
   * [[https://borntocode.fr/latex-citation-et-habillage-carre-pull-quotes/|Citation et habillage de texte (pull quotes)]],   * [[https://borntocode.fr/latex-citation-et-habillage-carre-pull-quotes/|Citation et habillage de texte (pull quotes)]],
 +  * [[https://www.mathematex.fr/viewtopic.php?t=15622|Équivalent de “float” en HTML]],
   * [[https://tex.stackexchange.com/questions/32226/how-to-layout-irregular-paragraph-shape|How to layout irregular paragraph shape?]]   * [[https://tex.stackexchange.com/questions/32226/how-to-layout-irregular-paragraph-shape|How to layout irregular paragraph shape?]]
   * [[https://tex.stackexchange.com/questions/473191/how-to-wrap-text-around-part-of-a-figure|How to wrap text around part of a figure?]]   * [[https://tex.stackexchange.com/questions/473191/how-to-wrap-text-around-part-of-a-figure|How to wrap text around part of a figure?]]
3_composition/flottants/habiller_une_image_avec_du_texte.1624902882.txt.gz · Dernière modification : 2021/06/28 17:54 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0