Où trouver un logiciel de dessin?

Il en existe une multitude, que je vais découper en deux grandes catégories : les outils « extérieurs » à \LaTeX, qui nécessitent de passer par un fichier intermédiaire, et ceux qui s'intègrent directement dans \LaTeX.

Pour ce qui est des logiciels extérieurs, on peut encore distinguer deux sous-catégories : les logiciels de dessin vectoriel qui décrivent la figure à l'aide d'objets tels les cercles et les segments, et les logiciels de dessin bitmap pour qui une image n'est qu'une matrice de pixels.

$\Reponse$ xfig, disponible sur le CTAN ou sur son site web pour Linux et Windows. Il est très simple à utiliser, et permet d'inclure des commandes \LaTeX dans le dessin (ces commandes seront donc exécutées à la compilation du document, voir la question \vref{q25.2}), et d'exporter l'image en PostScript encapsulé (EPS).

Il est en existe plusieurs portages : une version pour Windows, WinFIG et une version java (donc fonctionnant sur de nombreuses plate-formes), jfig,

$\Reponse$ eukleides pour Linux et Windows : adapté pour les figures de géométrie euclidienne, ligne de commande, produit du code PStricks.

Inconvénients : en ligne de commande et surtout une fois la figure compilée les légendes sont légèrement décalées par rapport à la fenêtre eukleides de départ. Long à maîtriser.

Avantages : bien adapté pour la géométrie euclidienne et sort de jolies figures. Produit du code PStricks donc éditable par la suite dans le document. Possibilité de lui demander un segment d'une longueur donnée, ou un angle précis ;

$\Reponse$ declic : pour Linux et Windows. Exporte maintenant en EPS. Bien adapté à la géométrie, mais les polices de caractère ne sont pas belles dans le document final ;

$\Reponse$ jpicedt : programme java générant directement du code \LaTeX et possédant une interface graphique. Très bien pour les figures simples. Nécessite un peu d'habitude pour les figures complexes

$\Reponse$ TeXgraph: pour les graphiques ou autres, génère du code \LaTeX et/ou PStricks.

$\Reponse$ En ce qui concerne les logiciels de dessin bitmap, on peut citer The Gimp, POV-ray, et plus généralement, tout logiciel de dessin avec interface graphique. Certains de ces logiciels n'exportent pas directement au format EPS. Mais à partir d'une image au format JPEG, par exemple, il est possible d'obtenir la même image en EPS, avec les convertisseurs imgtops, jpeg2ps, ou convert d'ImageMagick. La qualité et la taille du résultat peut varier d'un convertisseur à l'autre…

Parmi les outils qui s'intègrent dans \LaTeX, on trouve :

$\Reponse$ \LaTeX lui-même permet de faire des figures géométriques simples… Un petit exemple est montré ici:

\setlength\unitlength{1mm}
\begin{picture}(32,40)(-2,-2)
\put(0,0){\circle{1}}
\put(25,0){\line(-1,2){10}}
\put(12,26){\circle*{15}}
\qbezier(5,5)(30,40)(25,0)
\end{picture}

$\Reponse$ PStricks, développé essentiellement par Timothy Van Zandt, est un ensemble de packages permettant de faire à peu près tout ce que permet de faire le langage PostScript. Le principe est de convertir des commandes \LaTeX en commandes Postscript, qui seront interprétées lors de la visualisation de Postscript. Par conséquent, cela ne marche pas pour un document compilé avec pdfLaTeX, et le dessin ne sera pas (du moins, pas toujours) visible lors de la visualisation du fichier DVI.

Voici un exemple de dessin réalisé avec PStricks:

\documentclass{report}
\usepackage{pstricks}
 
\begin{document}
\psset{unit=3pt}
\begin{pspicture}(-10,-10)(50,50)
\psline[linewidth=1,linecolor=red,linearc=5]
                {*->}(0,0)(10,0)(10,30)(40,40)
\psline[linewidth=1pt,linearc=5]
                (-10,0)(10,0)(10,30)(40,40)
\pspolygon(30,10)(30,30)(10,20)
\pscircle*[linewidth=5pt,linecolor=gray](40,5){5}
\pswedge*[linecolor=blue](40,40){10}{-45}{60}
\psarc*[linecolor=green](40,40){8}{-45}{60}
\psbezier{*-*}(0,20)(10,10)(25,10)(35,-10)
\psellipse(40,20)(5,10)
\end{pspicture}
\end{document}

$\Reponse$ XYpic, développé par \nom{Kristoffer}{Rose}, est un package permettant de dessiner des graphes et des diagrammes. Il n'est pas très facile de prime abord, mais permet néanmoins de faire de très belle chose, une fois qu'on a pris un peu l'habitude.

Exemple réalisé avec \def\xy{\hbox{\kern-.1em X\kern-.3em\lower.4ex\hbox{Y\kern-.15em}}}\xy-pic:

\documentclass{report}
\usepackage{xy}
 
