ConTeXt/Utiliser Metapost (MPGraphic)/Icônes et illustrations : SVG ou Metapost ?
Cette section présente la complémentarité entre les icônes SVG — simples, efficaces, prêtes à l’emploi — et les dessins MetaPost/MetaFun, incomparables lorsqu’il s’agit de produire des graphiques calculés, des schémas techniques ou des illustrations paramétriques dans ConTeXt. Vous apprendrez à importer un fichier SVG, à le manipuler via MetaFun, et à reconnaître les situations où MetaPost demeure l’outil le plus puissant.
Objectif de cette section
Comprendre quand utiliser une icône SVG, quand dessiner en MetaPost, et comment importer ou transformer un fichier SVG dans ConTeXt. Présenter les forces respectives des deux approches et leur complémentarité, à travers des exemples ConTeXt complets.
Icônes et illustrations : quand choisir le SVG, quand choisir MetaPost ?
[modifier | modifier le wikicode]1. Pourquoi ne pas tout dessiner en MetaPost ?
[modifier | modifier le wikicode]MetaPost (ou MetaFun) excelle dans :
- les formes géométriques scalables et propres ;
- les schémas et organigrammes cohérents ;
- les graphiques automatisés (camemberts, histogrammes, réseaux) ;
- les calculs internes précis (alignements, proportions, intersections, tangentes).
Cependant, redessiner en MetaPost une icône générique (loupe, ampoule, flèche, engrenage…) n’est pas toujours utile. Ces icônes existent déjà en SVG, libres, élégantes et prêtes à l’emploi.
→ SVG pour les icônes ; MetaPost pour le dessin intelligent.
2. Pourquoi préférer parfois le SVG ?
[modifier | modifier le wikicode]Le format SVG est remarquable pour les icônes :
- rendu vectoriel impeccable à toute taille ;
- fichiers légers ;
- nombreuses bibliothèques libres (Bootstrap Icons, Tabler Icons, Feather Icons, Font Awesome, etc.) ;
- styles sobres adaptés à une documentation technique.
Pour un Wikilivre, c’est généralement le meilleur choix.
3. Importer un fichier SVG dans ConTeXt
[modifier | modifier le wikicode]Exemple minimal :
\setuppapersize[A5]
\mainlanguage[fr]
\setupbodyfont[modern,10pt]
\useexternalfigure[lightbulb][lightbulb.svg]
\starttext
\section{Importer un fichier SVG}
Voici l’icône en largeur 2 cm :
\externalfigure[lightbulb][width=2cm]
\blank[medium]
La même icône, recolorée via MetaFun :
\startuseMPgraphic{TeinteIcône}
picture p ; p := externalfigure "lightbulb.svg";
draw p withcolor (.95,.85,.30) ; % jaune doré
\stopuseMPgraphic
\useMPgraphic{TeinteIcône}
\stoptext
Le couple SVG + MetaFun permet donc :
- une importation simple ;
- une transformation vectorielle directe ;
- une recoloration dynamique.
4. MetaPost reste imbattable pour certains usages
[modifier | modifier le wikicode]Astuce
Dès que votre illustration repose sur des calculs géométriques, des proportions précises ou un rendu paramétrique, MetaPost est la solution la plus puissante. Utilisez-le pour les schémas, les diagrammes, les camemberts ou les graphiques dépendant de paramètres.
MetaPost excelle pour :
- les schémas techniques complexes ;
- les graphiques paramétriques ;
- les éléments dont la géométrie dépend de variables ;
- les illustrations vectorielles cohérentes avec la charte graphique.
Exemple : un petit « camembert » avec MetaFun
[modifier | modifier le wikicode]\setuppapersize[A5]
\mainlanguage[fr]
\setupbodyfont[modern,10pt]
\startuseMPgraphic{CamembertSimple}
numeric a, b ; a := 40 ; b := 60 ;
path pa, pb ;
pa := fullcircle scaled 3cm ;
pb := pa cutafter (directionpoint 0 of pa)
cutbefore (directionpoint a of pa) ;
fill pa withcolor (.8,.8,.8);
fill pb withcolor (.4,.6,.85);
draw pa ;
\stopuseMPgraphic
\starttext
\section{Exemple : un graphique généré en MetaPost}
\midaligned{\useMPgraphic{CamembertSimple}}
\stoptext
Ce type de graphique ne peut pas être obtenu proprement en SVG sans un outil externe. MetaPost le génère dynamiquement à la compilation.
5. Complémentarité SVG ↔ MetaPost
[modifier | modifier le wikicode]| Besoin | Solution recommandée |
|---|---|
| Icônes simples, universelles, colorées | SVG |
| Logos vectoriels | SVG |
| Schémas précis, techniques | MetaPost |
| Graphiques calculés, paramétriques | MetaPost |
| Icônes recolorées dynamiquement | SVG + MetaFun |
| Illustrations complexes libres de droits | SVG |
Les deux approches sont complémentaires : SVG = bibliothèque visuelle ; MetaPost = moteur graphique intelligent.
6. Recommandation pour ce Wikilivre
[modifier | modifier le wikicode]- Utiliser des icônes SVG pour les encadrés (« Objectifs », « Astuce », « Attention », etc.)
- Montrer MetaPost dans ses usages les plus pertinents :
- dessin vectoriel savant ;
- schémas paramétriques ;
- graphiques automatisés ;
- mises en forme vectorielles cohérentes.
7. Résumé final
[modifier | modifier le wikicode]En résumé
Le SVG est idéal pour les icônes et les symboles éditoriaux : il est léger, vectoriel et facilement réutilisable. MetaPost, de son côté, reste irremplaçable pour les dessins intelligents, calculés, paramétriques et parfaitement intégrés au flux typographique. ConTeXt permet de combiner les deux : importer un SVG, le manipuler via MetaFun, et s’appuyer sur MetaPost pour les graphiques et schémas complexes.
8. Remarque sur les icônes utilisées
[modifier | modifier le wikicode]Les icônes de cette page proviennent exclusivement de Wikimedia Commons et sont toutes au format SVG :
– Objectifs (plume stylisée)
– Astuce (ampoule « flat design »)
– Résumé / information
/
– navigation gauche / droite
– lien vers le sommaire du Wikilivre
Ce choix illustre concrètement l’intérêt d’utiliser des bibliothèques d’icônes SVG existantes, déjà harmonisées, et de réserver MetaPost aux graphiques et schémas réellement calculés.