Export vectoriel des figures

Transcription

Export vectoriel des figures
06/03/12
E po
ec o iel de fig e
Comment insérer une figure CaRMetal dans
OpenOffice ou LibreOffice
CaRMetal possède un rectangle de sélection qui permet d'exporter une partie de la figure. Le but en est
évidemment d'importer ensuite ladite figure dans un logiciel de traitement de texte. Mais la compatibilité entre
CaRMetal et les logiciels de traitement de texte n'est pas totale. Il faut donc ruser un peu. Voici comment...
Export png
Un match de sélection
Une fois que la figure est construite (ici un triangle avec son cercle circonscrit et son cercle d'Euler), il suffit de
sélectionner le rectangle de sélection:
Ce qui permet de le régler sur la partie de la figure qu'on souhaite exporter:
Un match de division
Transfert
Pour exporter la figure, on peut cliquer dans "Fichier" ou sur l'ic ne correspondant au format choisi (ici png):
file:///C:/U e /Famille VELLARD/Do nload /e po
ec /E po CaRMe al.h ml
1/7
06/03/12
E po
ec o iel de fig e
Import png
Ensuite, dans OpenOffice (ou LibreOffice) on peut insérer une image d'apr s fichier, et sélectionner le
fichier exporté depuis CaRMetal. Ce qui permet donc rapidement d'avoir une figure dans le texte,
redimensionnable sous OpenOffice.
Seulement il y a un problème si on agrandit le résultat (avant ou après impression: Les pixels deviennent
visibles :
C'est pour éviter ce genre de problème que je me suis mis à LaTeX, et qu'Éric Hakenholz a ajouté à
CaRMetal un export vectoriel des figures; on a le choix entre
Le format svg (utilisé notamment par wikipedia);
Le format eps (utilisé par Acrobat ... et LaTeX!);
Le format pdf.
Pour OpenOffice, le format le plus adapté est le svg.
Export svg
Pour cela, on fait exactement comme pour l'export png sauf qu'au lieu du format png, on choisit le format svg:
file:///C:/U e /Famille VELLARD/Do nload /e po
ec /E po CaRMe al.h ml
2/7
06/03/12
E po
ec o iel de fig e
Probl me à la douane (import)
Seulement, une fois importée, la figure svg prend trop de place dans LibreOffice:
Avec un éditeur de texte, on trouve vite le coupable: La couleur de fond se trouve dans un rectangle qui
déborde de la figure (on a reçu le container avec le colis qu'on a commandé!). En effet, la figure svg contient
des choses comme
<rect x="0" y="0" width="160" height="115"
style="fill:rgb(245,245,245);stroke:none" />
Or, bien que le rectangle soit aux bonnes dimensions (ci-dessus 160 pixels de large), il n'est pas correctement
importé par LibreOffice: Ce n'est pas l'export de CaRMetal qui est fautif, c'est l'import du svg par
OpenOffice qui n'est pas (encore) au point!
Se débarasser du container
Pour utiliser des figures parfaites faites avec CaRMetal, on doit donc (pour l'instant) éliminer ce fameux
rectangle. Ce qui est possible avec un éditeur de texte, mais plus simplement avec le logiciel Inkscape: Une
fois que la figure svg est ouverte avec ce merveilleux logiciel, on y voit le fameux rectangle superfétatoire, qu'il
suffit de sélectionner, en cliquant sur l'outil idoine:
file:///C:/U e /Famille VELLARD/Do nload /e po
ec /E po CaRMe al.h ml
3/7
06/03/12
E po
ec o iel de fig e
puis en cliquant sur le rectangle, ce qui sélectionne celui-ci:
et enfin en appuyant sur la touche Suppr ce qui le fait disparaître :
Ensuite, pour peu qu'on ait enregistré le résultat au format svg, l'import sous OpenOffice se fait sans heurt:
file:///C:/U e /Famille VELLARD/Do nload /e po
ec /E po CaRMe al.h ml
4/7
06/03/12
E po
ec o iel de fig e
Et si on agrandit la figure, les pixels ne s'agrandissent pas avec elle:
Résumé: La combinaison CaRMetal ---> Inkscape ---> Open (ou Libre) Office permet d'avoir des figures
parfaites dans le pdf qu'on veut produire. Dans la prochaine version de CaRMetal, le rectangle fautif ne sera
plus exporté en svg, ce qui rendra inutile le passage par Inkscape, en attendant que le svg soit correctement
importé par Open Office...
Le cas LaTeX
Avec pdflatex, on peut compiler un fichier LaTeX sans passer par les formats dvi et postscript habituels. Or
pdflatex lit les images vectorielles au format pdf, et
file:///C:/U e /Famille VELLARD/Do nload /e po
ec /E po CaRMe al.h ml
5/7
06/03/12
E po
ec o iel de fig e
CaRMetal peut exporter une figure au format pdf.
Et Inkscape peut convertir de svg vers pdf.
Pour me débarasser du rectangle de sélection, j'utilise la deuxième option. Dans mon document LaTeX je
mets quelque chose du genre \includegraphics[scale=0.5]{lemniscate ou
\includegraphics[width=8cm]{lemniscate pour insérer l'image qui s'appelle lemniscate.pdf dans
le document. Le résultat est visible à la page 12 de mon cours de Seconde.
En passant par le postscript avec mes sabots
CarMetal exporte également en postscript ce qui permet aussi de compiler en passant par les formats dvi et
postscript. Mais PsTricks lui est aussi accessible, comme avec GeoGebra, sauf que GeoGebra exporte
directement en PsTricks, ce que ne fait pas (encore?) CaRMetal. Sauf qu'Inkscape, lui, peut exporter en
PsTricks une figure svg! Donc en exportant comme ci-dessus la figure en svg, et en l'ouvrant avec Inkscape
(vous vous rappelez, le rectangle superfétatoire?) et en l'enregistrant au format PsTricks, on peut comme avec
GeoGebra, récupérer la version "LaTeX" de la figure.
La compilation avec PsTricks produit cette figure proche de l'original (avec la version GeoGebra pour
comparaison):
Bonus: L'utilité de l'import de figures faites avec CaRMetal dans Libre Office est agrandie par ces macros,
qui permettent d'imiter le dessin à main levée:
Pour faire des segments à main levée;
Pour tracer des cercles à main levée.
Il suffit d'ouvrir ces fichiers avec CaRMetal pour être en mesure d'utiliser les macros dans une figure, et en
faisant cela sur l'exemple précédent, on obtient cette figure qui peut trouver sa place dans un énoncé:
Ce(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à
file:///C:/U e /Famille VELLARD/Do nload /e po
ec /E po CaRMe al.h ml
6/7
06/03/12
E po
ec o iel de fig e
l'Identique 3.0 non transposé.
file:///C:/U e /Famille VELLARD/Do nload /e po
ec /E po CaRMe al.h ml
7/7