\begin{document}
\begin{xy}
(0,0)*+{A}; (20,20)*+{B} **\dir{-};
(0,20)*+{C} **\dir2{~}
\end{xy}
\end{document}

$\Reponse$ METAPOST est un peu différent des précédents: ce n'est pas un package, mais un programme et un langage, comparables à METAFONT (voir le thème \vref{theme-fontes}). METAPOST a été développé par John Hobby. De nombreuses documentations et exemples sont disponibles sur Internet : http://plan9.bell-labs.com/who/hobby/MetaPost.html et http://melusine.eu.org/syracuse/metapost/, par exemple.

Pour faciliter l'utilisation de METAFONT, on peut se servir du package MFpic. Il s'agit tout d'abord d'écrire du code \LaTeX à la manière de PStricks. Puis à la compilation, un fichier mf est produit. Après avoir compilé le fichier obtenu avec \METAFONT (mf), il suffit de recompiler le fichier initial avec \LaTeX pour admirer les figures. Voici un exemple tiré de la documentation MFpic :

\documentclass{article}
\usepackage{mfpic}
\begin{document}
\opengraphsfile{pics}
\begin{mfpic}[20]{-3}{3}{-3}{3}
\axes
\function{-2,2,0.1}{((x**3)-x)/3}
\tcaption{\raggedright{\it Fig. :}
Fonction dans un repère orthonormal.}
\end{mfpic}
\closegraphsfile
\end{document}
MFpic, même s'il n'a pas la puissance de PStricks, a comme avantages de fonctionner à la fois avec LaTeX et pdfLaTeX et de permettre de tracer très facilement des courbes ;

$\Reponse$ le package PGF est un outil très intéressant pour faire des dessins. Il est conçu avec des frontends (interfaces frontales) et des backends (interfaces dorsales) qui lui donnent une grande souplesse. L'interface frontale TikZ fournie avec le package est assez conviviale à utiliser. Mais il est possible d'ajouter d'autres syntaxes, par exemple celle de PStricks. Grâce aux interfaces dorsales, il fonctionne avec LaTeX, pdfLaTeX, mais permet également de générer du SVG avec \TeX4ht (c'est le seul qui le permet à notre connaissance). L'exemple ci-dessous est celui la page de garde du manuel de PGF, qui présente comment faire un arbre de type « soleil »:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{snakes}
\usetikzlibrary{trees}
\begin{document}
\tikzstyle{level 1}=[sibling angle=120]
\tikzstyle{level 2}=[sibling angle=60]
\tikzstyle{level 3}=[sibling angle=30]
\tikzstyle{every node}=[fill]
\tikzstyle{edge from parent}=[snake=expanding waves,
           segment length=1mm,segment angle=10,draw]
\tikz [grow cyclic,shape=circle,very thick,
       level distance=13mm,cap=round]
  \node {} child [color=\A] 
    foreach \A in {red,green,blue}
    { node {} child [color=\A!50!\B]
      foreach \B in {red,green,blue}
       { node {} child [color=\A!50!\B!50!\C]
         foreach \C in {black,gray,white}
         { node {} }
       }
    };
\end{document}

$\Reponse$ le package pict2e comble les lacunes de l'environnement picture de \LaTeX. Il définit un ensemble de commandes permettant de tracer des figures dont des cercles de tout diamètres des droites de toutes pentes. Il a moins de commandes que PStricks, mais présente le gros avantage de fournir des pilotes permettant la compilation avec \LaTeX et pdfLaTeX, comme le montre l'exemple ci-dessous. De plus, il ne nécessite pas de compilation externe.

Des courbes de Bézier (quadratique et cubique) avec pict2e:

\documentclass{article}
\usepackage{ifpdf}
\ifpdf
 \usepackage[pdftex]{pict2e}
\else
 \usepackage[dvips]{pict2e}
\fi
\usepackage{color}
\newcommand*\FPOINT{
  \begingroup
    \setlength\unitlength{.8pt}
    \circle*{5}
  \endgroup
}
\newcommand*\OPOINT{
  \begingroup
    \setlength\unitlength{.8pt}
    \circle{5}
  \endgroup
}
\begin{document}
\setlength\unitlength{.007\linewidth}
\begin{picture}(100,120)(-50,-60)
  \put(-50,-60){\framebox(100,120){}}
  \color{green}
  \qbezier[0](-40,-30)(-30,10)(0,10)
  \qbezier[0](0,10)(30,10)(40,50)
  \put(-40,-30){\FPOINT}\put(-30,10){\OPOINT}
  \put(0,10){\FPOINT}
  \put(30,10){\OPOINT}\put(40,50){\FPOINT}
  \color{black}
  \cbezier[0](-40,-50)(-20,30)(20,-50)(40,30)
  \put(-40,-50){\FPOINT}\put(-20,30){\OPOINT}
  \put(20,-50){\OPOINT}\put(40,30){\FPOINT}
\end{picture}
\end{document}  
2_composition/illustrations/logiciels_de_dessins_compatibles_avec_latex.txt · Dernière modification: 2020/12/11 22:39 par dbitouze
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0