Home

TikZ et pgf - Pages personnelles d`Yvon Henel

image

Contents

1. 82 10 5 tablir une bo te cadre 83 10 6 Utiliser un chemin pour d couper 84 N uds 86 TIT iLesn uds et leurs formes 45428 N ara a a met ee rien 86 11 2 Noeuds plusieurs parties 87 11 3 Options pour le texte dans les n uds 88 11 4 Placer des n uds l aide d ancres 90 LL 5 TEanslo MAO x 2 ne sente erties GOR Oe pie SE Pa ee ee ue 91 11 6 Placer des n uds sur une droite ou une courbe 92 11 6 1 Utilisation explicite d une option de position 92 11 6 2 Utilisation implicite de l option de position 94 TET Relier des n amp uds 220 LM 28 RE LE Le dust 4 ee ER 94 11 8 Formes pred finies em 2 2 22 2a ea ee ae db his ee a 95 12 Faire pousser les arbres 97 12 1 Introduction l operation child enfant 97 12 2 Chemins enfants et n uds enfants 98 12 3 Nommer les n uds enfants 99 12 4 Sp cifier des options pour les arbres et les enfants 99 12 5 Placer les n uds enfants 100 12 6 Ar tes issues du n ud parent 103 III Biblioth ques et Utilitaires 1
2. begin tikzpicture Le draw help lines 0 0 grid 3 2 draw snake brace 0 1 3 1 ce draw snake brace gap around snake 5mm 0 0 3 1 Le end tikzpicture line before snake dimension Cette option fonctionne comme gap before snake sauf qu elle re liera le point courant au debut du serpent par une ligne droite begin tikzpicture draw help lines 0 0 grid 3 2 draw snake zigzag pi Seel draw snake zigzag line before snake 1cm 0 0 3 1 u end tikzpicture line after snake dimension Fonctionne comme gap after snake mais ajoute un segment de droite line around snake dimension Fonctionne comme gap around snake mais en ajoutant des seg ments de droite raise snake dimension On peut utiliser cette option avec tous les serpents Elle d place le serpent en le levant de dimension Une dimension negative baisse le serpent Les mouvements vers le haut ou le bas sont toujours relatifs la ligne suivant laquelle le serpent est dessin Voici un exemple B begin tikzpicture node a A node b at 2 1 B A draw a b draw snake brace a b draw snake brace raise snake 5pt red a b end tikzpicture mirror snake Cette option fait que le serpent subi une sym trie d axe le chemin On comprend mieux cela en regardant un exemple 60 B begin tikzpicture node
3. 4 7 Courbes et diagrammes me nn de jai code de de deg a ue ann 4 8 Attention et distraction ra nun a a MAN th de tn ang Red El ie gh ae a PR 5 Formats d entree et sortie 5 1 Formats d entr e g r s ss e 4 4 00 an na 5 1 1 Utiliser le format BIEX 5 1 2 Utiliser le format Plain TEX 4440404 a oe de ei eee at an 51 93 Utiliser le format Con TEXT ua 008 5 a Gus eure get 5 2 Formats de sortie g r s 5 2 1 S lectionner le pilote final 5 22 Brod iredu PDE ets tele aa de do eh EEE ae Der 32 3 Produire du PostscHpt os na ade ne amp a ee EA Se Sees 5 24 Produire du HTML J SVG A re sae gra en Gs 4 II TikZ n est pas un programme de dessin 6 Principes de conception 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 Syntaxe sp ciale pour d finir des points Syntaxe sp ciale de d finitions de chemins Actions s r l s chemins s on 2A a LE aid adr dd ee We oe des ai t Syntaxe cl valeur pour les param tres graphiques Syntaxe sp ciale pour la d finition de n uds Syntaxe sp ciale pour la d finition des arbres Groupement de param tres graphiques Systeme de transformations des coordonn es
4. Pour toutes les autres commandes de chemin telle que parabola ou plot le centre sera utilis Si ce n est pas ce que l on d sire on devra utiliser une ancre nomm e ou un angle d ancre Notez que si l on utilise des coordonn es automatique pour le d but et la fin d une droite jusqu comme dans b alors deux coordonn es de fronti re seront calcul es avec un d placer jusqu entre elles C est en g n ral exactement ce que l on veut Si lon utilise des coordonn es relatives en m me temps que les coordonn es automatique d ancre les coordonn es relatives seront toujours calcul es relativement au centre du n ud et pas relativement au point fronti re En voici un exemple rectangle 1 1 GQ GLS 1 tikz draw 0 0 node x draw Text Text De m me dans l exemple qui suit les deux points de contr le sont 1 1 tikz draw 0 0 node x draw X 2 0 node y Y x controls 1 1 and 1 1 y 8 6 Coordonn es d intersection 8 6 1 Intersection de deux droites On veut souvent d finir un point comme l intersection de deux droites La premi re fa on de d finir une telle intersection est celle ci on peut utiliser la syntaxe sp ciale intersection of p p2 and q1 q2 Cela produira le point d intersection de la droite passant par p et pa et de la droite passant par g et q2 Si ces deux droites ne se
5. shading angle degres Cette option fait tourner le d grad pas le chemin de l angle donn Par exemple on peut transformer un d grad axial de haut en bas pour en faire un d grad de gauche droite en le faisant tourner de 90 tikz shadedraw shading axis shading angle 90 0 0 rectangle 1 1 On peut aussi definit de nouveau type de degrade soi m amp me Toutefois pour cela on a besoin d utiliser directement la couche de base ce qui est enfin plus fondamental et plus difficile amp utiliser Les details sur la cr ation de d grad applicable 4 des chemins sont donn s dans la section p 10 4 2 Choisir les couleurs du d grad On peut se servir des options qui suivent pour changer les couleurs utilis es dans les d grad s Quand une de ces options est pass e l option shade est automatiquement s lectionn e ainsi que le d grad idoine top color couleur Cette option sp cifie la couleur utiliser en haut du d grad axis Quand cette option est pass e plusieurs choses se passent 1 L option shade est s lectionn e 2 L option shading axis est s lectionn e 3 La couleur centrale du d grad axial est fix e la moyenne de la couleur donn e pour le haut et de la couleur quelle qu elle soit couramment s lectionn e pour le bas 4 L angle de rotation du d grad est fix a 0 tikz draw top color red 0 0 rectangle 2 1
6. Ces vecteurs ont pour longueur par d faut 1 cm dans chaque direction Afin de d finir des points en coordonn es polaires on utilise la notation 30 1cm qui signifie 1 cm dans la direction 30 degr s C est videmment bien utile pour obtenir le point cos 30 sin 30 sur le cercle On peut ajouter devant les coordonn es un signe simple ou un double comme dans 1cm Ocm ou Ocm 2cm De telles coordonn es sont interpr t es diff remment la premi re signifie 1 cm vers le haut depuis la position d finie pr c demment et la deuxi me 2 cm vers la droite de la position pr c demment d finie en en faisant la nouvelle position d finie Par exemple on peut tracer la courbe du sinus comme suit begin tikzpicture scale 3 clip 0 1 0 2 rectangle 1 1 0 75 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm i filldraw fill green 20 draw green 50 black 0 0 3mm Omm arc 0 30 3mm cycle draw red very thick 30 1cm 0 0 5 end tikzpicture Karl utilise le fait que sin 30 1 2 Toutefois il doute tr s fortement que ses tudiants le sachent aussi il pense que ce serait bien s il y avait un moyen de d terminer un point comme le point juste sous le point 30 1cm place sur l axe des x C est en fait possible avec une syntaxe sp ciale Karl peut crire
7. tikz draw style help lines 0 0 grid 3 3 9 10 L op ration parabole L op ration de chemin parabola parabole poursuit le chemin courant avec une parabole Une parabole est une courbe homoth tie et translation pr s d finie par l quation f x x et ressemble ceci V path parabolal options bend coordonn e du sommet coordonn e Cette op ration ajoute une parabole passant pour le point courant et la coordonn e donn e Si option bend sommet est donn e elle pr cise au devrait tre le sommet on peut galement utiliser options pour pr ciser au se trouve le sommet Par d faut le sommet est l ancien point courant 13 NdTdS On rajoutera les coordonn es de ad libitum 65 begin tikzpicture draw 0 0 rectangle GPITS 0 0 parabola 11 5 draw xshift 1 5cm 0 0 rectangle 1 125 0 0 parabola bend at end 1612595 draw xshift 3cm 0 0 CIRIB rectangle 0 0 parabola bend 75 1 75 1 1 5 end tikzpicture Les options suivantes influencent les paraboles bend coordone e A le m me effet qu crire bend coordonn e en dehors des options L option pr cise que le sommet de la parabole devrait tre la coordonn e donn e On doit soi m me prendre soin ce que le sommet ait une position valide c est dire que si aucune parabole d quation y ax bx c passant par le point courant an
8. 7 La structure hi rarchique extension environnements port es et styles 7 1 7 2 7 3 7 4 7 5 Charger extension 2 24 ek Due wenden de dut dan de ee De ER een Cr er une fglre Line 2 Sheree Sa ele drone de HA tata gee a as 7 2 1 Cr er une figure l aide d un environnement 7 2 2 Cr er une figure l aide d une commande 7 2 3 Ajouter un arri re plan Utiliser les port es pour structurer une figure Utiliser les port es dans les chemins Utiliser les styles pour g rer l apparence des figures 8 D finir des coordonn es 8 1 8 2 8 3 8 4 8 5 Coordonn es et options de coordonn es Coordonn es simples y 4 frais munis wann Reed wee SHEER rage aie le de ae Coordonn es polaires 4258844048 LL RAR he ee PE Ree Coordonn es Xyet XYZ o an nennen ee a EAA es ae OE A Coordonn es de n uds um nee ges Ee ee at and 8 AURA A Re ee ee Se ae 8 5 1 Coordonn es d ancre nomm e 8 5 2 Coordonn es d angle d ancre 39 39 39 39 39 39 40 40 Al Al 43 44 44 44 44 45 45 45 46 47 48 48 48 48 49 50 50 50 51 10 11 8 5 3 Coordonn es de n ud sans ancre 54 8 6 Coordonn es
9. xkeyval version 1 8 si vous d sirez utiliser TikZ Avec plain TEX on n a pas besoin de xcolor mais bien videmment on n a pas ces fonctionnalit s compl tes ce jour PGF est compatible avec les pilotes suivants pdftex version 0 14 ou sup rieure Les versions ant rieures ne marchent pas dvips version 5 94a ou sup rieure Il se peut que les versions ant rieures marchent dvipdfn version 0 13 2c ou sup rieure Il se peut que les versions ant rieures marchent tex4ht version 2003 05 05 ou sup rieure Il se peut que les versions ant rieures marchent vtex version 8 46a ou sup rieure Il se peut que les versions ant rieures marchent textures version 2 1 ou sup rieure Il se peut que les versions ant rieures marchent ce jour PGF est compatible avec les formats suivant latex avec toutes ses fonctionnalit s plain avec toutes ses fonctionnalit s sauf l inclusion de graphiques qui ne marche que pour pdf TEX context devrait marcher comme plain mais je ne l ai pas essay Pour plus de d tails voyez la section 5 p 39 2 2 Installer des archives Je ne cr e ni ne g re d archives de PGF mais heureusement d autres gens gentils le font Je ne peux pas donner d instructions d taill es sur l installation de ces paquets puisque je ne les g re pas mais je peux vous dire ou les trouver Si vous avez un probleme avec l installation vous devriez d abord j
10. X dans le graphique On peut donner l option de transformation l int rieur de la liste d options du n ud Ces transformations l s appliquent toujours au n ud begin tikzpicture 87 tikzstyle every node draw draw style help lines 0 0 grid 3 2 ae draw 1 0 node A Sed 2 0 node rotate 90 scale 1 5 B Sn draw rotate 30 1 0 node A A aa 2 0 node rotate 90 scale 1 5 B draw rotate 60 1 0 node transform shape A 2 0 node transform shape rotate 90 scale 1 5 B end tikzpicture 11 6 Placer des noeuds sur une droite ou une courbe Jusqu maintenant on a toujours plac les n uds sur des coordonn es crites dans le chemin Souvent toutefois on desire placer des noeuds au milieu d une courbe et on ne veut pas calculer ces coordonn es la main Pour faciliter ces positionnements TikZ permet de sp cifier qu un certain n ud doit se trouver quelque part sur une courbe On peut le faire de deux mani res soit explicitement avec l option pos soit implicitement en pla ant le n ud l int rieur d une op ration de chemin On d crit ces deux fa ons dans ce qui suit 11 6 1 Utilisation explicite d une option de position pos fraction Quand on donne cette option le n ud n est pas ancr sur la derni re coordonn e Il est plut t ancr un point de
11. 1 5 0 dont r sulte ____ soit absorbe tout ce qui se trouve avant le point virgule suivant et le place dans un environnement tikzpicture En gros toutes les commandes de dessin de TikZ doivent appara tre comme argument de tikz ou dans un environnement tikzpicture Heureusement la commande draw n est d finie que dans cet environnement il y a donc peu de risques pour que l on fasse accidentellement quelque chose de travers 3 4 Construction de chemin courbe Ce que veut faire Karl ensuite c est tracer un cercle Pour a videmment on ne s en sortira pas avec des droites Nous avons besoin au contraire de tracer des courbes Pour cela TikZ fournit une syntaxe sp ciale On a besoin de un ou deux points de contr le Les maths cach es derri re ne sont pas tout fait triviale mais voici l id e de base supposez que l on soit au point x et que le premier point de contr le soit y Alors la courbe va d marrer dans la direction de y en partant de x c est dire que la tangente la courbe en x va pointer vers y Ensuite supposons que la courbe doive finir en z avec w pour deuxi me point de contr le Alors la courbe finira bien en z et la tangente la courbe au point z passera par w Voici un exemple on a ajout les points de contr le pour plus de clart beginftikzpicture filldraw gray 0 0 circle 2pt 1 1 circle 2pt 2 1 circle 2pt 2 0 circle 2pt draw 0
12. 18 NdTdS Ce que l on appelle drapeau c est la ligne bris e ici droite du paragraphe form e par les fins de lignes du dit paragraphe Etre flottant pour un drapeau c est pr senter une ligne tr s accident e 89 Ceci est un texte de d monstration pour faire voir comment la coupure de ligne fonctionne Ceci est un texte de d monstration pour faire voir comment la coupure de ligne fonctionne text centered centre le texte mais en cherchant quilibrer les lignes tikz draw 0 0 node fill examplefill text width 3cm text centered This is a demonstration text for showing how line breaking works text badly centered centre le texte sans chercher quilibrer les lignes tikz draw 0 0 node fill examplefill text width 3cm text badly centered This is a demonstration text for showing how line breaking works 11 4 Placer des noeuds a l aide d ancres Lorsque l on place un n ud une certaine coordonn e celui ci est par d faut centr sur cette coordonn e Ce comportement est souvent ind sirable et il vaudrait mieux que le n ud soit plac droite ou au dessus de la coordonn e PGF utilise un m canisme dit d ancrage pour permettre un contr le tr s pr cis du placement L idee en est simple imaginons le n ud comme une forme rectangulaire d une certaine taille PGF d finit de nombreuses positions d ancrage sur la forme Par exemple le coin sup rie
13. 30 1cm 0 0 De mani re g n rale le sens de p q est le point d intersection de la verticale passant par p et de l horizontale passant par q Ensuite tracons la courbe du cosinus Une fa on serait d crire 30 1cm 0 0 0 0 Une autre facon est la suivante nous continuons depuis le point ot s arr te le sinus begin tikzpicture scale 3 clip 0 1 0 2 rectangle 1 1 0 75 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm filldraw fill green 20 draw green 50 black 0 0 3mm Omm arc 0 30 3mm cycle draw red very thick 30 1cm 0 0 5 draw blue very thick 30 1cm 0 0 5 0 0 end tikzpicture Notez qu il n y a pas de entre 30 1cm et 0 0 5 En detail le chemin est interpr t comme suit d abord le 30 1cm me dit de d placer mon crayon jusque cos 30 1 2 Ensuite vient une autre d finition de coordonn es aussi je d place mon crayon sans rien tracer Ce nouveau point est une unit sous 5 NdTdS pour un francais frott de maths du secondaire on dira vecteur courant colin aire au vecteur directeur de laxe des abscisses etc 22 la derni re position c d cos 30 0 Enfin je d place le crayon l origine mais cette fois je trace quelque chose cause du Pour voir la diff rence entre et regar
14. rectangle dans le sens indirect dans le sens des aiguilles d une montre CORO OU GAS CO ile rectangle dans le sens direct 02255 0725 5 0775 0 259222 075 0 7 5 20725 0 7 9 gt cycle crossings 1 1 0 draw gt 0 1 4 1 draw gt 0 75 0 75 0 3 75 crossings 1 1 2 draw gt 0 5 0 5 0 1 node above crossings 1 1 0 begin scope yshift 3cm filldraw fill examplefill rectangle dans le sens indirect CORO MEN an GSM GO eyele rectangle dans le sens indirect 0825502 5 E E 072 55015 5 2 087759 07 E 077 5 0P2D EEey cle draw gt 0 1 4 1 draw gt 0 25 0 75 0 4 75 draw gt 0 5 0 5 0 1 node above crossings 1 1 2 end scope end tikzpicture even odd rule Cette option fait qu une autre m thode est utilisee pour d terminer l interieur et l exterieur des chemins Quoique moins souple elle appara t comme plus intuitive Dans cette m thode on trace aussi une demi droite depuis le point pour lequel on se pose la question de savoir s il se trouve l int rieur de la r gion remplir Toutefois cette fois on compte simple ment le nombre d intersections avec le chemin et un point est d clar tre int rieur si le nombre d intersections est impair Avec cette r gle de parit on peut facilement percer des trous dans un chemin begin tikzpicture filldraw fill exam
15. 0 0 circle 1cm path draw fill 0 0 circle 1cm path fill 0 0 circle icm draw draw 2111 0 0 circle im fill 0 0 draw circle 1cm filldraw 0 0 circle 1cm Dans les sections suivantes on explique les diff rentes actions que l on peut accomplir avec un chemin Les commandes suivantes sont des abr viations de certains ensembles d actions mais il n y a pas d abreviation pour beaucoup de combinaisons utiles draw Dans tikzpicture c est une abr viation de path draw yrii Dans tikzpicture c est une abr viation de path fi11 filldraw Dans tikzpicture c est une abr viation de path fill draw shade Dans tikzpicture c est une abr viation de path shade shadedraw Dans tikzpicture c est une abr viation de path shade draw clip Dans tikzpicture c est une abr viation de path clip useasboundingbox Dans tikzpicture c est une abreviation de path use as bounding box node Dans tikzpicture c est une abr viation de path node Notez cette fois que node n est pas une option mais une op ration de chemin coordinate Dans tikzpicture c est une abr viation de path coordinate 73 10 1 Specification de couleur Les options les moins sp cifiques pour fixer les couleurs sont les suivantes color nom de couleur Cette option fixe la couleur utilis e pour remplir dessiner et pour le texte dans la port e courante Tou
16. agrandit la boite cadre end tikzpicture miter limit facteur Lorsque l on utilise le raccord join en anglet miter et que se pr sente un angle tr s aigu tr s petit le raccord peut d passer de beaucoup le point r el de raccord Dans ce cas s il devait d passer de plus de facteur fois la largeur de ligne le raccord en anglet serait remplacer par un raccord en biseau La valeur par d faut est 10 75 begin tikzpicture line width 5pt draw pO 05 re draw miter limit 25 6 0 5 5 5 5 useasboundingbox 14 0 agrandit la boite cadre end tikzpicture 10 2 2 Param tres graphiques Dash Pattern motif de pointilles dash pattern dash pattern D finit le motif de pointilles La syntaxe est identique celle de ME TAFONT Par exemple on 2pt off 3pt on 4pt off 4pt signifie tracer 2 pt puis lever le crayon pendant 3 pt puis retracer 4 pt puis relever le crayon pendant 4 pt r p ter begin tikzpicture dash pattern on 2pt off 3pt on 4pt off 4pt draw Opt Opt 3 5cm 0pt end tikzpicture dash phase phase D place le d but du motif de pointill s de la valeur phase begin tikzpicture dash pattern on 20pt off 10pt draw dash phase Opt Opt 3pt 3 5cm 3pt draw dash phase 10pt Opt 0pt 3 5cm 0pt end tikzpicture De m me que pour la largeur de ligne quelques styles pr d finis permettent de sp cifier commod ment un mot
17. gt diamond draw gt Opt 2ex 1cm 2ex draw gt gt gt Opt iex 1cm iex draw lt gt Opt 0ex 1cm 0ex end scope end tikzpicture shorten gt dimension Cette option raccourcit la fin des lignes de la dimension donn e Si l on sp cifie une pointe de fl che les lignes sont d j raccourcies de telle sorte que la pointe de la fl che touche l extr mit sp cifi e et ne d passe pas ce point Voici un exemple begin tikzpicture line width 20pt useasboundingbox 0 1 5 rectangle 3 5 1 5 draw red OO 0 3 draw gray gt 0 0 3 0 end tikzpicture L option shorten gt raccourcir permet de raccourcir la fin de la ligne additionnellement de la distance donn e Cette option peut tre aussi utile m me si l on n a pas sp cifi de pointe du tout begin tikzpicture line width 20pt useasboundingbox 0 1 5 rectangle 3 5 1 5 draw red 0 0 3 0 draw to shorten gt 10pt gray 0 0 3 0 end tikzpicture shorten lt dimension fonctionne comme shorten gt mais pour le d but 78 10 2 5 Param tres graphiques Double Lines lignes doubles et Bordered Lines lignes long es double couleur de fond Cette option fait que deux lignes sont trac es au lieu d une seule Tou tefois ce n est pas vraiment ce qui arrive En fait le chemin est trac deux fois D abord avec la couleur normal
18. options locales file nom de fichier 3 plot options locales function formule pour gnuplot On explique ces trois facons differentes dans ce qui suit 9 12 1 Interpolation 4 partir de points donn s en ligne Dans les deux premiers cas les points sont donn s directement dans le fichier TEX comme dans l exemple suivant AV tikz draw plot coordinates 0 0 1 1 2 0 3 1 2 1 10 2cm Voici un exemple montrant la diff rence entre plot et plot a 14 NdTdS Il s agit ici d interpolation 67 begin tikzpicture draw 0 0 1 1 plot coordinates 2 0 4 0 draw color red xshift 5cm 0 0 1 1 plot coordinates 2 0 4 0 end tikzpicture 9 12 2 Interpolation partir de points lus dans un fichier externe La deuxi me facon de sp cifier des points est de les placer dans un fichier externe nomme amp nom de fichier A ce jour le seul format admis par TikZ est le suivant chaque ligne de nom de fichier doit commencer avec deux nombres s par s par un espace Tout ce qui suit les deux nombres sur la ligne est ignor De plus les lignes commengant par ou sont ignor es tout comme les lignes vides C est exactement le format produit par GNUPLOT lorsque l on a donn la commande set terminal table Si n cessaire d autres formats seront g r s a l avenir mais il est g n ralement facile de produire un fichier contenant les donn es sous cette forme tikz
19. pour les rendre relatives Une coordonn e telle que 1cm Opt signifie 1 cm vers la droite de la position pr c dente Les coordonn es relatives sont souvent utiles dans des contextes locaux begin tikzpicture draw 0 0 PGO Er OI MG Gels draw 2 0 OL OI lt EL cales draw Ge gt AGO gt AO OO Giles end tikzpicture Au lieu de on peut galement utiliser un simple Cela d finit aussi une coordonn e relative mais cela ne met pas jour le point courant pour les utilisations suivantes de coordonn es relatives Ainsi on peut utiliser cette notation pour d finir de nombreux points tous relatifs au m me point initial begin tikzpicture draw 0 0 AGO lt AG AO gt Grass draw 2 0 AO el O51 el draw Gi gt AGO gt CG ODE cycle end tikzpicture Il y a une seule situation sp ciale o les coordonn es relatives sont interpr t es diff remment Si on utilise des coordonn es relatives comme point de contr le d une courbe de B zier la r gle suivante est en vigueur premi rement le premier point de contr le relatif est consid r comme relatif au d but de la courbe deuxi mement le deuxi me point de contr le relatif est consid r comme relatif la fin de la courbe troisi mement le point final relatif de la courbe est consid r comme relatif au po
20. right option graphique 91 right color option graphique 83 rounded corners option graphique 63 S PARATION EXT RIEURE voir outer sep S PARATION INT RIEURE voir inner sep samples option graphique 70 scope environnement 50 segment amplitude option graphique 61 segment angle option graphique 61 segment aspect option graphique 62 segment length option graphique 61 segment object length option graphique 61 SEMI PAIS voir semithick semithick style 75 semitransparent style 77 set style option graphique 51 shade 73 shade option graphique 81 shadedraw 73 shading option graphique 81 shading angle option graphique 82 shape option graphique 87 sharp corners option graphique 64 sharp plot option graphique 71 shorten lt option graphique 78 shorten gt option graphique 78 sibling distance option graphique 101 sin op ration de chemin 66 sloped option graphique 93 smooth option graphique 71 smooth cycle option graphique 71 snake option graphique 59 snake triangles 45 style 62 snake triangles 60 style 62 snake triangles 90 style 62 solid style 76 SOMMET voir top SOMMET PARABOLE voir bend SORTE voir kind SORTIE voir output step option graphique 65 style option graphique 51 Styles at end 93 at start 93 bend at end 66 bend at start 66 dashed 76 densely dashed 76 densely dotted 76 dotted 76 edge f
21. tikzstyle important line very thick tikzstyle information text rounded corners fill red 10 inner sep 1ex The graphic draw style help lines step 0 5cm 1 4 1 4 grid 1 4 1 4 draw 0 0 circle 1cm begin scope style axes draw gt 1 5 0 1 5 0 node right x coordinate x axis draw gt 0 1 5 0 1 5 nodelabove y coordinate y axis foreach x xtext in 1 5 frac 1 2 1 draw xshift x cm Opt ipt Opt 1pt node below fill white xtext foreach y ytext in 1 5 frac 1 2 5 frac 1 2 1 draw yshift y cm ipt 0pt 1pt Opt node left fill white ytext end scope filldraw fill green 20 draw anglecolor 0 0 3mm 0pt arc 0 30 3mm draw 15 2mm node anglecolor alpha draw style important line sincolor 30 1cm node left 1pt fill white sin alpha 30 1cm x axis draw style important line coscolor 30 1cm x axis node below 2pt fill white cos alpha 0 0 draw style important line tancolor 1 0 node right 1pt fill white displaystyle tan alpha color black frac color sincolor sin alpha color coscolor cos alpha intersection of 0 0 30 1cm and 1 0 1 1 coordinate t draw 0 0 t draw xshift 1 85cm node right text width 6cm style information text The color anglecolor angle alpha is 30 circ in the example pi 6 in radians The colo
22. 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm draw 3mm Omm arc 0 30 3mm end tikzpicture Comme pour les cercles on peut sp cifier deux rayons pour obtenir un arc d ellipse tikz draw 0 0 arc 0 315 1 75cm and icm 3 11 D coupage d un chemin Pour gagner un peu de place dans ce manuel il serait bien de rogner un peu le graphique de Karl afin de pouvoir nous concentrer sur les parties int ressantes D couper est vraiment simple avec TikZ On utilise la commende clip qui d coupe tout le dessin qui suit Cela marche comme draw mais au lieu de tracer quelque chose ca utilise le chemin donn pour d couper tout ce qui suit begin tikzpicture scale 3 clip 0 1 0 2 rectangle 1 1 0 75 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm draw 3mm Omm arc 0 30 3mm end tikzpicture On peut faire les deux choses en m me temps dessiner et d couper un chemin Pour cela on utilise la commande draw en ajoutant l option clip Ce n est pas tout on peut galement utiliser la commande clip avec l option draw Bon ce n est pas tout non plus en fait draw est juste une abr viation pour path draw et clip une abr viation pour path clip et on peut aussi crire path draw clip Voici un exem
23. Dans beaucoup de publications m me des revues de qualit les auteurs et diteurs ont visiblement investi beaucoup de temps sur le texte mais semblent avoir pass environ cinq minutes pour cr er tous les 7 NdTdS La traduction de ces deux derni res phrases est due Michel OLAGNON obligeamment venu mon secours sur fr lettres langue anglaise 32 graphiques Les graphiques semblent souvent avoir t ajout s apr s coup ou ressemblent une copie d ecran du logiciel de statistique qu utilise l auteur Comme on le soutiendra plus loin les graphiques produits par des programmes comme GNUPLOT sont par d faut m diocres Cr er des graphiques instructif qui aident le lecteur et se marient correctement avec le texte principal est un processus long et difficile Traitez les graphiques comme des citoyens de premi re classe de vos articles Ils m ritent autant de temps et d nergie que le texte On peut avancer que la cr ation de graphiques m rite m me plus de temps que l Ecriture du texte principal parce qu on sera plus attentif aux graphiques et qu on les regarda les premiers Pr voyez autant de temps pour la cr ation et la correction d un graphique que vous n en pr voyez pour un texte de la m me taille Les graphiques difficiles contenant beaucoup d informations peuvent m me demander plus de temps Des graphiques tres simple demanderont moins de temps mais tres probablement vous ne
24. Pour r soudre ce probleme foreach offre une syntaxe sp ciale au lieu d une seule variable x Karl peut en d finir deux ou m me plus s par es par une barre oblique slash comme dans x xtext Alors les l ments de l ensemble sur lequel foreach it re doivent tre aussi de la forme premier second chaque it ration x prendra la valeur de premier et xtext 27 celle de second Si on ne donne pas de second le premier est utilis nouveau Aussi voici le nouveau code pour les graduations T begin tikzpicture scale 3 clip 0 6 0 2 rectangle 0 6 1 51 draw step 5cm style help lines 1 4 1 4 grid 1 4 1 4 filldraw fill green 20 draw green 50 black 0 0 3mm 0mm arc 0 30 3mm cycle ai draw gt 1 5 0 1 5 0 draw gt 0 1 5 0 1 5 draw 0 0 circle 1cm foreach x xtext in 1 0 5 frac 1 2 1 3 draw x cm ipt x cm 1pt nodelanchor north xtext foreach y ytext in 1 0 5 frac 1 2 0 5 frac 1 2 1 draw ipt y cm 1pt y cm node anchor east ytext 4 end tikzpicture pa i 9 Le r sultat fait plaisir Karl mais son fils montre que ce n est pas parfaitement satisfaisant le quadrillage et le cercle interf rent avec les nombres et amoindrissent leur lisibilit Karl ne se sent pas tr s concern par a ses tudiants ne s en rendent m me pas compte mais son fil
25. able de pouvoir utiliser une sorte de boucle d autant plus qu il souhaite faire la m me chose chacune de ces positions Il existe plusieurs extensions pour faire a IATFX a ses propres commandes internes pstricks est livr avec la puissante commande multido Toutes peuvent tre utilis es avec PGF et TikZ aussi si vous en tes familier n h sitez pas les utiliser PGF apporte encore une autre commande nomm e foreach pour chaque que j ai ajout e parce que je n arrivais jamais me souvenir de la syntaxe des autres extensions foreach est d finie dans l extension pgffor et peut tre utilis e ind pendamment de PGF TikZ la charge automatiquement Dans sa forme de base la commande foreach est d une utilisation ais e r ie zog foreach x in 1 2 3 x x La syntaxe g n rale est foreach variable in liste de valeurs commandes l int rieur de commandes la variable prendra les diverses valeurs Si commandes ne commence pas par une acco lade tout ce qui pr c de le prochain point virgule est utilis comme commandes Pour Karl et les graduations sur les axes il pourrait utiliser le code suivant 25 T begin tikzpicture scale 3 clip 0 1 0 2 rectangle 1 1 1 51 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 filldraw fill green 20 draw green 50 black 0 0 3mm Omm arc 0 30 3mm cycle draw gt 1 5 0 1 5 0 draw gt 0
26. abord on charge l extension tikz Cette extension est appel e in terface au systeme de base de PGF La couche de base d crite galement dans ce manuel est quelque peu disons basique et de ce fait plus difficile 4 utiliser L interface rend les choses plus faciles en fournissant une syntaxe plus simple Dans l environnement il y a deux commandes draw Elles signifient Le chemin qui est sp cifi apres la commande et jusqu au point virgule doit tre trace Le premier chemin est determine par 1 5 0 0 1 5 ce qui signifie un segment de droite depuis le point la position 1 5 0 jus qu au point a la position 0 1 5 Ici les positions sont d termin es dans un rep re sp cial pour lequel une unit au d part vaut 1 cm Karl est assez content de voir que l environnement r serve automatiquement assez d espace pour contenir toute la figure 3 2 2 Pr paration de l environnement en Plain TEX Il se trouve que Gerda la femme de Karl qui est aussi professeur de math matiques n utilise pas LTEX mais plain TeX car elle pr f re faire les choses l ancienne Elle aussi peut utiliser TikZ Au lieu de usepackage tikz elle doit crire input tikz tex au lieu de begin tikzpicture elle crit tikzpicture et au lieu de end tikzpicture elle crit endtikzpicture Elle utiliserait donc 4 fichier Plain TeX input tikz tex baselineskip 12pt hsize 6 3truein vsize 8
27. child foreach z in 0 1 end tikzpicture On d crit les d tails et les options de cette op ration dans la suite de la pr sente section 12 2 Chemins enfants et n uds enfants Pour chaque child d un n ud racine son chemin enfant est ins r une position sp cifique de la figure les regles de positionnement sont d crites dans la section 12 5 p 100 Le premier noeud du chemin enfant s il existe est sp cial et appel n ud enfant S il n y a pas de n ud dans le chemin enfant c a d si le chemin enfant manque y compris les accolades ou s il ne commence pas par node ou coordinate alors on ajoute automatiquement un n ud enfant vide dont la forme est coordinate Regardons l exemple node x child node y child Le premier n ud enfant pr sente un chemin enfant qui poss de un n ud enfant node y Pour le second enfant aucun n ud enfant n est d fini et donc c est simplement coordinate De m me que pour un n ud normal on peut nommer un n ud enfant le d placer ou utiliser des options pour influer sur son rendu ee begin tikzpicture node rectangle draw racine child node circle draw left node gauche child node ellipse draw right node droite draw dashed gt left node right node gauche X droite end tikzpicture Dans de nombreux cas le chemin enfant ne contiendra qu une sp cification de n ud enfant et peut tre des enfants de ce
28. finit le nombre d chantillons utilis s pour l interpolation La valeur par d faut est 25 domain d but fin d finit le domaine dans lequel on prend les chantillons La valeur par d faut est 5 5 parametric true ou false pr cise si la courbe est param trique Si la valeur est true alors on doit utiliser t au lieu de x comme param tre et on doit donner deux fonctions s par es par une virgule dans la formule pour gnuplot En voici un exemple tikz draw scale 0 5 domain 3 141 3 141 smooth plot parametric id parametric example function t sin t t cos t id id d finit l identifiant de la courbe courante Cet identifiant devrait tre unique pour chaque plot bien que les choses marcheront aussi sinon mais pas aussi bien voir les explications ci dessus Le id fera partie d un nom de fichier il ne devrait donc pas contenir de chose bizarre comme ou prefix pr fize sera plac devant chaque nom de fichier plot Par d faut la valeur est jobname mais si l on a de nombreuses courbes il vaudrait peut tre mieux utiliser par exemple plots pour que tous les fichiers de plot soient plac s dans un r pertoire On devra cr er soi m me le r pertoire au pr alable raw gnuplot fait que la formule pour gnuplot est pass e GNUPLOT sans que ni l chantillon ni Vop ration plot soient initialis s On pourrait ainsi crire plot raw gnuplot id raw example function set sam
29. insert d crit la taille du coin Notez que insert n est pas mis l chelle lorsque l on utilise une option de mise l chelle comme scale 2 begin tikzpicture draw color gray very thin 10pt 15pt circle 10pt draw rounded corners 10pt 0 0 Opt 25pt 40pt 25pt end tikzpicture 63 On peut arrondir les coins ou cesser de les arrondir au cours du chemin et des coins differents du m me chemin peuvent avoir des rayons diff rents begin tikzpicture draw 0 0 rounded corners 10pt 1 1 2 1 sharp corners 2 0 rounded corners 5pt cycle end tikzpicture Voici un rectangle aux coins arrondis tikz draw rounded corners iex 0 0 rectangle 20pt 2ex On prendra garde que cette option pr sente plusieurs cueils En premier lieu le coin arrondi ne sera jamais un arc de cercle que si l angle vaut 90 Dans les autres cas le coin arrondi sera toujours arrondi mais pas aussi beau Deuxiemement si le chemin contient de tres petits segments l arrondi peut entrainer des effets inat tendus Dans de tels cas il peut tre n cessaire de faire cesser l arrondissement avec sharp corners coins aigus sharp corners Cette option arr te tout arrondi des coins suivants du chemin 9 7 Les op rations circle et ellipse On peut bien approcher un cercle avec quatre courbes de B zier Toutefois le faire correctement est difficile Pour cette raison on
30. l aide d une commande Les deux commandes suivantes sont utilis es pour de petits graphiques tikz options commandes Cette commande place les commandes l int rieur d un environnement tikzpicture et ajoute un point virgule la fin Ce n est qu une facilit La commande ne doit pas contenir de paragraphe une ligne vide Ce n est qu une pr caution prise pour s assurer que les utilisateurs ne s en serve vraiment que pour des petits graphiques Exemple tikz draw 0 0 rectangle 2ex 1ex produit 49 tikz options texte Si le texte ne commence pas par une parenth se ouvrante la fin du texte est le prochain point virgule Exemple tikz draw 0 0 rectangle 2ex 1ex produit 7 2 3 Ajouter un arri re plan Par d faut les figures n ont pas d arriere plan c est dire qu elles sont transparentes partout o l on n a pas dessin quelque chose On peut au contraire d sirer avoir un arri re plan color sous la figure un cadre noir autour des lignes au dessus et au dessous ou encore toute autre sorte de d coration Comme on n a pas souvent besoin d un arri re plan la d finition des styles permettant d ajouter un arri re plan a t plac e dans la biblioth que d extension pgflibrarytikzbackgrounds Cette biblioth que est d crite dans la Section p 7 3 Utiliser les port es pour structurer une figure Dans un enviro
31. node root child node child edge to parent node label 104 L operation edge to parent et l op ration node subs quente auront ensemble le m me effet que si l on avait crit Voici un exemple plus complexe racine A gauche droite 7 enfant enfant 105 Troisieme partie Bibliotheques et Utilitaires Dans cette partie on documente les extensions package bibliotheques et utilitaires Les extensions bi bliotheques fournissent des objets graphiques pr d finis suppl mentaires comme de nouvelles t tes de fleches ou de nouvelles marques pour les courbes Elles ne sont pas charg es par d faut puisque de nombreux utilisateurs n en ont pas besoin Les extensions d utilitaires ne sont pas directement impliqu es dans la cr ation de graphiques mais vous pourriez n anmoins les trouver utiles Toutes d pendent directement de PGF ou sont con ues pour fonctionner correctement avec PGF m me si elles peuvent tre utilis es seules begin tikzpicture scale 2 shade top color blue bottom color gray 50 0 0 parabola 1 5 2 25 0 0 draw 1 05cm 2pt node above displaystyle int_0 3 2 x 2 mathrm d x draw style help lines 0 0 grid 3 9 3 9 step 0 25cm Gl 2 gel ld draw gt 0 2 0 4 0 node right x draw gt 0 0 2 0 4 node above f x foreach x xtext in 1 1 1 5 1 frac 1 2 2 2 3 3 draw sh
32. rectangle circle coordinate et lorsque la bibliotheque pgflibraryshapes est charg e ellipse galement Les d tails sur ces formes comme sur leurs ancres et options de taille sont donn es dans la section 11 8 p 95 Les styles suivants influent sur le rendu des noeuds style every node Ce style est install au d but de chaque n ud begin tikzpicture tikzstylefevery node draw draw 0 0 node A 1 1 node B end tikzpicture style every forme node Ce style est install au d but de chaque n ud de la forme donn e Par exemple every rectangle node sert pour les noeuds rectangulaire etc begin tikzpicture B tikzstyle every rectangle node draw tikzstyle every circle node draw double draw 0 0 node rectangle A 1 1 node circle B end tikzpicture Il y a une syntaxe sp ciale pour sp cifier des n uds poids plume path coordinate options nom at coordonn e Qui a le m me effet que node shape coordinate options nom at coordonn e o la partie at peut manquer 11 2 Noeuds plusieurs parties La plupart des noeuds n ont qu une simple tiquette textuelle On peut toutefois cr er des noeuds de formes plus complexes partir de plusieurs parties de n ud Par exemple en th orie des automates un tat dit de Moore a un nom d tat dessin dans la partie sup rieure du cercle d tat et un texte
33. right 3 5cm 0 3 foreach p in 0 0 125 1 node pos p p 92 Un autre cas int ressant est fournit par les op rations ligne horizontale verticale jusqu et Pour elles la position ou temps 0 5 est exactement le coin tikz draw 0 0 I 3 1 1 949 i 2 node pos 0 0 node pos 0 5 1 2 node pos 0 9 9 10 9 10 tikz draw 0 0 3 1 node pos 0 0 node pos 0 5 1 2 node pos 0 9 9 10 8 12 Pour toutes les autres op rations de construction de chemin le placement ne marche pas a ce jour On peut esp rer que cela change l avenir particuli rement pour les op rations sur les arcs sloped Cette option fait que le n ud subi une rotation telle que l horizontale soit plac e sur la tangente la courbe La rotation sera toujours faite pour que le texte ne soit pas t te en bas Si l on tient vraiment avoir du texte avec la t te en bas on utilisera rotate 180 1 tikz draw 0 0 controls up 2cm and left 2cm 1 3 ae foreach p in 0 0 25 1 node sloped above pos p p x begin tikzpicture gt draw 0 0 2 0 5 node midway sloped above x ER draw 2 5 0 0 nodelmidway sloped below y Y end tikzpicture Il existe des styles pour sp cifier des positions d une fa on un peu moins technique style midway est d fini par pos 0 5 midway signifie mi chemin tikz draw 0 0 controls
34. ud est typiquement suivie par quelques options qui ne s appliquent qu au n ud Puis on peut de mani re facultative nommer le n ud en fournissant un nom entre parenth ses Enfin avec l op ration node on doit fournir au n ud un texte plac entre accolades alors que l on peut ne pas en fournir avec coordinate Le n ud est plac la position courante du chemin apr s que le chemin a t dessin Ainsi tous les n uds sont dessin s par dessus le chemin et conserv jusqu ce que le chemin soit complet S il y a plusieurs n uds sur un chemin ils sont dessin s par dessus le chemin dans l ordre dans lequel ils sont rencontr s tikz fill fill examplefill third node 0 0 node first node 1 1 node second node meee 0 2 node third node first node La syntaxe pour d finir des noeuds est la suivante path node options nom at coordonn e terte at a pour effet de placer le n ud la coordonn e donn e apr s le at et non comme c est le cas normalement la derni re position La syntaxe de at n est pas disponible quand un n ud est donn l int rieur d une op ration de chemin a n aurait aucun sens cet endroit Le nom est un nom utiliser pour des r f rences futures et il est facultatif On peut aussi ajouter l option name nom la liste des options l effet est le m me name nom de n ud affecte un nom au n ud p
35. up 2cm and left 3cm 1 5 VERS ad nodelat end lat end neay end node very near end very near endl node near end near end node midway midway ne node near start near start node very near start lvery near start node at start lat start near start very near start at start style near start est defini par pos 0 25 style near end est defini par pos 0 75 style very near start est d fini par pos 0 125 style very near end est d fini par pos 0 875 style at start est d fini par pos 0 style at end est d fini par pos 1 93 11 6 2 Utilisation implicite de l option de position Lorsque l on veut placer un nceud sur la droite 0 0 1 1 il est naturel de ne pas sp cifier de noeud apres le 1 1 mais quelque part au milieu C est en fait possible et on peut crire 0 0 nodefa 1 1 pour placer un n ud mi chemin entre 0 0 et 1 1 Voici ce qui se passe la syntaxe de l operation de chemin ligne jusqu est en fait node sp cification de noeud coordonn e On peut m me d finir plusieurs n uds de cette mani re Lorsque l option facultative node est rencontr e la ou les sp cification s est sont stock es Puis quand la coordonn e a t atteinte la les sp cification s est sont r ins r e s avec l option pos activ e On doit remarquer deux choses ce propos quand la sp cification de n ud e
36. 0 0 sin 1 1 cos 2 0 sin 3 1 cos 4 0 sin 5 1 drawl lcolor red 0 1 5 cos 1 0 sin 2 1 5 cos 3 0 sin 4 1 5 cos 5 0 end tikzpicture On notera qu il n y a pas de moyen de dessiner commod ment une partie d une sinusoide dont le point final n est pas un multiple de 7 2 9 12 L op ration plot On peut utiliser l operation plot pour ajouter au chemin une courbe qui passe par un grand nombre de coordonn es Ces coordonn es sont soit donn es comme une simple liste de coordonn es soit lues dans fichier Il y a diff rentes versions de la syntaxe de plot 14 path plot autres arguments Cette op ration trace la courbe qui passe par les coordonn es sp cifi es dans les autres arguments Le sous chemin courant est simplement poursuivi c d qu une op ration ligne jusqu jusqu au pre mier point de la courbe est ajout e implicitement On explique les d tails des autres arguments dans quelques instants path plot autres arguments Cette op ration trace la courbe qui passe par les coordonn es sp cifi es dans les autres arguments en commen ant par d placer jusqu la premi re coordonn e de la courbe On utilise les autres arguments de trois fa ons diff rentes pour sp cifier les coordonn es des points par lesquels doit passer la courbe 1 plot options locales coordinates coordonn e 1 coordonn e 2 coordonn e n 2 plot
37. 4 u u usa a a ana ee BA A ee ait aline A 10 2 Installation 11 2 1 Versions de l extension et des pilotes 11 2 2 1Install r des arChiv s 2a aa aan RS A ue nn 11 221 Debian r mer cu zn essen ns DALE SS Be eee ee 11 2 22 r MARTEX ques ae ee Sr Dr ee a BR oh aN 11 2 3 Installation dans une arborescence texmf 11 2 3 1 Installer tout ensembles 4 4 ato 5e 8 war by be by Ba Gestes penses de di d late sat 4 12 2 3 2 Installation conforme ala TDS 12 2 4 Mise jour de l installation 12 3 Mode d emploi un petit dessin pour les tudiants de Karl 13 3 1 nonc du probl mes 24 ssl et nt a Ee en ae ES As 13 3 2 Pr parer l environnement 13 3 2 1 Pr paration de l environnement en ATEX 14 3 2 2 Pr paration de l environnement en Plain TEX 14 3 3 Construction d un chemin droit 15 3 4 Construction de chemin courbe 15 3 5 Construction d un chemin circulaire 16 3 6 Construction d un chemin rectangulaire 16 3 7 Construction dun quadrillage s ois se a al Pa ll a eh aan 16 3 8 Ajouter une touche de style 17 3 9 Opti n de dessin
38. 6 pixels par lettre avec de mauvaises approches rendant ce texte presque impossible lire La troisi me dimension ajoute de la complexit au graphique sans apporter d information La pr sentation en trois dimension rend tr s difficile l estimation de la hauteur des barres Consid rons la barre de mauvais Repr sente t elle plus ou moins de 20 Alors que le devant de la barre est sous la ligne de 20 l arriere qui compte est au dessus Il est impossible de dire quels sont les nombres repr sent s par les barres Aussi les barres cachent elles gratuitement l information qu elles devaient pr senter Que repr sente la somme des hauteurs des barres 100 ou 60 La barre de tr s mauvais repr sente t elle 0 ou 1 Pourquoi les barres sont elles bleues On pourrait avancer que dans cet exemple les nombres exacts ne sont pas importants pour le diagramme L important est le message qui est qu il y a plus de tr s bon et de bon que de mauvais et tr s mauvais Toutefois s il s agit de faire passer ce message autant utiliser une phrase qui le dit ou un graphique qui le pr sente plus clairement tr s bon 3 6 sans 20 40 Classement donn par 50 participants tr s mauvais 0 0 bon 9 18 mauvais 8 16 passable 10 20 Le graphique ci dessus a peu pr s la m me densit d information que la table
39. Quand l option est pass e un seul enfant elle ne fixe la distance que pour cet enfant la ang Nase El ie er node racine Sr level distance 20mm child child level distance 5mm child child child child level distance 10mm end tikzpicture racine begin tikzpicture tikzstyle level 1 level distance 10mm tikzstyle level 2 level distance 5mm node racine child child child child level distance 10mm child Jr child end tikzpicture sibling distance distance Cette option d finit la distance entre les ancres des enfants d un n ud parent begin tikzpicture level distance 4mm tikzstyle level 1 sibling distance 8mm tikzstyle level 2 sibling distance 4mm tikzstyle level 3 sibling distance 2mm coordinate child child child child child child child child child child child child child child end tikzpicture gt 101 beginftikzpicture level distance 10mm tikzstyle every node fill red 60 circle inner sep 1pt tikzstyle level 1 sibling distance 20mm set style every node fill red 45 tikzstyle level 2 sibling distance 10mm T set style every node fill red 30 tikzstyle level 3 sibling distance 5mm 20 10 19 18 set style every node fill red 15 l node 31 child node 30 549 11 child node 20 child node 5 child node 4 child node 10 child node 9 child node 1
40. TEXt Il n y a pour l heure aucune int gration avec le format Con TEXt Ou plut t on doit utiliser PGF et TikZ comme dans le format plain TFX lorsque l on utilise Con TEXt Cela pourrait changer l avenir 5 2 Formats de sortie g r s Un format de sortie est un format dans lequel TEX produit le texte qu il a typographi Produire cette sortie est conceptuellement un processus en deux tapes 39 1 TEX typographie votre texte et vos graphiques Le r sultat de cette op ration est essentiellement une longue liste de paires lettre coordonn es avec ventuellement quelques commandes sp ciales Cette longue liste de paires est crite dans quelque chose qui s appelle un fichier dvi 2 Un autre logiciel lit ce fichier dvi est traduit les paires lettre coordonn es en disons des commandes PostScript de placement de la lettre donn e aux coordonn es donn es L exemple classique de ce processus est la combinaison de latex et dvips Le programme latex qui n est rien d autre que le programme tex avec les macros de TEX pr charg es produit un fichier dvi comme sortie Le programme dvips prend cette sortie et produit un fichier pls PostScript ventuellement ce fichier est converti encore avec par exemple ps2pdf dont le nom est sens signifier PostScript vers PDF Un autre exemple de logiciels utilisant ce processus est la combinaison tex dvipdfm Le logiciel dvipdfm prend un fichier dvi en entr
41. a A node b at 2 1 B A draw a b draw snake brace a b draw snake brace mirror snake red thick a b end tikzpicture On peut utiliser cette option avec tous les serpents et la combiner avec l option raise snake segment amplitude dimension Cette option fixe l amplitude du serpent Pour un serpent qui est une sinusoide se sera l amplitude de la courbe Pour d autres serpents cette valeur d crit en g n ral de combien le serpent s l ve ou s abaisse par rapport au chemin Pour quelques chemins cette valeur est d daign e B begin tikzpicture node a A node b at 2 1 B node c at 2 1 C draw snake zigzag MO draw snake zigzag segment amplitude 5pt red thick a c end tikzpicture a C segment length dimension Cette option fixe la longueur d un segment du serpent Pour une sinusoide se sera la longueur d onde pour d autres serpents c est la longueur de chaque partie r p titive du serpent B begin tikzpicture node a A node b at 2 1 B node c at 2 1 C draw snake zigzag a b draw snake zigzag segment length 20pt red thick a c end tikzpicture B begin tikzpicture node a A node b at 2 1 B node c at 2 1 C Pa drav snake bumps a b draw snake bumps segment length 20pt red thick a c s end tikzpicture segmen
42. aA m 2 644 a e ae be LEE te SE Ma id CARRE EE 18 3 10 Construction ARC gt anus nn na ae LE Re een CR AU ee ee A 18 3 11 D coupage dun chemin oe wa ae sn een RR AR LE biere le tetes 19 3 12 Construction de chemin parabolique ou sinusoidal 20 3 13 Tracer t Colomer 4 ke os 0 os a tu ee e Be t llnds 20 3 14 MstOmperies a ann rear BA EE Pa we A car G 21 3 15 D finir des coordonn es 22 Traduction fran aise par le TEXnicien de surface Je remercie les relecteurs pour leur aide pr cieuse Francois Giron Arnaud Schmittbuhl Denis Verg s 3 16 Ajouter des pointes de fl ches 32 Port e N TE a a hE ee a gosse te ek 3 18 Transformations 2 2 o uo o an a eg ae ee a ee ee ae 3 194 Repeter 2 bo clespour 2 2 22 2 Dr naar nen en 3 20 Ajouter du texte a Bas ann ke ee Hee EDS a a ee a 2421 N udS ios ded Pon nennen Ruled DE re 4 Conseils propos des graphiques 4 1 gt F ut il suivre ceS Conseils T ooi Loan nd ee eee a a ed Ae ee A et el 42 Estimer le temps n cessaire la cr ation de graphiques 43 Processus de cr ation de graphique 4 4 Lier le graphique avec le texte principal 4 5 Coh rence du texte et des figures 4 6 Annotations dans les figures
43. bas gauche droite nord sud ouest est nord est nord ouest sud est et sud ouest 8 4 Coordonn es xy et xyz On peut d finir les coordonn es dans le systeme de coordonn es xy de PGF Dans ce cas on fournit deux nombres sans unit s s par s par une virgule comme dans 2 3 Cela signifie ajoute deux fois le vecteur suivant x courant de PGF et soustrait trois fois le vecteur suivant y Par d faut le vecteur suivant x pointe 1 cm vers la droite et le vecteur suivant y de 1 cm vers le haut mais on peut changer cela de mani re arbitraire l aide des options graphiques x et y De la m me mani re on peut d finir les coordonn es dans le systeme de coordonn es xyz de PGF La seule diff rence avec les coordonn es xy est que l on sp cifie trois nombres s par s par des virgules comme dans 1 2 3 Cela est interpr t comme une fois le vecteur x plus deux fois le vecteur y plus trois fois le vecteur z Par d faut le vecteur suivant z pointe vers a cm cm Voyons l exemple suivant begin tikzpicture gt draw 0 0 0 1 0 0 draw 0 0 0 0 1 0 draw 0 0 0 0 0 1 end tikzpicture 12 NdTdS J ai choisi de rendre le singulier anglais de l auteur par un singulier fran ais Cet usage est aussi trange en anglais qu en fran ais Mais quitte tre singulier je choisis cette traduction litt rale en avancant comme justification l usage technique du terme pris ici dan
44. bottom color couleur Cette option marche comme top color mais pour la couleur du bas 82 middle color couleur Cette option d finit la couleur du milieu d un d grad axial Elle aussi s lectionne les options shade et shading axis mais elle ne change pas l angle de rotation Note Comme les deux options top color et bottom color changent la couleur du milieu cette option devrait tre donn e en dernier si toutes ces options devaient tre utilis es tikz draw top color white bottom color black middle color red 0 0 rectangle 2 1 left color couleur Cette option fait exactement la m me chose que top color sauf qu elle fixe de plus l angle de rotation 90 right color couleur Fonctionne comme left color inner color couleur Cette option fixe la couleur utilis e au centre d un d grad radial Quand cette option est utilis e les options shade et shading radial sont s lectionn es tikz draw inner color red 0 0 rectangle 2 1 outer color couleur Cette option d finit la couleur utilis e sur le bord et l ext rieur d un d grad radial tikz drawlouter color red inner color white 0 0 rectangle 2 1 ball color couleur Cette option fixe la couleur utilis e pour un d grad ball Elle s lectionne les options shade et shading ball Notez que la balle n aura jamais compl tement la couleur couleur Au point clair on ajoute une ce
45. coupent pas o si elles sont identiques une erreur de d bordement arithm tique se produira begin tikzpicture draw help lines 0 0 grid 3 2 draw 0 0 coordinate A 3 2 coordinate B GIRON EOR fill red intersection of A B and 1 2 3 0 circle 2pt end tikzpicture 8 6 2 Intersection d une droite horizontale et d une droite verticale Un cas sp cial fr quent d intersection est l intersection d une droite verticale passant par un point p et d une droite horizontale passant par un autre point q Il y a pour cette situation une syntaxe sp ciale plus courte on peut crire soit p g soit q p Par exemple 2 1 3 4 et 3 4 2 1 produisent tout deux la m me chose que 2 4 si tant est que le syst me de coordonn es xy n ait pas t modifi L application la plus utile de cette syntaxe est le tracer d un segment jusqu un point situ sur une verticale ou une horizontale Voici un exemple 55 Q2 begin tikzpicture p path 30 1cm node p1 p_1 75 1cm node p2 p_2 2 p draw 0 2 0 1 2 0 node xline right q_1 q draw 2 0 2 2 1 2 node yline above q_2 draw gt p1 pi xline draw gt p2 p2 xline draw gt p1 pi yline draw gt p2 p2 yline end tikzpicture 8 7 Coordonn es relatives et incr mentales On peut pr fixer les coordonn es par
46. d faut Les points sont reli s par des segments de droite Cette option n est fournie que pour permettre de la r activer si l on a par exemple pass l option smooth smooth Cette option fait que les points sont reli s par une courbe lisse tikz draw plot smooth file plots pgfmanual sine table Notez que l algorithme de lissage n est pas tr s intelligent On obtiendra les meilleurs r sultats si les angles de courbure sont petits c a d moindre que 30 environ et de mani re encore plus importante si les distances entre les points sont identiques sur tout le chemin o a lieu l interpolation tension valeur Cette option influence le degr de tension du lissage Une valeur basse donne des coins plus aigus une valeur lev e les rend plus ronds Une valeur de 1 donne un cercle si l on donne quatre points partageant un cercle en quatre La valeur par d faut est 0 55 La valeur correcte d pend des details de l interpolation begin tikzpicture smooth cycle draw plot tension 0 2 coordinates 0 0 1 1 2 0 1 1 drawlyshift 2 25cm plot tension 0 5 coordinates 0 0 1 1 2 0 1 1 drawlyshift 4 5cm plot tension 1 coordinates 0 0 1 1 2 0 1 1 end tikzpicture smooth cycle Cette option fait que les points du chemin sont reli s par une courbe lisse ferm e 71 tikz scale 0 5 draw plot smooth cycle coordinates 0 0 1 0 2 1 1 2
47. de sortie dessin dans la partie inf rieure du cercle d tat Ces deux parties sont ind pendantes De m me une forme de classe UML aurait une partie pour le nom une partie pour la m thode et une partie pour les attributs Des formes mol culaires peuvent utiliser des parties pour les diff rents atomes dessiner des positions diff rentes etc 87 Tant PGF que TikZ g rent de tels n uds plusieurs parties Au niveau le plus bas PGF fournit un systeme pour sp cifier qu une forme est constitu e de plusieurs parties Au niveau de TikZ on d finit les diff rentes parties de n ud l aide de la commande suivante nodepart nom de partie On ne peut utiliser cette commande que dans un argument texte d une operation de chemin node Elle fonctionne un peu comme une commande part dans TFX Elle arr te de typographier la partie du noeud qui tait typographi e jusque la puis commence a placer tout le texte suivant dans une partie de n ud nomm e nom de partie jusqu une autre nodepart ou jusqu la fin du texte du n ud begin tikzpicture aN node state with output draw double fill red 20 ou Jusqu ici on n a utilis aucun nodepart Aussi ce qui suit est plac dans la partie texte de noeud par d faut q_1 nodepart output Fini la partie texte et commence la partie output 00 fin de la partie output end tikzpicture On cherchera quelles parties sont d
48. des fichiers situ s dans le r pertoire generic pgf Par exemple voici le contenu du fichier latex pgf frontends tikz sty Copyright 2005 by Till Tantau lt tantau users sourceforge net gt This program can be redistributed and or modified under the terms of the GNU Public License version 2 RequirePackage pgf calc pgffor pgflibraryplothandlers xkeyval input tikz code endinput Le fichier du r pertoire generic pgf fait le vrai travail 5 1 2 Utiliser le format Plain TEX Lorsque l on utilise le format plain TEX on crit input pgf tex ou input tikz tex Au lieu de begin pgfpicture et end pgfpicture on utilise pgfpicture et endpicture Contrairement ce qu il sait faire pour le format ETEX PGF ne sait pas bien discerner la configuration ad quate pour le format plain TEX En particulier il ne d terminera correctement le format de sortie auto matique que si vous utiliser pdftex ou tex plus dvips Pour tout autre format de sortie on devra donner la valeur correcte la macro pgfsysdriver Voir la description de l utilisation des formats de sortie ci dessous PGF fut l origine crit pour une utilisation avec ATEX et cela se voit en de nombreux endroits Toutefois l int gration avec plain TEX est raisonnablement bonne De m me que les fichiers de style ATEX les fichiers du format plain TEX comme tikz tex ne font qu inclure le fichier tikz code tex convenable 5 1 3 Utiliser le format Con
49. dimension Cette option garantit que la hauteur de la forme y compris la s paration int rieur mais sans la s paration ext rieure sera au moins gale a dimension Ainsi si le texte plus la s paration int rieure n est pas au moins aussi haute que dimension la forme sera convenablement agrandie Toutefois si le texte est d j plus haut que dimension la forme ne sera pas r duite begin tikzpicture lcm Ocm draw 0 0 node minimum height 1cm draw 1cm 2 0 node minimum height Ocm draw 0cm end tikzpicture 95 minimum width dimension comme minimum height mais pour la largeur begin tikzpicture draw 0 0 node minimum height 2cm minimum width 3cm draw 3 times 2 end tikzpicture 3x2 R minimum size dimension fixe en une fois les valeurs pour la hauteur et la largeur minimum begin tikzpicture draw 0 0 node minimum size 2cm draw carr draw 0 2 node minimum size 2cm draw circle cercle carr end tikzpicture a I TikZ manipule la forme coordinate d une fa on sp ciale Lorsqu un n ud x dont la forme est coordinate est utilis comme coordonn e x l effet est le m me que si l on utilisait x center Aucune r gle sp ciale de reduction des courbes ne s applique alors Cela peut tre utile puisque normalement la r duction des courbes fait que les chemins sont segment s et ne peuvent de ce fait tr
50. dispose d une syntaxe sp ciale pour ajouter une telle approximation d un cercle au chemin courant path circle rayon Le centre du cercle est donn par le point courant Le nouveau point courant du chemin restera le centre du cercle path ellipse demi largeur and demi hauteur Notez que l on peut ajouter des espaces apr s ellipse mais que l on doit en mettre autour de and begin tikzpicture draw 1 0 circle 5cm draw 3 0 ellipse 1cm and 5cm 3 0 circle 5cm er ron 5 circlent25cm end tikzpicture 9 8 L op ration arc L op ration arc permet d ajouter un arc au chemin courant path arc angle de d part angle de fin rayon demi hauteur L op ration arc ajoute une arc du cercle de rayon donn entre les deux angles Cet arc commencera au point courant et finira avec la fin de l arc P o gt begin tikzpicture draw 0 0 arc 180 90 1cm 2 5 arc 90 0 1cm draw 4 0 30 1cm arc 30 60 1cm cycle draw 8 0 arc 0 270 1cm 5cm cycle end tikzpicture 64 begin tikzpicture draw 1 0 3 5 0 a draw 1 0 210 2cm 30 4cm B draw 1 0 O 1cm arc 0 30 1cm draw 1 0 180 1cm arc 180 210 1cm path 1 0 15 75cm node alpha path 1 0 15 75cm node beta end tikzpicture 9 9 L op ration grid On peut ajouter un quadrillage au chemin courant avec l opera
51. draw plot mark x smooth file plots pgfmanual sine table Voici le fichier plots pgfmanual sine table Curve 0 20 points x y type 0 00000 0 00000 0 52632 0 50235 1 05263 0 86873 1 57895 0 99997 Ee jr EE 9 47368 0 04889 i 10 00000 0 54402 i On Va cr l aide de gnuplot partir du source suivant set terminal table set output plots pgfmanual sine table set format Y 5f set samples 20 plot x 0 10 sin x Les options locales de l op ration plot sont locales chaque interpolation et n affectent pas les autres sur le m me chemin Par exemple plot yshift 1cm soulevera localement la courbe de 1 cm Souvenez vous toutefois que la plupart des options ne s appliquent qu a la totalit du chemin Par exemple plot red n a pas pour effet de colorier la courbe en rouge Apr s tout vous essayez de colorier localement le chemin en rouge ce qui n est pas possible 9 12 3 Tabuler et tracer une fonction Souvent on voudra tracer le graphe d une fonction comme f x xsinx Malheureusement TEX ne poss de pas vraiment la puissance de calcul n cessaire pour calculer les coordonn es des points d une telle courbe de mani re efficace apr s tout c est un logiciel de typographie Toutefois si on l y autorise TEX peut essayer d appeler un programme externe qui peut produire facilement ces coordonn es ce jour TikZ sait comment appeler GNUPLOT La premi re fois que T
52. draw snake coil segment aspect 0 0 5 3 5 AINININ IN ININ IN A draw snake expanding waves segment angle 7 0 0 3 0 end tikzpicture 1 begin tikzpicture filldraw fill red 20 snake bumps 0 0 rectangle 3 2 end tikzpicture begin tikzpicture filldraw fill blue 20 0 3 snake saw ER snake coil segment aspect 0 pil snake bumps 0 3 end tikzpicture On n a pas besoin d op ration de chemin sp ciale pour utiliser un serpent Ala place on utilisera l option suivante pour mettre le serpentage en route snake nom de serpent Cette option fait que le serpent nom de serpent sera utilis dans les op rations ligne jusqu suivantes Aussi chaque fois que l on utilisera la syntaxe pour sp cifier qu une ligne droite devrait tre ajout e au chemin c est un serpent qui sera ajout sa place au che min Les serpents seront utilis s galement quand on se servira des syntaxes et et encore lorsque 59 Von se servira d une operation rectangle Les serpents ne seront pas utilis s quand on utilisera une operation courbe jusqu a ni quand on ajoutera une autre ligne courbe au chemin Cette option doit tre redonn e chaque chemin Toutefois on peut d laisser le nom de serpent Dans ce cas on utilise la port e nom de serpent Ainsi on peut d finir un nom de serpent standard pour la port e et crire simplement draw snake chaque
53. haut gauche abore left tikz fill 0 0 circle 2pt node above left above left bore lef tikz fill 0 0 circle 2pt node above left 2pt above left above right d port fait comme anchor south west aloe right tikz fill 0 0 circle 2pt node above right above right e left d port fait comme anchor east lefte tikz fill 0 0 circle 2pt node left left right d port fait comme anchor west below d port fait comme anchor north below left d port fait comme anchor north east below right d port fait comme anchor north west 11 5 Transformations On peut appliquer une transformation aux n uds mais par d faut les transformations ne s appliquent pas aux n uds La raison en est que habituellement on ne veut pas que le texte soit mis l chelle ou subisse une rotation m me si le graphique principal est transform Mettre du texte l chelle est mal le faire tourner un tout petit peu moins 19 NdTdS D port traduit ici offset 91 Toutefois il arrive que l on veuille transformer un n ud par exemple tourner un n ud de 90 degr s est parfois sens On peut le faire de deux mani res l On peut se servir de l option suivante transform shape fait que la matrice de transformation externe s applique la forme Par exemple si on crit tikz scale 3 puis node transform shape X on obtiendra un norme
54. il a peu pr s la m me taille et pr sente peu pr s les m mes nombres De plus on peut voir directement que il y a plus de bons classements que de mauvais On peut aussi voir que le nombre de personne qui n ont pas donn de classement n est pas n gligeable ce qui est fr quent pour une telle enqu te Un diagramme n est pas toujours une bonne id e Regardons un exemple que je redessine d apr s un diagramme circulaire de Die Zeit du 4 juin 2005 36 Kohle ist am wichtigsten Energiemix bei der deutschen Stromerzeugung 2004 Gesamte Netto Stromerzeugung in Prozent in Milliarden Kilowattstunden Mrd kWh Sonstige 16 5 kWh 2 9 Regenerative 53 7 kWh davon Wind 4 4 25 0 kWh Mineral lprodukte 9 2 kWh 1 6 Erdgas 59 2 kWh Kernenergie 158 4 kWh Steinkohle 127 1 kWh Braunkohle 146 0 kWh Ce graphique a t redessin avec TikZ mais l original lui ressemble beaucoup A premiere vue le graphique semble beau et instructif mais il y a beaucoup de choses qui ne vont pas Le diagramme est en trois dimensions Toutefois les ombres n apporte rien en terme d information et au mieux elles perturbent Dans un diagramme circulaire en 3D les tailles relatives sont tres d form es Par exemple l aire de la zone grise du Braunkohle est plus grande que celle de la zone verte du Kernenergie en d pit du fait que le pourcentage de
55. imprime avec une imprimante noir et blanc Les conseils sont presque toujours r dig s en vue d une situation particuli re Si l on n est pas dans cette situation suivre ce conseil peut faire plus de mal que de bien La r gle de base en typographie est on peut contourner une r gle tant que l on sait que l on contourne une r gle Cette r gle s applique aussi aux graphiques Dite autrement la r gle de base est les seules erreurs en typographie sont les choses faites par ignorance Lorsque vous connaissez une r gle et que vous d cidez que la contourner permet d obtenir l effet voulu contournez la Certains conseils sont simplement faux mais tout le monde les suit par tradition ou est forc de le faire Mon exemple favori est la directive qu une soci t de conception de logiciels pour laquelle j ai travaill avait incorpor e un grand projet tous les programmeurs doivent d clarer les param tres des fonctions dans l ordre croissant de taille Ainsi les param tres de un octet devaient venir les premiers puis ceux de deux octets et ainsi de suite Cette directive est un non sens total Un conseil discutable plus sens serait de d clarer les pa ram tres dans l ordre alphab tique afin qu ils soient plus facile trouver Une autre recommandation indubitablement sens e est que les param tres doivent tre d clar s par ordre de taille d croissante afin de r duire les
56. la courbe situ quelque part par rapport a la derni re coordonn e La fraction impose l loignement du point sur la courbe Un fraction de 0 correspond la coordonn e pr c dente 1 au point courant tout le reste est entre ces deux extr mes En particulier 0 5 correspond au milieu Maintenant qu est ce que la courbe pr c dente Cela d pend des op rations pr c dentes de construction de chemin Dans le cas le plus simple l operation pr c dente de chemin tait une op ration ligne jusqu a c est dire une op ration coordonnee tikz draw 0 0 3 1 node pos 0 0 node pos 0 5 1 2 node pos 0 9 9 10 Le cas suivant est l op ration courbe jusqu a l op ration Dans ce cas le milieu de la courbe c est dire la position 0 5 n est pas n cessairement un point exactement la moiti de la distance suivant la courbe Plut t c est le lieu atteint au temps 0 5 par un point partant au temps 0 du d but de la courbe et arrivant la fin de la courbe au temps 1 La vitesse du point d pend de la norme des vecteurs supports vecteurs qui joignent les points de d but et de fin aux points de contr le Les math matiques mises en jeu sont un peu complexes suivant votre point de vue bien entendu si vous tes intrigu s consultez un bon livre sur le dessin par ordinateur et les courbes de B zier tikz draw 0 0 controls right 3 5cm and
57. la direction de croissance de l arbre globalement et aussi pour chaque partie de l arbre On point m me d finir sa propre fonction de croissance pour placer les enfants sur un cercle ou le long d une courbe quelconque 100 La fonction de croissance par d faut marche comme ceci supposons donn s un noeud et cing enfants Ces enfants sont plac s sur une droite de telle fa on que leurs centres ou plus g n ralement leurs ancres soient s par s pour la sibling distance courante La droite est perpendiculaire la direction de croissance courante direction que l on fixe l aide de l option grow ou grow cette derni re renverse l ordre des enfants La distance entre la droite du noeud parent et celle des noeuds enfants est donn e par level distance 4 begin tikzpicture path help lines node root racine ye grow 10 a i child node 1 lara ee child node 2 a distance child node 3 n child node 4 x g N ER draw lt gt thick root 1 center z node above sloped sibling distance root 2 center 3 bo draw lt gt thick root center S node above sloped level distance 10 tikzleveldistance 3 end tikzpicture Voici une description d taill e des options level distance distance Cette option permet de modifier la distance entre diff rents niveaux de l arbre plus pr cis ment entre le parent et la courbe sur laquelle ses enfants sont plac s
58. le mot cl child enfant Les enfants sont eux m mes des n uds et chacun d eux peut avoir son tour des enfants rain ieee JEL ie aa node racine child node gauche child node droite child node enfant gauche droite child node enfant ig I end tikzpicture enfant enfant 45 Puisque les arbres sont faits de noeuds on peut utiliser les options pour modifier la facon dont les arbres sont dessin s Voici deux exemples de l arbre ci dessus redessin avec des options diff rentes begin tikzpicture edge from parent fork down tikzstyle every node fill red 30 rounded corners tikzstylefedge from parent red o thick draw node racine child node gauche gauche droite child node droite child node enfant child node enfant D end tikzpicture racine enfant enfant begin tikzpicture parent anchor east child anchor west grow east tikzstylefevery node ball color red circle text white tikzstylefedge from parent draw dashed thick red node racine child node gauche child node droite child node enfant child node enfant end tikzpicture 6 7 Groupement de param tres graphiques Les param tres graphiques devraient souvent s appliquer de nombreuses commandes de dessin ou de remplissage de chemin Par exemple on peut vouloir dessiner de nombreuses lignes toutes de la m me paisseur de 1 pt Pour cela on peut placer ces commandes dans
59. les enfants sont rang s dans l ordre inverse growth function nom de macro Cette option plut t de bas niveau permet de d finir une nouvelle fonction de croissance Le nom de macro doit tre le nom d une macro sans param tre Cette macro sera appel e pour chaque enfant du noeud Le d veloppement de cette macro devrait avoir l effet suivant transformer le systeme de coordonn es de telle sorte que l origine devienne le lieu ot l enfant courant doit tre ancr Lorsque la macro est appel e le systeme de coordonn es courant est fix de sorte que l origine soit plac e l ancre du n ud parent Donc chaque appel l effet de nom de macro est essentiellement une translation de l origine Quand la macro est appel e le compteur TEXien tikznumberofchildren prend la valeur du nombre total d enfants du n ud parent et le compteur tikznumberofcurrentchild prend la valeur du rang de l enfant courant En plus de translater le systeme de coordonn es la macro peut le transformer plus profondement Elle peut par exemple lui faire subir une rotation ou une homoth tie mise l chelle Une biblioth que d finit des fonctions de croissances suppl mentaires voir la section p 12 6 Ar tes issues du n ud parent Chaque noeud enfant est reli son n ud parent par une sorte sp ciale d ar te appel e edge from parent ar te issue du parent Cette ar te est ajout e au chemin enfant
60. option pour red finir la pointe de fl che standard gt La motivation de ce comportement est que des gens diff rents ont des id es diff rentes propos du genre de pointe de fleche dont on devrait se servir normalement Je prefere la pointe de la commande TEXienne to que l on utilise dans dans choses comme f A B D autre pr f reront la fl che standard de TFX dont l apparence est la suivante Comme le type de pointe gt est certainement le plus naturel que l on peut utiliser il est conserv libre de toute signification pr d finie Ou plut t on peut le changer avec gt to pour d finir la pointe de fl che standard comme la fl che TEXienne alors que gt latex la d finira comme la pointe de fl che K IEXienne et que l on utilisera gt stealth pour obtenir une pointe de fl che la PSTRICKS Outre la red finition du type de pointe de fl che gt et lt pour le d but cette option r alise la red finition des types suivants gt et lt comme version chang e pour type de pointe de fin lt lt et gt gt comme version double gt gt et lt lt comme version double chang e et lt et gt comme pointe de fl che termin e par une barre verticale m begin tikzpicture scale 2 an begin scope gt latex draw gt Opt 6ex 1cm 6ex o draw gt gt gt Opt 5ex 1cm 5ex s draw lt gt Opt 4ex icm 4ex ee end scope begin scope
61. paisseur du crayon 79 oo begin tikzpicture fill examplefill line width 5pt filldraw 0 0 1 1 2 1 filldraw 4 0 circle 5cm 4 5 0 circle 5cm filldraw even odd rule 6 0 circle 5cm 6 5 0 circle 5cm filldraw 8 0 9 1 10 0 circle 5cn end tikzpicture 10 3 1 Param tres graphiques Interior Rules r gles pour l int rieur On peut se servir des deux options suivantes pour d cider la fagon dont seront d termin s les points int rieurs nonzero rule Si cette r gle est utilis e ce qui est le comportement par d faut la m thode suivante est utilis e pour d terminer si un point donn est l int rieur du chemin on trace une demi droite d origine le point consid r on choisit la direction de telle sorte qu aucun cas limite trange n apparaisse Alors la demi droite peut couper le chemin A chaque fois qu elle coupe le chemin on incr mente ou d cr mente un compteur qui vaut z ro au d part Si la demi droite coupe le chemin quand ce dernier va de gauche droite relativement la demi droite le compteur est incr ment sinon il est d cr ment Alors la fin on regarde si le compteur est non nul d o le nom nonzero Dans ce cas le point est consid r comme int rieur sinon il est consid r comme ext rieur Cela para t compliqu non a l est begin tikzpicture filldraw fill examplefill
62. parabola op ration de chemin 65 parabola height option graphique 66 PARABOLE voir parabola PARAMETRE voir parameter PARAMETRE GRAPHIQUE voir graphic parameter parametric option graphique 70 parent anchor option graphique 104 PAS DE QUADRILLAGE voir step ou stepping path 57 PEIGNE voir comb PENTE EN voir sloped pgfsys dvipdfm def fichier 40 psfsys dvips def fichier 41 pgfsys pdftex def fichier 40 pgfsys tex4ht def fichier 41 113 pgfsys textures def fichier 41 pgfsys vtex def fichier 40 PILOTE voir driver voir driver plot op ration de chemin 67 POINT DE CONTROLE voir control point POINTE DE FLECHE voir arrow tip POLAIRE COORDONN E voir polar polar comb option graphique 72 PORT E voir scope pos option graphique 92 POUR CHAQUE voir foreach PR S DE LA FIN voir near end voir near end PR S DU D BUT voir near start voir near start prefix option graphique 70 QUADRILLAGE voir grid R TR CIR voir scale R GLE DE L INDICE NON NUL voir nonzero winding number R GLE DE PARIT voir even odd rule R GLE POUR L INT RIEUR voir interior rule RACCORD voir join RACCOURCI NOM voir shortcut RACCOURCIR voir shorten RACINE voir root raise snake option graphique 60 raw gnuplot option graphique 70 rectangle op ration de chemin 63 RECTANGULAIRE EXTR MIT voir rect REMPLIR voir fill RESSERR POINTILL S voir dense
63. plot coordinates 0 0 1 0 2 1 1 2 cycle ycomb Cette option fait que l op ration plot interpr te les points donn s diff remment Au lieu de les relier elle ajoute au chemin un segment de droite pour chaque point donn segment joignant verticalement le point l axe des x produisant une sorte de peigne comb ou de diagramme segments Mes Ta te tikz draw ultra thick plot ycomb thin mark file plots pgfmanual sine table begin tikzpicture ycomb draw color red line width 6pt plot coordinates 0 1 5 1 2 1 6 1 5 7 2 9 draw color red 50 line width 4pt xshift 3pt plot coordinates 0 1 2 5 1 3 1 5 1 5 2 2 5 end tikzpicture xcomb Cette option fonctionne comme ycomb sauf que les segments sont horizontaux tikz draw plot xcomb mark x coordinates 1 0 0 8 0 2 0 6 0 4 0 2 1 polar comb Cette option fait que pour chaque point donn un segment joignant le point et l origine est ajout au chemin tikz draw plot polar comb mark pentagon mark options fill white draw red mark size 4pt coordinates 0 1cm 30 1 5cm 160 5cm 250 2cm 60 8cm only marks Cette option fait que seules les marques sont montr es aucun segment de chemin n est ajout au chemin r el On peut s en servir pour ajouter rapidement quelques marques sur un chemin tikz draw 0 0 sin 1 1 cos 2 0 plot onl
64. que tous les dessins suivants seront d coup s le long du chemin courant et que leurs tailles ne seront pas prises en compte pour la taille de la figure Si on d coupe suivant un chemin autos cant la regle de parit ou celle de l indice non nul est utilisee pour d terminer si un point est int rieur ou ext rieur la r gion de d coupage Le chemin de d coupage est un param tre graphique d tat aussi il sera remis z ro la fin de la port e courante Des d coupages multiples s accumule c est dire que le d coupage est toujours fait suivant l intersection de toutes les surfaces de d coupage qui ont t sp cifi es dans la port e courante La seule maniere d agrandir une aire de d coupage est de finir la port e scope begin tikzpicture draw clip 0 0 circle 1cm filllred 1 0 circle 1cm end tikzpicture C est d habitude une tr s bonne idee de n appliquer l option clip qu a la premiere commande de chemin dans une portee Si on veut simplement d couper sans vouloir tracer quoi que ce soit on peut utiliser la commande clip qui est une abr viation de path clip begin tikzpicture clip 0 0 circle 1cm fill red 1 0 circle 1cm end tikzpicture Pour localiser le d coupage il faut utiliser des environnements scope comme dans l exemple suivant 84 Il a un pi ge l g rement ennuyeux on ne peut pas sp cifier certaines options graphiques
65. s utile mais on peut d finir des couleurs diff rentes pour tracer et remplir On sp cifie cela avec des arguments optionnels comme ici begin tikzpicture scale 3 clip 0 1 0 2 rectangle 1 1 0 75 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm D filldraw fill green 20 white draw green 50 black 0 0 3mm Omm arc 0 30 3mm cycle end tikzpicture 3 14 Estomper Karl consid re bri vement la possibilit de rendre l angle plus fantaisiste en l estompant Au lieu de le remplir avec une couleur uniforme on utilise une transition douce entre diff rentes couleurs Pour cela on P D peut utiliser shade ou shadedraw pour tracer et estomper en m me temps en ie tikz shade 0 0 rectangle 2 1 3 0 5 circle 5cm L ombrage par d faut est une transition douce entre le gris et le blanc Pour sp cifier d autres couleurs on peut utiliser les options begin tikzpicture rounded corners ultra thick shade top color yellow bottom color black 0 0 rectangle 2 1 shade left color yellow right color black 3 0 rectangle 2 1 shadedraw inner color yellow outer color black draw yellow 6 0 rectangle 2 1 shade ball color green 9 5 circle 5cm end tikzpicture 4 NdTdS Il faudrait en toute rigueur utiliser soit le verbe d grader qui d apr s le
66. si un style a pr c demment activ le dessin et qu on veut suspendre cet effet localement Quoique cette option soit normalement utilis e sur des chemins pour indiqu e que le chemin devrait tre dessin cela a un sens de l utiliser avec un environnement scope ou tikzpicture Toutefois cela ne fera pas que tout le chemin soit dessin Plut t cela fixe simplement la couleur utiliser pour dessiner les chemins l int rieur de l environnement begin tikzpicture path draw red 0 0 1 1 2 1 circle 10pt end tikzpicture Les sections suivantes listent les diff rentes options qui influent sur la mani re dont un chemin est dessin Toutes ces options n ont d effet qui si option draw est pass e directement ou indirectement 74 10 2 1 Param tres graphiques Line Width largeur de ligne Line Cap extr mit de ligne et Line Join raccord de lignes line width dimension Definit la largeur width de la ligne Notez l espace Par d faut 0 4pt tikz draw line width 5pt 0 0 1cm 1 5ex Il y a un certain nombre de styles pr d finis qui fournissent des facons plus naturelles de fixer la largeur de la ligne On peut aussi red finir ces styles On se souviendra que l on peut ne pas crire le style lorsque l on active un style style ultra thin Fixe la largeur de ligne a 0 1 pt Ber tikz draw ultra thin 0 0 1cm 1 5ex style very thin Fixe l
67. suivants sa racine README doc generic plain et latex Vous devriez fusionner chacun de ces quatre r pertoires avec les r pertoires suivants texmf doc texmf tex generic texmf tex plain et texmf tex latex Par exemple dans l ar chive tar le r pertoire doc ne contient que le r pertoire pgf et ce r pertoire doit tre copi comme texmf doc pgf Le fichier README plac la racine de l archive peut tre laiss de c t puisqu il est re produit en doc pgf README Vous pourriez envisager galement de tout placer au m me endroit et d utiliser des liens symboliques pour pointer des r pertoires conformes la TDS sur celui de l installation centrale Pour des explications plus d taill es sur le processus normal d installation d extensions vous pouvez consulter http www ctan org installationadvice Toutefois notez que l extension PGF n est pas livr e avec un fichier ins passez simplement cette partie 2 4 Mise jour de l installation Pour mettre jour votre installation depuis une version pr c dente vous devez simplement remplacer tout ce qui se trouve dans texmf tex generic pgf par les fichiers de la nouvelle version ou bien dans tous les r pertoires o pgf a t install si vous avez choisi une installation conforme la TDS Le plus simple est de commencer par effacer l ancienne version et de proc der comme d crit ci dessus Parfois il y a quelques changements dans la syntaxe de
68. thin TRES PRES DE LA FIN voir very near end TRES PRES DU DEBUT voir very near start TRACER voir draw TRACER ET REMPLIR voir filldraw TRACER UNE COURBE voir plot transform shape option graphique 92 TRANSLATER voir shift transparent style 77 TYPOGRAPHIE voir typesetting TYPOGRAPHIER voir typeset ULTRA EPAIS voir ultra thick ultra nearly opaque style 77 ultra nearly transparent style 77 ultra thick style 75 ultra thin style 75 use as bounding box option graphique 83 useasboundingbox 73 very near end style 93 very near start style 93 very nearly opaque style 77 very nearly transparent style 77 very thick style 75 very thin style 75 xcomb option graphique 72 xstep option graphique 65 ycomb option graphique 72 ystep option graphique 65
69. utilise fill au lieu de draw Voici ce que fait Karl 20 begin tikzpicture scale 3 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm draw 3mm Omm arc 0 30 3mm end tikzpicture La couleur green 20 white est compos e de 20 de vert et de 80 de blanc Une telle expression de couleur est possible car PGF utilise l extension xcolor de Uwe Kern Voyez la documentation de cette extension pour des d tails sur les expressions de couleur Que se serait il pass si Karl n avait pas ferm le chemin avec 0 0 Dans ce cas le chemin aurait t ferm automatiquement et on aurait pu omettre le dernier point En fait il aurait mieux valu coder la place quelque chose comme ce qui suit filllgreen 20 white 0 0 3mm Omm arc 0 30 3mm cycle Le cycle fait que le chemin courant est ferm en fait la partie courante du chemin courant en joignant souplement le premier et le dernier point Pour appr cier la difference regardez l exemple suivant begin tikzpicture line width 5pt draw 0 0 1 0 1 1 gt 0 0 draw 1O OR PO Oleh mec clear useasboundingbox 0 1 5 agrandit la boite cadre end tikzpicture On peut tracer et remplir un chemin en m me temps avec la commande filldraw Cela tracera d abord le chemin puis le remplira Cela peut ne pas sembler tr
70. voir none AVANT PLAN voir foreground AXE voir axis ball marque 70 ball color option graphique 83 BARRE OBLIQUE voir slash BARRE OBLIQUE INVERSE voir backslash BAS voir bottom baseline option graphique 49 below option graphique 91 below left option graphique 91 below right option graphique 91 bend option graphique 66 bend at end style 66 bend at start style 66 110 bend pos option graphique 66 BIBLIOTHEQUE voir library BISEAU RACCORD voir bevel BOITE CADRE voir bounding box bottom color option graphique 82 BOUCLE voir loop BOUCLE POUR voir for loop BOUT EXTREMITE voir butt cap option graphique 75 CENTRE voir center CERCLE voir circle CHARGE EXTENSION voir load package CHEMIN voir path child op ration de chemin 97 child anchor option graphique 104 circle op ration de chemin 64 clip 73 clip option graphique 84 COIN voir corner color option graphique 74 color option option graphique 74 COLORIER voir fill coordinate 73 coordinate op ration de chemin 87 COORDONNEE voir coordinate voir coordinate COORDONNEE D ANCRE voir anchor coordinate cos op ration de chemin 67 COUCHE D INTERFACE voir frontend layer COUCHE DE BASE voir basic layer COUCHE SYSTEME voir system layer COULEUR voir color COULEUR DE FOND voir core color COURBE voir curve voir line voir curve COURBE JUSQU A voir curve to CROCH
71. 0 controls 1 1 and 2 1 0 end tikzpicture La syntaxe g n rale pour tendre un chemin d une maniere courbe est controls premier point de contr le and second point de contr le point final On peut ne pas utiliser le and second point de contr le ce qui fera que le premier sera utilis deux fois D sormais Karl peut ajouter le premier demi cercle a la figure begin tikzpicture draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 1 0 controls 1 0 555 and 0 555 1 0 1 controls 0 555 1 and 1 0 555 1 0 end tikzpicture Karl est tr s content du r sultat mais trouve que d crire des cercles de cette mani re est extr mement maladroit Heureusement il y a une maniere bien plus simple 15 3 5 Construction d un chemin circulaire Afin de tracer un cercle on peut utiliser l operation de construction de chemin circle cercle Cette operation est suivie du rayon entre parentheses comme dans l exemple suivant Notez que la position pr c dente est utilisee comme centre du cercle tikz draw 0 0 circle 10pt On peut galement ajouter une ellipse au chemin avec l operation ellipse Au lieu d un seul rayon on en donne deux l un pour la direction des x et l autre pour celle des y s par s par and CD tikz draw 0 0 ellipse 20pt and 10pt Pour tracer une ellipse dont les axes ne sont pas horizontaux et verticaux mais po
72. 0 puis 2 0 et 1 1 6 2 Syntaxe sp ciale de d finitions de chemins Quand on cr e une figure avec TikZ le travail principal est la d finition de chemins Un chemin est une suite de lignes droites ou courbes qui n ont pas besoin d tre connect es TikZ facilite la d finition de chemin en utilisant partiellement la syntaxe de METAPOST Par exemple pour d finir un chemin triangulaire on utilise 5pt 0pt Opt Opt Opt 5pt cycle et l on obtient N lorsqu on le trace 6 3 Actions sur les chemins Un chemin est une suite de lignes droites et courbes mais on n a pas encore dit ce qui devait lui arriver On peut dessiner draw un chemin le remplir fill estomper shade le d couper clip ou faire une 9 NdTdS TikZ n est pas un logiciel de Dessin Assist par Ordinateur 10 NdTdS Pour tre exact il faudrait traduire shade par appliquer un d grad etc M me si les deux actions ne sont pas quivalentes j utiliserai estomper comme un raccourci commode 44 quelconque combinaison de ces actions Dessiner alias tracer stroke peut amp tre vu comme l action de prendre un crayon d une certaine paisseur et de le deplacer le long du chemin par 1a dessiner sur la toile canvas Remplir signifie que l interieur du chemin est colorier de facon uniforme Evidemment remplir n a de sens que si le chemin est ferm et un chemin est ferm automatiquement avant d tre re
73. 06 IV La couche de base 106 V La couche systeme 107 VI R f rences et Index 108 Index 110 Premiere partie Pour demarrer Cette partie est con ue pour vous aider d marrer avec l extension PGF D abord on explique le processus d installation toutefois ce systeme est normalement d ja install sur votre machine et cette partie peut tre souvent sautee Ensuite on donne un court tutoriel pour expliquer les commandes les plus souvent utilis es et les concepts de TikZ sans aller jusqu aux d tails splendides A la fin de la section vous trouverez quelques indications qu on esp re utiles pour cr er de bons graphiques en g n ral Les informations de cette section ne sont pas sp cifiques a PGF tikz draw thick rounded corners 8pt OO 2 GLS 52 0 052 QD 0 Co 1 Introduction L extension PGF o PGF est sens signifier format graphique portable portable graphics format est une extension pour la cr ation de graphiques en ligne L extension d finit un certain nombre de com mandes TFX qui dessinent des graphiques Par exemple le code tikz draw Opt 0pt 20pt 6pt produit le segment et le code tikz filllorange 1ex 1ex circle 1ex produit Dans un sens lorsque vous utilisez PGF vous programmez votre graphique comme vous programmez votre document en utilisant TFX Cela signifie que vous obtenez les avantages de l app
74. 1 5 0 1 5 draw 0 0 circle 1cm foreach x in icm 0 5cm icm draw x 1pt x 1pt foreach y in 1cm 0 5cm 0 5cm 1cm Pr draw 1pt y ipt y end tikzpicture En fait il y a plusieurs facon de cr er les graduations Par exemple Karl pourrait avoir place le draw entre accolades Il pourrait aussi avoir utilis par exemple foreach x in 1 0 5 1 draw xshift x cm Opt 1pt Opt 1pt Karl est curieux de savoir ce qui se passerait dans une situation plus complexe lorsqu il y a disons 20 graduations Cela semble ennuyeux d avoir mentionner explicitement tous les nombres dans l ensemble de foreach En effet on peut utiliser dans l expression du foreach pour it rer sur un grand nombre de valeurs qui doivent tre cependant des nombres r els sans dimension comme dans l exemple suivant COLOR tikz foreach x in 1 10 draw x 0 circle 0 4cm Si on fournit deux nombres avant le l expression du foreach utilisera leur difference comme pas et ool iereryel Wwe ait teil O 3 5oc55 ill draw x cm ipt x cm ipt On peut aussi emboiter les boucles pour cr er des effets int ressants by 25 35 45055 7 5 8 5 9 5 10 5 11 5 125 ia aa lsa laal ga 7 4 8 4 9 4 10 4 11 4 12 4 ol 25l es 43155 73033 93 Toa 1131105 i
75. 2 a22 EURE 72 82 92 m2 m 122 wii ene ee si za Sak or lioln iagi begin tikzpicture Nforeach x in 41 2 5 4 5 son 502 foreach y in 1 5 draw x y 5 5 rectangle 5 5 draw x y node x y i end tikzpicture L expression foreach peut faire des choses encore plus sournoises mais ce qui pr c de donne l id e principale 26 3 20 Ajouter du texte Karl est maintenant assez satisfait de la figure Toutefois la partie la plus importante savoir les etiquettes manque encore TikZ offre un systeme puissante et facile utiliser pour ajouter une figure du texte et plus g n ralement des formes complexes une position donn e L id e de base est la suivante lorsque TikZ construit un chemin et rencontre le mot clef node n ud au milieu du chemin il lit la sp cification de n ud Le mot clef node est suivi de quelques options et de texte plac entre accolades Ce texte est plac dans une boite normale de TFX si la sp cification de n ud suit directement des coordonn es ce qui le cas g n ralement TikZ est capable de faire un peu de magie afin qu il soit m me possible d utiliser du texte verbatim dans les boites et puis la place la position courante c d la derni re position d termin e ventuellement d plac e un peu suivant les options donn es Toutefois tous les n uds ne sont trac s seulement qu apr s que le chemin a t
76. 3ex 5ex B execute at begin picture code On peut utiliser cette option pour pr parer du code qui sera ex cut au d but de la figure On doit donner cette option dans l argument de l environnement tikzpicture lui m me car elle n aura pas d effet autrement Apr s tout par la suite la figure a d ja commenc Cette option est principalement utilis e dans les styles tels que le style every picture pour ex cuter un certain code au commencement d une figure execute at end picture code Cette option pr pare du code qui sera ex cut a la fin de la figure Si l on utilise cette option plusieurs fois le code sera accumul Cette option aussi doit tre plac e dans l argument facultatif de l environnement tikzpicture begin tikzpicture execute at end picture al begin pgfonlayer background path fill yellow rounded corners current bounding box south west rectangle current bounding box north east end pgfonlayer 3 node at 0 0 X node at 2 1 Y end tikzpicture Toutes les options finissent a la fin de la figure Pour d finir une option globalement on peut utiliser le style suivant style every picture Ce style est plac au d but de chaque figure tikzstyle every picture semithick En plain TeX on doit utiliser la commande suivante la place tikzpicture options contenu de l environnement endtikzpicture 7 2 2 Cr er une figure
77. 7truein Nous travaillons sur tikzpicture draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 endtikzpicture bye Gerda peut compiler ce fichier avec pdftex ou bien tex suivi de dvips TikZ d tectera automatiquement le pilote utilis Si elle d sire utiliser dvipdfm avec tex elle devra soit modifier le fichier pdf cfg ou crire def pgfsysdriver pgfsys dvipdfm def quelque part avant qu elle ne charge tikz tex ou pgf tex 14 3 3 Construction d un chemin droit Le bloc de base de toute figure dans TikZ est le chemin path Un chemin est une suite de segments de droites ou de courbes qui sont connect s ce n est pas le tout de la chose mais laissons les complications pour l instant On commence un chemin en d terminant les coordonn es de sa position de d part comme un point entre parenth ses comme dans 0 0 On continue par une suite d op rations d extension de chemin La plus simple est que l on a d ja utilis e Elle doit tre suivie d autres coordonn es et tend le chemin en ligne droite jusqu la nouvelle position Par exemple si nous transformions les deux chemins des axes en un seul ceci s en suivrait tikz drav OA OC EO 0016 Karl est un peu troubl par le fait qu il n y a pas d environnement tikzpicture ici la place on utilise la commande tikz Cette commande prend soit un seul argument commen ant par une accolade ouvrante comme dans tikz draw 0 0
78. Braukohle est plus petit que celui de Kernenergie La distortion due a l effet 3D est encore pire pour les petites surfaces L aire de Regenerative est un peu plus grande que celle de Erdgas L aire de Wind est l g rement plus petite que celle de Mineral lprodukte alors meme que le pourcentage du Wind est presque trois fois plus grand que celui de Mineral lprodukte Dans ce dernier cas les differences dans les tailles ne sont dues qu en partie la distortion Le ou les dessinateur s du graphique originel ont fait la part du Wind trop petit m me en tenant compte de la distortion Comparez simplement la taille de Wind et celle de Regenerative en g n ral D apr s sa l gende ce diagramme est sens nous dire que le charbon est la plus importante source d nergie en Allemagne en 2004 En laissant de c t les distortions dues l effet superflu et trompeur de la 3D cela prend un temps certain pour capter ce message Le charbon comme source d nergie est partag e en deux secteurs un pour le Steinkohle et un pour le Braukohle deux sortes diff rentes de charbon Lorsque l on les ajoute on voit que toute la partie inf rieure du diagramme est consacr e au charbon Les deux aires des diff rentes sortes de charbon ne sont pas du tout reli es visuellement Plut t deux couleurs diff rentes sont utilis es les annotations sont sur des c t s diff rents du graphi
79. ET voir bracket DEBORDEMENT ARITHMETIQUE voir arithmetic overflow DECLIVE voir sloped DECOUPAGE voir clipping DECOUPER voir clip DEGRADE voir shading DEPLACER voir shift DEPLACER JUSQU A voir move to DEPORT voir offset dash pattern option graphique 76 dash phase option graphique 76 dashed style 76 densely dashed style 76 densely dotted style 76 DESSINER voir draw DEUX POINT voir colon DIRECTION DE CROISSANCE voir grow ou grow Disposition voir Page disposition DISTANCE ENTRE FRERES voir sibling distance DISTANCE ENTRE NIVEAUX voir level distance domain option graphique 70 dotted style 76 double option graphique 79 double distance option graphique 79 draw 73 draw option graphique 74 draw opacity option graphique 76 DROITE A voir right DROITE UNE voir line voir straight line edge from parent op ration de chemin 103 edge from parent style 104 edge from parent path option graphique 103 ellipse op ration de chemin 64 EMBOITER voir nest vide op ration de chemin 58 ENFANT voir child voir child ENTREE voir input Environnements scope 50 tikzpicture 48 49 EST voir east ESTOMPER voir shade even odd rule option graphique 80 every forme node style 87 every nom de partie node part style 88 every child style 100 every child node style 100 every node style 87 every path style 58 every pictu
80. Ir child node 20 child node 19 child node 1 child fill none edge from parent draw none child node 18 ee grow direction On utilise cette option pour d finir la direction dans laquelle l arbre grandira La direction peut tre soit un angle en degr s soit l une des cha nes de caract res suivantes down bas up haut left gauche right droite north nord south sud east est west ouest north east nord est north west nord ouest south east sud est et south west sud ouest Toutes ont leur signification vidente et donc south west est pareil que l angle 135 Cette option a pour effet secondaire d installer la fonction de croissance par d faut En plus de fixer la direction cette option a aussi ce qui peut para tre trange pour effet de fixer la distance entre fr res du niveau courant Opt mais laisse inchang e la distance entre fr res des niveaux suivants Ce comportement quelque peu trange a un effet tr s souhaitable si l on donne cette option avant le d but de la liste des enfants d un n ud le niveau courant est encore le niveau parent Chaque enfant sera sur le niveau suivant et donc la distance entre fr res sera celle d finie l origine Cela fait que les enfants sont nettement align s sur une perpendiculaire la direction donn e Toutefois si l on donne l option localement un seul enfant alors le niveau courant es
81. Littr s applique une couleur mais dont le sens courant est un peu trop pr gnant et n gatif pour qu il ne soit pas source de confusion soit la locution appliquer un d grad Je vais une fois de plus au plus court revendiquant pour moi ce qu on trouve bon pour la nature le principe de moindre action 21 Pour Karl ceci pourrait convenir begin tikzpicture scale 3 clip 0 1 0 2 rectangle 1 1 0 75 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm Li shadedraw left color gray right color green draw green 50 black 0 0 3mm Omm arc 0 30 3mm cycle end tikzpicture Toutefois il d cide avec sagesse que l estompage ne fait d habitude que perturber le lecteur sans ajouter quoique ce soit a la figure 3 15 D finir des coordonn es Karl veut maintenant ajouter les courbes du sinus et du cosinus Il sait d j qu il peut d finir la couleur de ces courbes avec l option color Mais quelle est la meilleure mani re de d finir les coordonn es I y a deux mani res de d finir des coordonn es La plus simple est d crire quelque chose comme 10pt 2cm Cela signifie 10pt suivant l axe des x et 2 cm suivant l axe des y Autrement on peut aussi omettre les unit s comme dans 1 2 qui signifie une fois le vecteur courant suivant x plus deux fois le vecteur courant suivant y
82. TikZ et PGF Manuel pour la version 1 01 4 Fs lln iA Sy 8 gt e e Z S gt Um 2 SAN UT IK As W Z gt S RN ZU KU FT 4 S gt Z lin S z U It I w gt PO N B A 27 Wess BO 4 22 tikzstyle level 1 sibling angle 120 tikzstyle level 2 sibling angle 60 tikzstyle level 3 sibling angle 30 tikzstylefevery 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 F r meinen Vater damit er noch viele sch ne TEX Graphiken erschaffen kann Les extensions TikZ et PGF Manuel pour la version 1 01 http sourceforge net projects pgf Till Tantau tantau users sourceforge net 30 avril 2006 Table des matieres I Pour demarrer T 1 Introduction 8 1 1 Structure dursystemes s s sos dun 0 rue dete a de ke ee ee D BH wh we eue Bd EL Se i 8 1 2 Comparaison avec d autres extensions graphiques 9 1 3 Utilitaires Gestion de pages 4 3 4 He eus ann ee uen 9 1 4 C omment lire ce mandel 4344884 du 44 9 AAA eee de drame ee un 9 1 5 Obtenir de laide
83. a largeur de ligne 0 2 pt we tikz draw very thin 0 0 1cm 1 5ex style thin Fixe la largeur de ligne a 0 4 pt __ tikz draw thin 0 0 icm 1 5ex style semithick Fixe la largeur de ligne 0 6 pt al tikz draw semithick 0 0 1cm 1 5ex style thick Fixe la largeur de ligne a 0 8 pt _ tikz draw thick 0 0 1cm 1 5ex style very thick Fixe la largeur de ligne a 1 2 pt _ tikz drawlvery thick 0 0 1cm 1 5ex style ultra thick Fixe la largeur de ligne 1 6 pt m tikz drawlultra thick 0 0 1cm 1 5ex cap type D finit comment les lignes finissent Les valeurs autoris es de type sont round ar rondi rect et butt bout valeur par d faut Voici leurs effets begin tikzpicture begin scope line width 10pt draw cap rect 0 0 1 0 draw cap butt 0 5 1 5 draw cap round 0 1 1 1 end scope draw white line width 1pt COOPER CFO 5 s5 Gly si Clas end tikzpicture join type Definit la fa on dont les lignes sont jointes Les type autoris s sont round arrondi bevel biseau et miter anglet valeur par d faut Voici leurs effets begin tikzpicture line width 10pt draw join round 0 0 5 1 5 1 draw join bevel 1 25 0 5 1 5 1 draw join miter 2 5 0 5 1 5 1 useasboundingbox 0 1 5
84. a une certaine forme qui par d faut est un rectangle Toutefois on peut aussi demander TikZ d utiliser la place une forme circulaire ou elliptique il faut charger pgflibraryshapes pour cette derniere forme tikz fill fill examplefill 0 0 node first node 1 1 node ellipse draw second node third node 0 2 node circle fill red 20 third node Bel node gt first node Pavenir il se pourrait que d autres formes bien plus compliqu es soient disponibles comme par exemple une forme pour un r sistor ou une forme pour un tat d un automate fini ou une forme pour une classe UML Malheureusement cr er de nouvelles formes et un peu emb tant et n cessite l utilisation directe de la couche de base La vie est une chienne Pour selectionner la forme d un noeud on utilise l option suivante shape nom de forme s lectionne la forme soit pour le n ud courant soit quand cette option n est pas donn e dans un noeud mais quelque part en dehors la forme de tous les noeuds situ s dans la port e courante Comme cette option est souvent utilis e on peut laisser le shape de cot Quand TikZ rencontre une option comme circle qu il ne connait pas il essaiera quand tout le reste aura chou de voir si cette option n est pas le nom d une forme Si c est le cas il s lectionne cette forme comme si l on avait crit shape nom de forme Par d faut les formes suivantes sont disponibles
85. absences en m moire cache pour raison de non alignement sur des adresses multiples d octets lors des acc s la pile La recommandation qu utilisait la soci t maximisait les absences en memoire cache et conduisait un ordre des d clarations plus ou moins al atoire si bien que les programmeurs devaient constamment le r am nager Aussi avant de suivre un conseil ou de d cider de ne pas le suivre on doit se demander 1 Ce conseil s applique t il vraiment dans ma situation 2 Si on fait le contraire de ce que ce conseil voudrait que l on fasse les avantages l emporteront ils sur les inconv nients que ce conseil tait sens viter 4 2 Estimer le temps n cessaire la cr ation de graphiques Lorsque l on cr e un article avec de nombreux graphiques le temps n cessaire cr er ces graphiques devient un facteur important Combien de temps devrait on pr voir pour la cr ation des graphiques En g n ral il faut compter qu un graphique demande autant de temps qu en demande un texte de la m me longueur Par exemple lorsque j ecris un article j ai besoin d une heure par page pour le premier jet Ensuite j ai besoin de deux quatre heures par page pour les relectures et corrections Aussi je compte environ une demie heure pour cr er un premier jet d un graphique d une demie page Je m attends avoir besoin plus tard d une deux heures suppl mentaires pour produire le graphique final
86. ain TFX il ne g re pas l inclusion d image 3 Le texte contenu dans les images pgf n est pas tr s bien g r Cela vient de ce que les d finitions actuelles de SVG ne g re pas tr s bien le texte et qu il n est pas possible de s chapper vers le HTML correctement On peut esp rer que tous ces probl mes dispara tront l avenir mais pour l instant seules deux sortes de texte marchent peu pres bien d abord le texte simple sans mode math matique ni caract re sp ciaux ni rien de sp cial ensuite du texte math matique tr s simple qui contient des exposants ou des indices M me alors les variables ne sont pas crites joliment en italique et en g n ral l apparence du texte n est simplement pas tr s bonne 4 Si l on utilise un texte qui contient n importe quoi de sp cial m me quelque chose d aussi simple que alpha cela peut corrompre le graphique car text4ht ne produit pas toujours un code XML valide Donc une fois de plus il faut se limiter du texte tr s simple dans un graphique D sol 5 Au contraire de ce qui se passe dans d autres formats de sortie la boite cadre bounding box d coupe vraiment la figure Le pilote fonctionne grossi rement comme suit quand on commence une pgfpicture les com mandes special idoines sont utilis es pour rediriger la sortie de tex4ht vers un nouveau fichier appel jobname xxx svg o xxx est un nombre incr ment chaque nouveau gra
87. ame soit avec la syntaxe sp ciale dans laquelle le nom du n ud est plac entre parenth ses entre l op ration node et le texte du noeud Si l on ne nomme pas un n ud enfant TikZ le nommera automatiquement de la mani re suivante supposons que le nom du noeud parent soit parent Si on ne nomme pas le parent TikZ le fera lui m me mais le nom ne sera pas accessible par l utilisateur Le premier enfant de parent sera nomm parent 1 le deuxieme enfant parent 2 etc Cette convention de nommage fonctionne r cursivement Si le deuxieme enfant parent 2 a des enfants alors le premier de ces enfants sera nomm parent 2 1 le deuxieme parent 2 2 etc Si l on nomme soi m me un noeud enfant aucun nom n est cr automatiquement un n ud n a pas deux noms Toutefois le compte continue ce qui signifie que le troisi me enfant de parent et nomm parent 3 ind pendamment du fait que l on ait ou pas nomm le premier ou le deuxi me enfant de parent Voici un exemple nt begin tikzpicture node root racine child child child coordinate special racine 1 racine 2 child D node at root 1 racine 1 node at root 2 racine 2 spetial racine 2 2 node at special special node at root 2 2 racine 2 2 end tikzpicture 12 4 Sp cifier des options pour les arbres et les enfants Chaque child peut avoir ses propres options qui s appliquent l enfant tout entier y compris tous se
88. angles la figure begin tikzpicture draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm draw 0 0 rectangle 0 5 0 5 E draw 0 5 0 5 rectangle 1 1 end tikzpicture Bien que a puisse tre sympa dans d autres circonstances a ne nous aide pas vraiment pour le probleme de Karl d abord il nous faudrait bien trop de ces rectangles et puis la bordure n est pas ferm e Aussi Karl est pr t recourir simplement au trac de quatre verticales et quatre horizontales en utilisant Vaimable commande draw lorsqu il apprend qu il y a aussi une op ration de construction de chemin grid quadrillage 3 7 Construction d un quadrillage Karl pourrait utiliser le code suivant 16 begin tikzpicture draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm draw step 5cm 1 4 1 4 grid 1 4 1 4 NC end tikzpicture Apres un autre coup d il sur la figure attendue Karl remarque que ga serait mieux si le quadrillage tait moins visible Son fils lui a dit que les quadrillages ont tendance troubler le lecteur s ils sont trop visibles Pour cela Karl ajoute deux nouvelles options la commande draw qui dessine le quadrillage D abord il utilise la couleur gray pour les lignes du quadrillage Ensuite il r duit la largeur des lignes avec very thin Enfin il change les places des commandes af
89. apr s l operation 11 7 Relier des n uds Une fois un n ud d fini et nomm on peut en utiliser le nom pour y faire r f rence Ce peut tre fait de deux mani res voir galement la section 8 5 p 54 Supposons que l on ait crit path 0 0 node x Bonjour le monde pour d finir le n ud nomm x 1 Une fois le n ud x d fini on peut utiliser x ancre partout o on pourrait utiliser une coordonn e normale Cela produira la position laquelle l ancre est situ e dans la figure Remarquez que les transformations ne s appliquent pas cette coordonn e c d que x north sera l ancre nord de x m me si l on crit scale 3 ou xshift 4cm par exemple C est en g n ral ce que l on attend 2 On peut aussi utiliser simplement x comme une coordonn e Dans la plupart des cas cela produira la m me coordonn e que x center En fait si la forme shape de x est coordinate alors x et x center ont le m me effet Toutefois pour la plupart des autres formes les op rations de construction de chemin comme tentent d tre fut e quand on leur demande de dessiner une courbe entre deux coordonn es de cette sorte Lorsque l on crit x 1 1 l op ration de chemin ne dessinera pas une droite depuis le centre de x mais depuis la fronti re de x en allant du centre vers 1 1 De m me 1 1 x arr tera le dessin de la droite sur la fronti re de x en venant de 1 1 Outre les op ra
90. ar ces logiciels rendent tr s facile la cr ation de mauvais diagrammes ou de mauvaises courbes La premi re question se poser lorsque l on cr e une courbe est Y a t il assez de donn es pour m riter une courbe Si la r ponse est pas vraiment utilisez une table Une situation typique o on n a pas besoin d un diagramme est lorsque des gens pr sentent quelques nombres avec un diagramme barres Voici un exemple v cu la fin d un s minaire un intervenant demande leur avis aux participants D apr s cette petite enqu te trois participants consid raient le s minaire comme tr s bon neuf comme bon dix comme passable huit comme mauvais et personne ne qualifiait le s minaire de tr s mauvais Une fa on simple de r sumer l information est la table suivante Classement Nombre de participants Pourcentage sur 50 pour ce classement tr s bon 3 6 bon 9 18 passable 10 20 mauvais 8 16 tr s mauvais 0 0 sans opinion 20 40 Ce que fit l intervenant fut de pr senter les donn es l aide d un diagramme barres en 3 dimensions Cela ressemblait a ceci 100 80 60 40 20 0 passable mauvais tr s mauvais 35 La table et le diagramme ont peu pres la m me taille Si vous pensez d abord que le diagramme semble plus beau que la table essayez de r pondre aux questions suivantes d apres le
91. ar une courbe comme ceci begin tikzpicture edge from parent path tikzparentnode south controls 0 1 and 0 1 tikzchildnode north racine node racine child node gauche gauche droite child node droite child node enfant child node enfant Jg nam ent end tikzpicture D autres ar tes issues du chemin parent sont d finies dans la biblioth que d arbres voir la section 2 p Comme signal pr c demment les ancres de l ar te issue du chemin parent par d faut sont vides Toutefois on peut les d finir avec les options suivantes child anchor ancre D finit l ancre o l ar te issue du chemin parent rencontre le n ud enfant en donnant tikzchildanchor la valeur ancre Si on sp cifie border fronti re comme ancre alors la macro tikzchildanchor prend pour valeur une chaine vide L effet de tout cela est que l ar te issue du parent atteindra l enfant sur la fronti re un lieu d termin automatiquement are begin tikzpicture H node racine ys child anchor north Fa child node gauche edge from parent dashed 2 child node droite gauche droite child node enfant child node enfant edge from parent draw none end tikzpicture enfant enfant parent anchor ancre Cette option fonctionne de la m me mani re que child anchor mais cette fois pour le parent En plus de l insertion de l ar te issue du chemin
92. as PGF est assez intelligent pour d terminer correctement le pilote tout seul c est vrai en particulier si l on utilise ATEX ce jour la seule situation o PGF ne peut conna tre de lui m me le pilote est quand on utilise plain TEX ou ConTEXt avec dvipdfm Dans ce cas on doit crire def pgfsysdriver pgfsys dvipdfm def avant d inclure tikz tex 7 2 Cr er une figure 7 2 1 Cr er une figure l aide d un environnement La port e la plus externe de TikZ est l environnement tikzpicture On ne peut utiliser les commandes de dessin que dans cet environnement l ext rieur comme c est possible dans de nombreuses autres exten sions elles produiront le chaos Dans TikZ la fa on dont les graphiques sont rendus est tr s fortement influenc e par les options gra phiques Par exemple il y a une option pour fixer la couleur des dessins une autre pour d finir la couleur utilis e pour remplir et aussi d autres plus obscures comme l option pour d finir le pr fixe utilis dans les noms des fichiers temporaires cr s pendant la tabulation des fonctions par un programme externe Les options graphiques sont presque toujours d finies par une paire cl valeur Le presque toujours fait r f rence au nom des n uds qui peut tre d fini autrement voir6 5 p 45 Toutes les options graphiques sont locales l environnement tikzpicture auquel elles s appliquent beginftikzpicture options contenu
93. ation dans l arborescence principale peut cr er des probl mes puisque une mise jour de toute l installation TFX remplacera tout cette arborescence 2 3 1 Installer tout ensemble Une fois l arborescence ad quate choisie on doit d cider si on veut installer PGF de telle fa on que tous les fichiers soient au m me endroit ou si on veut tre conforme la TDS o TDS signifie structure des r pertoires de TEX TEX directory structure Si vous voulez conserver tout ensemble dans l arborescence texmf que vous avez choisie vous devez cr er un sous sous r pertoire nomm texmf tex generic pgf ou texmf tex generic pgf 1 01 si vous pr f rez Puis vous placerez tous les fichiers de l extension pgf dans ce r pertoire Enfin vous reconstruirez les bases de noms de fichiers de TEX Cela se fait en lan ant la commande texhash ou mktexlsr ce sont les m mes Dans MikTEX il y a une option du menu pour ce faire 2 3 2 Installation conforme la TDS Alors que l installation d crite ci dessus est la plus naturelle et bien que je voudrais la recommander puisqu elle facilite la mise jour et la gestion de l extension PGF elle n est pas conforme la TDS Si vous voulez tre conforme la TDS faites ce qui suit si vous ne savez pas ce que signifie conforme la TDS vous ne voulez probablement pas tre conforme la TDS L archive tar de l extension pgf contient les fichiers et r pertoires
94. avait pas passer les examens apr s tout dit Karl qu il pouvait peut tre essayer une nouvelle extension de cr ation de graphique Portant un peu confusion cette extension semblait avoir deux noms d abord Karl devait t l charger et installer une extension appel e PGF Puis il apparaissait qu il y en avait une autre l int rieur appel e TikZ ce qui est sens vouloir dire TikZ ist kein Zeichenprogramm Karl trouvait tout cela un peu trange et TikZ semblait indiquer que cette extension n tait pas ce dont il avait besoin Toutefois ayant utilis les logiciels GNU depuis un bon moment et GNU n tant pas Unix il semblait encore y avoir de l espoir Son fils l assurait que le nom de TikZ tait fait pour pr venir les gens que TikZ n est pas un logiciel que l on peut utiliser pour fait des graphiques avec une souris ou une tablette C est plut t quelque chose comme un langage pour graphique 3 1 nonc du probl me Karl veut placer un graphique dans le prochain poly de ses tudiants En ce moment il enseigne le sinus et le cosinus Ce qu il voudrait faire est quelque chose qui ressemblerait id alement ceci y A L angle a vaut 30 dans l exemple 7 6 en radians Le sinus de a qui est la longueur du segment rouge est sina 1 2 Par le theoreme de Pythagore il vient cos a sin a 1 Donc la longueur du segment bleu qui est le cosinus de zx a va
95. avec les commandes utilisees pour decouper Par exemple dans le code ci dessus on n aurait pas pu deplacer l option fill red vers la commande fill Les raisons ont voir avec les sp cifications internes de PDF On ne cherchera pas en conna tre les d tails Le mieux est de simplement ne passer aucune option a ces commandes 85 11 Noeuds 11 1 Les noeuds et leurs formes TikZ offre une mani re simple d ajouter ce que l on appelle des n uds une figure Dans le cas le plus simple un n ud est juste un peu de texte plac une certaine coordonn e Toutefois un n ud peut egalement avoir une bordure ou un arriere plan et un avant plan plus compliques En fait certains noeuds ne contiennent pas de texte du tout mais consiste seulement en un arri re plan On peut nommer les noeuds afin de pouvoir faire r f rence leurs coordonn es plus tard dans la figure Toutefois les n uds ne peuvent tre r f renc s d une figure une autre Il n y a pas de commandes TpXiennes sp ciales pour ajouter un n ud une figure plut t il y a une op ration de chemin appel e node pour ce faire Les n uds sont cr s chaque fois que TikZ rencontre node ou coordinate un point d un chemin o il attend une op ration normale de chemin comme 1 1 ou sin 1 1 On peut galement donner des sp cifications de n ud l int rieur de certaines op rations de chemin comme on l explique plus loin L op ration de n
96. certaines commandes d une version l autre Si les choses qui marchaient ne marchent plus vous devriez jeter un il la note de parution release note et au fichier de changements change log 2 NdTdS Lancer MikTeX Options voir l onglet General utiliser le bouton Refresh now 12 3 Mode d emploi un petit dessin pour les tudiants de Karl Ce mode d emploi est con u pour les nouveaux utilisateurs de PGF et TikZ Il ne donne pas une description exhaustive de toutes les fonctionnalit s de TikZ ou de PGF mais seulement de celles dont on peut faire usage directement Karl est professeur de math matiques et chimie en lyc e Il avait l habitude de cr er des graphiques dans ses feuilles d exercices et d examens avec l environnement picture de ATEX Alors que les r sultats semblaient acceptables la cr ation de graphiques s av rait souvent un processus long De plus il y avait une tendance avoir des probl mes avec les droites qui montraient des angles l g rement incorrects et les cercles qui semblaient tre difficiles obtenir correctement Naturellement ses tudiants se contrefichaient de savoir si les droites formaient les angles corrects et ils trouvaient que les examens de Karl taient trop difficiles m me si les graphiques taient trac s avec soin Mais Karl n tait jamais enti rement satisfait du r sultat Le fils de Karl qui tait encore moins satisfait du r sultat il n
97. ciale Lorsque assez de pages virtuelles ont t accumulees de cette facon elles sont r duites et positionn es sur la page physique qui est alors vraiment sortie Ce m canisme vous permet de cr er une version deux pages sur une d un document directement depuis ATRX sans utiliser de programmes ext rieurs Toutefois pgfpages peut faire bien plus que cela Vous pouvez l utiliser pour placer des logos ou des fonds de page imprimer 16 pages sur une page ajouter des bordures et plus encore 1 4 Comment lire ce manuel Ce manuel d crit la fois la conception du systeme de PGF et son utilisation Cette organisation est plus ou moins conviviale Les commandes et sous extensions les plus facilement et les plus souvent utilis es sont d crites d abord les caract ristiques de plus bas niveau ou sot riques sont discut es ensuite Si vous n avez pas encore install PGF veuillez lire d abord la section installation Ensuite ce pourrait tre une bonne idee de lire le mode d emploi Enfin vous souhaiterez peut tre parcourir la description de TikZ En g n ral vous n aurez pas besoin de lire les sections concernant la couche de base Vous n aurez besoin de lire la partie sur la couche systeme que si vous avez l intention d crire votre propre interface ou de porter PGF vers un nouveau pilote Les commandes et environnements publiques fournis par l extension pgf sont d crits dans tout
98. cien le sommet donn et le nouveau point courant le r sultat ne sera pas une parabole coordonn e poss de une propri t sp ciale quand on donne une coordonn e relative comme 0 0 la position quoi cette coordonn e est relative est flexible Plus pr cis ment cette position est quelque part sur la droite joignant l ancien point courant et le nouveau Sa position exacte d pend de Voption suivante bend pos fraction Pr cise ot est le point pr c dent relativement auquel la position du sommet est calcul e Le point pr c dent sera la fraction partie du segment joignant l ancien point courant et le nouveau L idee est la suivante si l on crit bend pos 0 et bend 0 0 le sommet sera l ancien point courant Si l on crit bend pos 1 et bend 0 0 le sommet sera au nouveau point courant Si l on crit bend pos 0 5 et bend 0 2cm le sommet sera 2 cm au dessus du milieu du segment joignant le point de d part et le point final C est surtout utile dans des situations comme celle qui suit draw help lines 0 0 grid 3 2 draw 1 0 parabola bend pos 0 5 bend 0 2 3 0 begin tikzpicture end tikzpicture Dans l exemple ci dessus bend 0 2 signifie essentiellement une parabole qui a 2 cm de hauteur et 3 0 signifie et 3 cm de largeur Comme de telles situations se pr sentent souvent il y a un raccourci sp cial parabola he
99. compl tement trac rempli ombr d coup etc begin tikzpicture Text at node 2 draw 0 0 rectangle 2 2 draw 0 5 0 5 node fill examplefill Text at verb node 1 1 5 1 5 node Text at verb node 2 end tikzpicture Visiblement Karl voudrait placer des n uds non seulement la derni re position d finie mais aussi gauche ou droite de cette position Pour cela chaque n ud qu on place dans une figure est quip de plusieurs ancres anchor Par exemple l ancre north nord est au milieu la partie sup rieure de la forme l ancre south sud est au bas et l ancre north east nord est est dans le coin sup rieur droit Lorsque l on passe l option anchor north le texte est plac de telle sorte que cette ancre nordique est situ e la position courante et que le texte est de ce fait sous la position courante Karl utilise cela pour tracer les graduations comme suit ap begin tikzpicture scale 3 clip 0 6 0 2 rectangle 0 6 1 51 draw step 5cm style help lines 1 4 1 4 grid 1 4 1 4 filldraw fill green 20 draw green 50 black 0 0 3mm Omm arc 0 30 3mm cycle Ba draw gt 1 5 0 1 5 0 draw gt l 0 1 5 0 1 5 draw 0 0 circle 1cm foreach x in 1 0 5 1 0 5 draw x cm ipt x cm 1pt node anchor north x foreach y in 1 0 5 0 5 1 draw ipt y cm 1pt y cm nodelanchor east y Pe end tikzpi
100. con u pour tre flexible C est vrai autant pour l entr e que pour la sortie La pr sente section explique quels sont les formats d entr e et comment PGF les prend en compte On y explique aussi quels sont les diff rents formats de sortie qui peuvent tre produits 5 1 Formats d entr e g r s TEX ne fixe pas pr cis ment comment doit tre format e l entr e Bien qu il soit habituel de par exemple commencer un groupe dans TEX avec une accolade ce n est absolument pas n cessaire De la m me mani re on a l habitude de commencer un environnement avec begin mais TEX se contrefiche radicalement du nom exact de la commande Bien que TFX puisse tre reconfigur les utilisateurs eux non Pour cette raison certain format d entree d finit un ensemble de commandes et de conventions pour formater l entr e de TEX Il y a ce jour trois formats principaux le format plainTEX originel de Donald Knuth le populaire format BTEX de Leslie Lamport et le format ConTEXt de Hans Hagen 5 1 1 Utiliser le format IATEX Il est facile d utiliser PGF et TikZ avec le format TEX On crit usepackage pgf ou usepackage tikz Habituellement c est tout ce que vous avez faire Toute la configuration sera faite automatiquement et je l esp re correctement Les fichiers de style utilis s avec le format ATEX sont situ s dans le r pertoire latex pgf du systeme PGF Ce que font ces fichiers c est principalement inclure
101. cture C est d ja pas mal En utilisant ces ancres Karl peut maintenant ajouter la plupart des autres l ments textuels Toutefois Karl pense que bien que correcte c est plut t contrintuitif que pour placer quelque chose sous un point donn il faille utiliser l ancre north Pour cette raison il y a une option below des sous qui produit la m me chose que anchor north De m me above right dessus droite fait comme anchor south east De plus below prend un argument optionnel de dimension Si on le donne la forme sera en plus pouss e vers le bas de la valeur donn e Ainsi on peut utiliser below 1pt pour placer une tiquette textuelle sous un point et en plus la d placer de 1pt vers le bas Karl n est pas tout a fait satisfait des graduations Il voudrait avoir 1 2 ou 4 plut t que 0 5 en partie pour faire montre des exquises capacit s de TEX et de TikZ en partie parce que pour des positions comme 1 3 ou 7 il est de beaucoup pr f rable d avoir la graduation math matique plut t que juste num rique Ces tudiants par ailleurs pr f rent 0 5 1 2 puisqu ils ne sont pas de mani re g n rale tr s friands de fractions Karl maintenant fait face a un probleme dans l expression foreach la position x devrait toujours tre donn es comme 0 5 puisque TikZ ne comprendrait pas ce que frac 1 2 est sens tre Par ailleurs le texte crit devrait vraiment tre frac 1 2
102. cut la fin de la port e L utilisation r p t e de cette option fera que le code sera accumul Cette option aussi doit tre donn e dans l argument de l environnement scope L encore l effet ne s applique qu la port e courante et pas aux sous port es En plain TEX on utilisera les commandes suivantes en remplacement scope options contenu de l environnement endscope 7 4 Utiliser les port es dans les chemins La commande path que l on decrira en detail dans une section a venir prend aussi des options gra phiques Ces options sont locales au chemin De plus on peut cr er des port es locales a l interieur d un chemin simplement a l aide d accolades comme dans 50 tikz draw 0 0 1 1 rounded corners 2 0 3 1 S50 Gris On remarquera que de nombreuses options s appliquent au chemin tout entier et que l on ne peut pas en limiter la port e de cette facon Par exemple on ne peut pas limiter la port e de la color couleur d un chemin Voir les explications dans la section sur les chemins pour plus de d tails Enfin certains l ments que l on d clare dans l argument de la commande path prennent aussi des op tions locales Par exemple une definition de noeud prend des options Dans ce cas les options ne s appliquent qu au n ud et pas au chemin qui l entoure 7 5 Utiliser les styles pour g rer l apparence des figures Il y a une man
103. d 1 0 0 0 1 0 cycle 6 5 Syntaxe sp ciale pour la d finition de n uds TikZ introduit une syntaxe sp ciale pour ajouter du texte ou plus g n ralement des n uds un gra phique Lorsque l on d finit un chemin on peut ajouter des n uds comme dans l exemple suivant tikz draw 1 1 node text 2 2 text Les noeuds sont ins r s a la position courante du chemin mais seulement apres que le chemin a t rendu Lorsque des options sp ciales sont donn es comme dans draw 1 1 node circle draw text le texte n est pas simplement placer a la position courante Plut t il est entour d un cercle et ce cercle est dessin On peut ajouter un nom un n ud en vue d une r f rence ult rieure soit avec l option name nom du n ud soit en crivant le nom du n ud entre parenth se en dehors du texte comme dans node circle nom texte Les formes pr d finies contiennent rectangle circle et ellipse mais il est possible quoique un peu ambitieux de d finir de nouvelles formes 6 6 Syntaxe sp ciale pour la d finition des arbres En plus de la syntaxe pour n uds TikZ apporte aussi une syntaxe sp ciale pour dessiner des arbres Cette syntaxe est int gr e la syntaxe sp ciale pour les n uds et on ne doit se souvenir que de quelques nouvelles commandes Essentiellement un node n ud peut tre suivi d un nombre quelconque d enfants chacun d eux introduit par
104. d intersection 55 8 6 1 Intersection de deux droites 55 8 6 2 Intersection d une droite horizontale et d une droite verticale 55 8 7 Coordonn es relatives et incr mentales 56 Syntaxe pour la d finition de chemin 57 9 1 L op ration d placer jusqu a ooo 58 922 Op rauonlieneJUSQU A a RT Pe hen 58 92 17 Droit siem eye tes te een a ran a a a a 58 9 2 2 Droites horizontales et verticales 2 2 Co on nn nn 59 92 3 Lignesiserpentnesv nn ads eve ve end Rte ee Be N Ds Re eo es a 59 9 3 L op ration courbe jJusqu 24 22242 a ee 62 9 4 l op ration cycle nels ana a a ee a LS tt A 63 9 5 L op ration rectangle cig ee eus gi ee ek anna EMER Hae ee Bd en 63 9 6 Arrondirl s coOins Las estate AA OR ae ed hb et AE Me ha de aaa Act 63 9 7 Les op rations circle et ellipse 64 9 8 L operation are ira Pe BA HE A Lie a RER le 64 9 9 L op ration Prid sur ieee cee 2 IS a a baba tuile ee ela a as ae 65 9 10 L op ration parabole 65 9 11 Les op rations sine et cosine 66 9 12 L op rationplot 2 em SR ra at at af a Arte tes eS ee a 67 9 12 1 Interpolation partir de points donn s en ligne 67 9 12 2 Interpolation partir de points lus dans un fichi
105. de dessiner un arc pour marquer l angle Pour cela l op ration de construction de chemin arc se r v le utile Elle trace une partie de cercle ou d ellipse Cette op ration arc doit tre suivie par un triplet entre parenth ses Les deux premi res composantes sont des angles la derni re est un rayon Par exemple arc 10 80 10pt signifie un arc allant de 10 a 80 degr s sur un cercle de rayon 10pt Karl a videmment besoin d un arc de 0 amp 30 Le rayon devrait tre assez petit peut tre environ un tiers du rayon du cercle Cela donne 0 30 3mm Lorsque l on utilise l operation de construction de chemin arc l arc determine est ajout avec pour point de d part la position courante Nous avons donc besoin d abord d y aller begin tikzpicture draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 115 0 125 0 draw 0 21E5 E NO AE draw 0 0 circle icm draw 3mm Omm arc 0 30 3mm end tikzpicture Karl pense que tout cela est un peu trop petit et qu il ne peut pas continuer sans apprendre comment mettre l echelle Pour cela il peut ajouter l option scale 3 Il peut ajouter cette option chaque commande draw mais ce serait maladroit Au lieu de cela il l ajoute tout l environnement ce qui conduit cette option s appliquer partout l int rieur 18 begin tikzpicture scale 3 draw step
106. de l environnement end tikzpicture Toutes les commandes de TikZ devraient tre donn es dans un tel environnement sauf la commande tikzstyle Contrairement ce qui se passe avec d autres extensions on ne peut pas utiliser par exemple pgfpathmoveto en dehors d un tel environnement sans cr er le chaos Comme les commandes de TikZ comme path ne sont d finies qu l int rieur de l environnement il est peu probable que l on puisse y faire quelque chose de mal Quand cet environnement est rencontr les options sont analys es Toutes les options pass es l s appliqueront toute la figure Ensuite le contenu de l environnement est trait et les commandes graphiques qu il contient sont plac es dans une boite Le texte non graphique est supprim autant que se peut mais les commandes non PGF plac es dans un environnement tikzpicture ne devraient produire aucune sortie car cela risquerait de brouiller le syst me de positionnement des pilotes terminaux La suppression du texte normal au fait est faite en positionnant temporairement la police courante sur nullfont On peut toutefois chapper vers la typographie normale de TEX Cela arrive par exemple quand on d finit un n ud la fin de l environnement PGF essaie de deviner correctement les dimension de la boite cadre bounding box du graphique et retaille la boite afin qu elle ait ces dimensions Pour deviner PGF chaqu
107. dez ce qui suit begin tikzpicture def rectanglepath 1cm Ocm Ocm icm 1cm 0cm cycle draw 0 0 rectanglepath draw 1 5 0 rectanglepath end tikzpicture Par comparaison lorsque l on utilise un simple les coordonn es sont diff rentes begin tikzpicture def rectanglepath 1cm Ocm 1cm icm Ocm icm cycle draw 0 0 rectanglepath draw 1 5 0 rectanglepath end tikzpicture Naturellement on aurait pu crire tout cela plus clairement et moindre frais comme ceci avec un simple ou un double tikz draw 0 0 rectangle 1 1 1 5 0 rectangle 1 1 Il reste Karl le segment pour tan a qu il semble difficile de d finir en utilisant les transformations et les coordonn es polaires Pour cela il a besoin d une autre fa on de d finir des coordonn es Karl peut d finir des coordonn es l aide d intersections de droites Le segment pour tana commence 1 0 et monte verticalement jusqu au point d intersection d une droite verticale et d une droite passant par l origine et 30 1cm La syntaxe pour obtenir ce point est la suivante draw very thick orange 1 0 intersection of 1 0 1 1 and 0 0 30 1cm Dans ce qui suit deux derniers exemples pr sentent la fa on d utiliser les positions relatives Notez que les options de transformations qui sont expliqu es plus loin sont s
108. e fois qu il rencontre des coordonn es met jour les dimensions de la boite cadre afin qu elle contienne 48 tous les points dont il connait les coordonn es Cela donnera g n ralement une bonne approximation de la boite cadre mais cela ne sera pas toujours exact D abord l paisseur des lignes n est pas prise en compte De plus les points de contr le des courbes sont souvent loin l ext rieur de la courbe et font que la boite cadre est trop grande Dans un tel cas on doit utiliser l option use as bounding box Les options suivantes influencent la ligne de base des figures produites baseline dimension Normalement la base de la figure est plac e sur la ligne de base du texte qui Ventoure Par exemple quand on crit le code tikz draw 0 0 circle 5ex PGF trouvera que la base de la figure est 5ex et que le sommet est 5ex Aussi la base sera plac e sur la ligne de base ce qui produira ceci o Avec cette option on peut imposer la figure d tre rehauss e ou rabaiss e de telle sorte que la hauteur dimension soit sur la ligne de base Par exemple tikz baseline Opt draw 0 0 circle 5ex produit o puisque maintenant la ligne de base est la hauteur de l axe des x Si on omet les dimensions PGF suppose qu elles valent Opt Cette option est souvent utile avec les graphiques en ligne comme dans A B A mathbin tikz baseline draw gt gt Opt 5ex
109. e chemin Cela peut tre utile pour ajouter temporairement par exemple l option draw tout ce qui se trouve dans la port e begin tikzpicture fill examplefill ne d finit que les couleurs tikzstylefevery path draw tous les chemins sont trac s fill 0 0 rectangle 1 1 shade 2 0 rectangle 1 1 end tikzpicture 9 1 L op ration d placer jusqu a L op ration peut tre la plus simple est l op ration d placer jusqu move to qui est d finie en donnant simplement une coordonn e o l on attend une op ration de chemin path coordonn e L op ration d placer jusqu commence normalement un chemin un certain point Cela n entraine pas la cr ation d un segment de droite mais d finit le point initial du prochain segment Si un chemin est d j en construction c d si plusieurs segments ont d j t cr s une op ration d placer jusqu a commencera une nouvelle portion de chemin qui ne sera li e aucun des segments pr c dents begin tikzpicture draw 0 0 2 0 0 1 2 1 end tikzpicture Dans la definition 0 0 2 0 0 1 2 1 on sp cifie deux op rations d placer jusqu a 0 0 et 0 1 Les deux autres op rations savoir 2 0 et 2 1 sont des op rations ligne jusqu a que l on d crit ci apr s 9 2 Op ration ligne jusqu a 9 2 1 Droites path coordonnee L op ration ligne jusqu line t
110. e coordonn es 6 1 Syntaxe sp ciale pour d finir des points TikZ fournit une syntaxe sp ciale pour d finir des points et des coordonn es Dans le cas le plus simple on fournit deux dimensions TEXiques s par es par une virgule et plac es entre parenth ses comme ici 1cm 2pt On peut aussi d finir un point en coordonn es polaires en utilisant un deux points au lieu de la virgule comme dans 30 1cm qui signifie 1 cm dans la direction 30 degr s Si l on ne fournit pas d unite comme dans 2 1 on d finit un point dans le systeme de coordonn es xy de PGF Par d faut le vecteur x unit va 1 cm vers la droite et le vecteur y unit va 1 cm vers le haut En donnant trois nombres comme dans 1 1 1 on d finit un point dans le systeme de coordonn es xyz de PGF On peut aussi utiliser une ancre d une forme d finie pr c demment comme dans first node south On peut ajouter deux signes plus avant des coordonn es comme dans 1cm Opt Cela signifie 1 cm vers la droite du dernier point utilis Cela permet de d finir aisement des mouvements relatifs Par exemple 1 0 1 0 0 1 definit les trois paires de coordonn es 1 0 puis 2 0 et 2 1 Enfin au lieu de deux signes plus on peut n ajouter qu un seul Cela d finit aussi un point de mani re relative mais cela ne change pas le point courant utilis dans les commandes suivantes Par exemple 1 0 1 0 0 1 d finit les trois points 1
111. e de dessin puis la deuxi me fois avec la couleur de fond qui est normalement white blanc La seconde fois la ligne est r duite L effet final est qu il semble qu on a trac deux lignes et cela marche bien m me avec des chemins courbes et complexes tikz draw double plot smooth cycle coordinates 0 0 1 1 1 0 0 1 On peut aussi utiliser l option de doublement pour cr er un effet par lequel une ligne semble tre long e par une bordure oe begin tikzpicture draw 0 0 1 1 ve draw draw white double red very thick 0 1 1 0 end tikzpicture double distance dimension Fixe la distance s parant les deux lignes par d faut 0 6 pt En fait c est l paisseur de la ligne utilis e pour trac le chemin la deuxi me fois L paisseur de la premiere ligne avec laquelle on trace le chemin la premiere fois est la largeur de ligne normale plus la dimension donn e Cette option a pour effet secondaire d activer l option double begin tikzpicture draw very thick double 0 0 arc 180 90 1cm draw very thick double distance 2pt 1 0 arc 180 90 1cm draw thin double distance 2pt 2 0 arc 180 90 1cm end tikzpicture 10 3 Remplir un chemin Pour remplir un chemin utiliser option suivante fill color Cette option fait que le chemin est rempli Toutes les parties ouvertes du chemin sont d abord ferm es si n cessaire Ensuite la surface entour
112. e et traduit les paires lettre coordonn es qu il contient en commandes PDF produisant directement un fichier pdf Enfin tex4ht est aussi un logiciel qui prend un fichier dvi est produit une sortie cette fois un fichier html Les programmes pdftex et pdflatex sont particuliers ils produisent directement un fichier pdf sans passer par l tape interm diaire du dvi Toutefois du point de vue du programmeur ils se comportent exactement comme s il y avait une tape interm diaire Normalement TEX ne produit que des paires lettre coordonn es en sortie Cela rend manifestement difficile le dessin d un courbe par exemple Pour cela on peut utiliser les commandes sp ciales Malheu reusement ces commandes sp ciales ne sont pas les m mes pour les diff rents logiciels qui transforment les fichiers dvi De fait chaque logiciel qui prend un dvi en entr e a une syntaxe totalement diff rente pour les commandes sp ciales Une des t ches principales de PGF est de fournir une abstraction au dessus de ces syntaxes des diff rents logiciels Toutefois cela signifie que la gestion de chaque logiciel doit tre programm e ce qui est un processus long et complexe 5 2 1 S lectionner le pilote final Lorsque TEX typographie votre document il ne conna t pas quel logiciel vous allez utiliser pour trans former le fichier dvi Si votre dvi ne contient aucune commande sp ciale cela ne posera pas de probl me mais de n
113. e m me effet Cela peut paraitre etrange puisque dans le dernier cas il pourrait sembler que le thin ne prend effet qu apres que la droite de 0 0 a 1 0 a t trac e Toutefois la plupart des options de graphique ne s applique qu a un chemin complet En fait si l on crit et thin et thick dans un m me chemin c est la derni re des options donn es qui gagne En lisant ce qui pr c de Karl remarque que seulement la plupart des options de graphique s applique au chemin complet En fait toutes les options de transformations ne s appliquent pas au chemin entier mais seulement tout ce qui les suit sur le chemin Nous regarderons cela plus en detail d ici peu Cependant toutes les options donn es pendant la construction d un chemin ne s appliquent qu ce chemin 3 18 Transformations Quand on d finit des coordonn es comme 1cm icm o le point sera t il plac sur la page Pour d terminer cette position TikZ TEX et PDF ou PostScript appliquent tous certaines transformations aux coordonn es donn es pour d terminer la position finale sur la page TikZ fournit de nombreuses options qui permettent de transformer les coordonn es dans le systeme priv de coordonn es de PGF Par exemple l option xshift permet de pousser tous les points suivants d une certaine quantit tikz draw 0 0 0 0 5 xshift 2pt 0 0 0 0 5 Il est important de noter que l on peut changer de tra
114. e nearly transparent m tikz fill red 0 0 rectangle 1 0 5 fill nearly transparent 0 5 0 rectangle 1 5 0 25 style semitransparent tikz fill red 0 0 rectangle 1 0 5 fill semitransparent 0 5 0 rectangle 1 5 0 25 style nearly opaque Zr tikz fill red 0 0 rectangle 1 0 5 fill nearly opaque 0 5 0 rectangle 1 5 0 25 style very nearly opaque o tikz fill red 0 0 rectangle 1 0 5 fill very nearly opaque 0 5 0 rectangle 1 5 0 25 style ultra nearly opaque o tikz fill red 0 0 rectangle 1 0 5 filllultra nearly opaque 0 5 0 rectangle 1 5 0 25 style opaque Cela produit des dessins compl tement opaque ce qui est le comportement par d faut m tikz fill red 0 0 rectangle 1 0 5 filllopaque 0 5 0 rectangle 1 5 0 25 10 2 4 Param tres graphiques Arrow Tips pointes de fl che Lorsque l on dessine une ligne on peut ajouter une pointe de fl che chaque extr mit On ne peut ajouter qu une seule pointe de fl che au d but et une seule la fin Si le chemin est constitu de plusieurs segments seuls le dernier segment prend les pointes de fl che Le comportement des chemins ferm s n est pas d fini et peut changer l avenir arrows type de fl che au debut type de fl che la fin Cette option fixe les pointes de fl che au d but et la fin une valeur vide comme dans gt indique qu aucune po
115. e par le chemin est remplie avec la couleur de remplissage courante couleur qui est soit la derni re couleur sp cifi e l aide de l option g n rale color soit la couleur facultative couleur Pour ce qui est des chemins auto s cants et ceux qui consistent en plusieurs surface closes la surface entour e est quelque peu difficile d finir et deux d finitions diff rentes existent savoir la r gle de l indice non nul nonzero winding number et la r gle de parit even odd Voir l explication de ces options ci dessous De la m me mani re que pour l option draw fixer la couleur none aucun d sactive localement le remplissage 7 eo 43 begin tikzpicture N S OS SUEDE ill 4 0 circle 5cm 4 5 0 circle 5em fillleven odd rule 6 0 circle 5cm 6 5 0 circle 5cm fill 8 0 9 1 10 0 circle 5cm end tikzpicture Si l on utilise l option fill avec l option draw soit que les deux options aient t donn es soit qu on ait utilis la commande filldraw le chemin est d abord rempli puis dans deuxi me temps il est dessin C est particuli rement utile quand on s lectionne des couleurs diff rentes pour le dessin et le remplissage M me si la m me couleur est utilis e il y a une diff rence ente cette commande et la simple option fill une surface dessin e remplie filldrawn sera un peu plus large que la surface simplement remplie du fait de l
116. e que PGF peut faire est implant dans ce pilote Fichier pgfsys dvipdfm def C est le fichier de pilote utiliser avec 1a tex suivi de dvipdfm Il contient pgfsys common pdf def Ce pilote g re la plupart des fonctionnalit s de PGF mais il a quelques limitations 1 En mode KIEX il utilise graphicx pour l inclusion de graphiques et ne g re pas le masquage 2 En mode plain TEX il ne g re pas l inclusion d image Fichier pgfsys vtex def 40 C est le fichier pilote a utiliser avec le programme commercial VTEX Bien qu il produise du PDF il contient pgfsys common postscript def Remarquez que VTEX peut produire aussi bien du PostScript que du PDF Toutefois que l on produise du PostScript ou du PDF ne change rien quant au pilote Ce pilote gere la plupart des fonctionnalit s de PGF avec les limitations suivantes 1 En mode KIEX il utilise graphicx pour l inclusion de graphiques et ne g re pas le masquage 2 En mode plain TFX il ne g re pas l inclusion d image 3 Le d grad est totalement implant mais aboutit la m me qualit que l implantation pour dvips 4 L opacit n est pas du tout implant e On peut galement produire un fichier pdf en produisant d abord un fichier PostScript voir ci dessous puis en utilisant un logiciel de conversion de PostScript vers PDF comme ps2pdf ou Acrobat Distiller 5 2 3 Produire du PostScript Fichier pgfsys dvips def C est le fichier pilote util
117. e rempli Voici un exemple qui montre les diff rences begin tikzpicture tikzstylefevery node draw path yshift 1 5cm shape rectangle 0 0 node ai 1 0 node a2 1 1 node a3 0 1 node a4 filldraw fill examplefill a1 a2 a3 a4 path shape coordinate 0 0 coordinate b1 1 0 coordinate b2 1 1 coordinate b3 0 1 coordinate b4 filldraw fill examplefill b1 b2 b3 b4 end tikzpicture 96 12 Faire pousser les arbres 12 1 Introduction 4 l operation child enfant Les arbres fournissent une facon ordinaire de visualiser les structures hierarchiques Un arbre simple a l aspect suivant begin tikzpicture soie node racine child node gauche child node droite child node enfant gauche droite child node enfant ia 7 A end tikzpicture enfant enfant Je reconnais que dans la nature les arbres ont plut t tendance grandir vers le haut et non pas vers le bas comme ci dessus On peut savoir si l auteur d un article est math maticien ou informaticien rien qu regarder la direction dans laquelle ses arbres croissent Les arbres d un informaticien grandissent vers le bas ceux d un math maticien vers le haut Naturellement la fa on correcte est celle du math maticien que l on peut obtenir comme suit enfont ae begin tikzpicture node racine grow up child n
118. enfant est dessin Typiquement le chemin enfant est r duit une sp cification de n ud ce qui entra ne le dessin du n ud la position de l enfant Enfin une ar te est dessin e depuis le premier n ud du chemin enfant au n ud parent La partie foreach facultative notez qu il n y a pas de barre oblique inverse devant le foreach permet de sp cifier de multiples enfants dans une unique commande child L idee est la suivante un nonc foreach est utilis en interne pour it rer sur la liste de valeurs Pour chaque valeur de cette liste on ajoute un nouveau child au n ud La syntaxe pour les variables et les valeurs est la m me que dans l enonce foreach voir la section p Par exemple lorsque l on crit node root child red foreach name in 1 2 node name cela produit le m me r sultat que si l on avait crit 97 node root child red node 1 child ref node 2 Quand on crit node root child pos foreach name pos in 1 left 2 right node pos name on obtiendra le m me r sultat qu avec node root child left node left 1 child right node right 2 On peut emboiter les choses comme dans l exemple suivant begin tikzpicture level distance 4mm tikzstyle level 1 sibling distance 8mm tikzstyle level 2 sibling distance 4mm tikzstyle level 3 sibling distance 2mm coordinate child foreach x in 0 1 child foreach y in 0 1
119. ent les enfants ont des tailles diff rentes et il n est pas facile de les placer de maniere a limiter le gaspillage d espace de maniere a ce que leurs enfants ne se recouvrent pas et de faire qu ils soient places regulierement ou bien que leurs centres soient places regulierement Calculer de bonnes positions est particulierement difficile puisque la bonne position du premier enfant peut d pendre de la taille du dernier enfant On choisit dans TikZ une approche comparativement simple pour placer les enfants Afin de calculer la position d un enfant on ne consid re que le rang de l enfant courant dans la liste des enfants et le nombre d enfants dans cette liste Ainsi si un n ud a cinq enfants le premier re oit une position fix e le deuxieme galement etc Ces positions ne d pendent pas de la taille des enfants et donc les enfants peuvent facilement se recouvrir Toutefois comme on peut utiliser des options pour d placer un peu chaque enfant individuellement ce probleme n est pas aussi difficile qu il pourrait sembler Bien que le placement des enfants ne d pende que de leur rang dans la liste des enfants et du nombre total d enfants tout le reste concernant le placement est largement configurable On peut changer la distance entre enfants appel judicieusement sibling distance distance entre fr res et la distance entre les niveaux de l arbre Ces distances peuvent tre modifi es chaque niveau On peut changer
120. er externe 68 9 12 3 Tabuler et tracer une fonction 68 9 12 4 Placer des marques sur une courbe 70 9 12 5 Aspects des courbes 71 9 13 L op ration de restriction de port e 72 9 14 L op ration Node 54553 4 58023 omhans a ee dE PAU LUE a date ar 72 Actions sur les chemins 73 10 1 Sp cification de couleur 444444 4 4 ee ne a une 74 10 2 Dessiner un chemins ss 222 Bae es A del dE RE SN eee eee Ad 74 10 2 1 Param tres graphiques Line Width Line Cap et Line Join 75 10 2 2 Param tres graphiques Dash Pattern motif de pointill s 76 10 2 3 Param tres graphiques Draw Opacity opacit de dessin 76 10 2 4 Param tres graphiques Arrow Tips pointes de fl che 77 10 2 5 Param tres graphiques Double Lines lignes doubles et Bordered Lines lignes long es 79 10 3 Remplirun chemin we ete eves ta LR LR ee GS ee Er Bie ee 79 10 3 1 Param tres graphiques Interior Rules r gles pour l int rieur 80 10 3 2 Param tres graphiques Fill Opacity opacit de remplissage 81 10 4 Appliquer un d grad un chemin 81 10 4 1 Choisir un type de d grad 81 10 4 2 Choisir les couleurs du d grad
121. et d En langage math matique la tangente la courbe en x passe par c De m me la courbe se termine en y en venant de l autre point de contr le d Plus grande est la distance entre x et c et entre d et y plus grande est la courbe Si l on ne donne pas l expression and d on suppose que d est gal c begin tikzpicture draw line width 10pt 0 0 controls 1 1 4 0 controls 5 0 and 6 1 4 1 draw color gray 0 0 1 1 4 0 5 0 5 1 4 1 end tikzpicture Comme avec l operation ligne jusqu a on n obtient pas la m me chose si les deux courbes sont reli es parce qu elles ont t cr es de deux op rations courbe jusqu a ou ligne jusqu cons cutives ou s il se trouvent qu elles partagent une m me extr mit 62 begin tikzpicture line width 10pt Ndraw 0 0 1 1 1 1 controls 1 01 and 2 0 9 0 draw 3 0 4 1 controls 4 0 and 5 0 5 0 useasboundingbox 0 1 5 agrandit la boite cadre end tikzpicture 9 4 L op ration cycle path cycle Cette op ration ajoute une ligne droite depuis le point courant jusqu au dernier point d fini pour une operation deplacer jusqu Notez que cela peut ne pas tre le d but du chemin De plus l operation cycle cr e une liaison souple entre le premier segment cr apr s l operation d placer jusqu a et une ligne droite est ajout e Consid ro
122. eter un il sur la page Debian ou la page MikTEX 2 2 1 Debian La commande aptitude install pgf devrait suffire Asseyez vous et d tendez vous Dans le detail les paquets suivants sont install s http packages debian org pgf http packages debian org latex xcolor 2 2 2 MiKTeX Avec MikTEX utilisez l assistant de mise jour update wizard pour installer les derni res versions des extensions appel es pgf xcolor et xkeyval 2 3 Installation dans une arborescence texmf Pour une installation permanente on place les fichiers de l extension PGF dans une arborescence texmf adequate Lorsque l on demande TEX d utiliser une certaine classe ou extension il cherche normalement les fichiers n cessaires dans ce que l on appelle une arborescence texmf Par d faut TEX cherche dans trois arborescences texmf diff rentes L arborescence texmf principale ou racine qui est plac e sous usr share texmf ou c texmf ou quelque chose de semblable 11 L arborescence locale plac e d habitude sous usr local share texmf ou c localtexmf ou quelque chose de semblable Votre arborescence texmf personnelle plac e dans votre r pertoire personnel home sous texmf ou Library texmf Vous devriez installer les extensions soit dans l arborescence locale ou dans votre arborescence personnelle suivant que vous avez ou non les droits d criture sur l arborescence locale L install
123. eureusement ces conditions ne sont pas toujours remplies En particulier si l on fournit des sources un coauteur et que celui ci n a pas install GNUPLOT il aura du mal compiler les fichiers C est pour cette raison que TikZ se comporte diff remment lorsque l on compile le graphique pour la deuxi me fois si en arrivant plot id id function TikZ voit que le fichier prefixe id table existe d ja et s il contient ce que TikZ pense qu il devrait contenir alors le fichier table est lu imm diatement sans essayer de faire appel gnuplot Cette approche offre les avantages suivants 1 Si l on passe un lot de ses fichiers tex et tout les fichiers gnuplot et table quelqu un d autre il pourra les TEXer sans avoir installer gnuplot 2 Si write18 est d sactiv par raison de s curit ce qui est une bonne id e alors la premi re compi lation du fichier tex le fichier gnuplot sera cr e mais pas le fichier table On pourra simplement appeler gnuplot a la main pour chacun des fichiers gnuplot ce qui produira tous les fichiers tables requis 3 Sil on change la fonction que l on voudrait tracer ou bien son domaine TikZ essaiera automatiquement de recr er le fichier table 4 Si par paresse on ne fournit pas de id le m me fichier gnuplot sera utilis pour les diff rentes plot mais cela ne pose pas de probleme puisque chaque fichier table est automatiqueme
124. eut utiliser une commande utilisation sp ciale comme draw pour indiquer que le chemin devrait tre dessin Toutefois les commandes comme draw et fill ne sont que des abr viations pour des cas sp ciaux de m thode plus g n rale ici la commande path est utilis e pour d finir le chemin Ensuite on rencontre sur le chemin des options qui indiquent ce qu il faut faire de ce chemin Par exemple path 0 0 circle 1cm signifie c est un chemin constitu d un cercle de centre l origine Ne fais rien avec jette le Toutefois si l option draw est rencontr e n importe o sur le chemin le cercle sera dessin N importe o est n importe quel point du chemin o une option peut tre donn e autrement dit n importe o sont autoris es des commandes comme circle 1cm ou rectangle 1 1 ou m me simplement 0 0 Ainsi les commandes suivantes tracent toutes le m me cercle path draw 0 0 circle 1cm path 0 0 draw circle 1cm path 0 0 circle icm draw Enfin draw 0 0 circle 1cm trace galement un chemin puisque draw est une abr viation de path draw et ainsi la commande se d veloppe en la premiere ligne de l exemple ci dessus Semblablement fill est une abr viation de path fill et filldraw est une abr viation de la commande path fill draw Puisque les options s ajoutent les unes aux autres les commandes suivantes ont toutes le m amp me effet path draw fill
125. finies par une forme Les styles suivants influent sur les parties de noeud style every nom de partie node part Ce style est install au d but de chaque partie de noeud nommee nom de partie u tikzstyle every output node part red tikz node state with output draw q_1 nodepart output 00 11 3 Options pour le texte dans les n uds L option la plus simple pour le texte des n uds concerne sa couleur Normalement cette couleur est simplement la derni re couleur install e avec color ventuellement h rit e d une autre port e Toutefois on peut fixer sp cialement la couleur utilis e pour le texte avec l option suivante text couleur D finit la couleur utilis e pour le texte des tiquettes Une option color annule imm diatement cette option rouge rouge rouge begin tikzpicture draw red 0 0 1 1 node above rouge draw text red 1 0 1 1 node above rouge draw 2 0 1 1 node above red rouge end tikzpicture De m me que la couleur elle m me on peut vouloir d terminer l opacit du seul texte Pour cela on utilisera l option suivante text opacity valeur D finit l opacite du texte des tiquettes begin tikzpicture draw line width 2mm blue 50 cap round 0 0 grid 3 2 tikzstylefevery node fill draw nodelopacity 0 5 at 1 5 2 N oe ud sup rieur node draw opacity 0 8 fill opacity 0 2 text opacity 1 at 1 5 0 N oe
126. fois que l on voudra vraiment utiliser ce serpent Le nom de serpent none est sp cial On peut l utiliser pour arr ter le serpentage apr s qu il a t mis en route sur le chemin trangement TikZ ne d finit aucun nom de serpent valide par d faut Pour cela on doit charger l extension de biblioth que pgflibrarysnakes Cette extension d finit de nombreux serpents voir la section p pour une liste compl te On peut configurer la plupart des serpents Par exemple on peut vouloir changer l amplitude ou la fr quence du serpent qui ressemble une sinuso de Il y a de nombreuses options qui influencent ces pa rametres Toutes les options ne s appliquent pas tous les serpents voir la section p une fois encore pour plus de d tails gap before snakes dimension Cette option permet d ajouter un certain cart au serpent son d but Le serpent ne commencera pas au point courant au lieu de cela le point initial du serpent sera d plac de dimension dans la direction de la cible begin tikzpicture draw help lines 0 0 grid 3 2 draw snake zigzag CODE SED draw snake zigzag gap before snake 1cm 0 0 3 1 I end tikzpicture gap after snake dimension Cette option a le m me effet que gap before snake mais n affecte que la fin du nn qui plus t t gap around snake dimension Cette option fixe l cart avant et l cart apr s dimension
127. hose que des graphiques tr s simples Cela n est certainement pas d un manque de connaissances ou d imagination de la part du des cr ateur s de KTEX Mais c est le prix payer pour la portabilit de l environnement picture il fonctionne avec tous les pilotes travaillant en arriere plan 2 L extension pstricks est sans aucun doute assez puissante pour cr er tout graphique imaginable mais elle n est pas du tout portable Plus important encore elle ne fonctionne ni avec pdftex ni avec tout autre pilote produisant autre chose que du code PostScript L extension PGF est un compromis entre portabilit et expressivit Elle n est pas aussi portable que picture et peut tre pas aussi puissante que pspicture Toutefois elle est plus puissante que picture et plus portable que pspicture 1 3 Utilitaires Gestion de pages L extension PGF comprend une sous extension sp ciale appel e pgfpages qu on utilise pour assembler plusieurs pages sur une seule Cette extension ne concerne pas en fait la cr ation de graphique mais c est n anmoins une partie de PGF principalement parce que son implantation utilise beaucoup PGF La sous extension pgfpages fournit des commandes pour assembler plusieurs pages virtuelles sur une seule page physique L id e est que chaque fois que TEX a une page pr te tre sortie shipout pgfpages interrompt la sortie et place la page a sortir dans une boite sp
128. ication sp ciale de pointe de fl che Par exemple si Karl crit gt stealth alors il dirait TikZ qu il voudrait une pointe de fl che la combattant furtif a ANS begin tikzpicture gt stealth draw gt 0 0 arc 180 30 10pt draw lt lt very thick 1 0 1 5cm 10pt 2cm 0pt 2 5cm 10pt end tikzpicture Karl se demande si un nom aussi guerrier pour un type de fl che est vraiment n cessaire Il n est pas vraiment radouci lorsque son fils lui dit que PowerPoint de Microsoft utilise le m me nom Il d cide d en faire discuter ses tudiants un jour En plus de stealth il y a de nombreuses autres pointes pr d finies parmi lesquelles Karl peut choisir voyez la section p De plus il peut d finir des types de fl che lui m me s il en a besoin 3 17 Port e Karl a d j vu que de nombreuses options de graphique peuvent influer sur le rendu des chemins Souvent il voudrait appliquer certaines options tout un ensemble de commandes graphiques Par exemple Karl pourrait d sirer tracer trois chemins en utilisant le crayon thick pais mais vouloir que le reste soit trac normalement Si Karl souhaite qu un certain ensemble d options de graphique s appliquent toute la figure il peut simplement passer ces options la commande tikz ou l environnement tikzpicture Gerda passerait ces options tikzpicture Toutefois si Karl veut les appliquer un gro
129. iere d organiser des ensembles d options graphiques orthogonale au m canisme normal de port e Par exemple on peut vouloir que toutes les lignes d aide soient trac es d une certaine facon disons grises et fines ne pas utiliser de pointill s cela d range le lecteur Pour cela on peut utiliser des styles Un style est simplement un ensemble d options graphiques que l on a pr d fini un certain moment Une fois d fini un style peut tre utilis n importe o avec l option style style nom de style invoque toutes les options qui sont actuellement group es dans le nom de style Un exemple de style est le style pr d fini help lines que l on devrait utiliser pour les lignes d arriere plan comme les lignes d un quadrillage ou les trac s de construction On peut facilement d finir de nouveau styles et modifier ceux qui existent begin tikzpicture draw 0 0 grid 2 2 draw style help lines 2 0 grid 2 2 end tikzpicture tikzstyle nom de style options Cette commande d finit le style nom de style Chaque fois que l on utilisera la commande style nom de style les options seront appel es Il est permis un style d en appeler un autre avec la commande style dans les options ce qui permet de b tir une hi rarchie de styles Bien entendu on ne devra pas cr er de d pendances circulaires Si le style avait d ja une d finition il
130. if de pointille style solid Raccourci pour sp cifier un trait continu comme motif de pointill C est la valeur par d faut 16 tikz draw solid Opt Opt 50pt Opt style dotted Raccourci pour sp cifier un motif de points tikz draw dotted Opt 0pt 50pt 0pt style densely dotted Raccourci pour sp cifier un motif de points serr s Zr tikz draw densely dotted Opt 0pt 50pt Opt style loosely dotted Raccourci pour sp cifier un motif de points espac s tikz draw loosely dotted Opt 0pt 50pt Opt style dashed Raccourci pour sp cifier un motif de tirets Rues tikz draw dashed Opt 0pt 50pt Opt style densely dashed Raccourci pour sp cifier un motif de tirets serr s tikz draw densely dashed Opt 0pt 50pt Opt style loosely dashed Raccourci pour sp cifier un motif de tirets espac s tikz draw loosely dashed Opt Opt 50pt Opt 10 2 3 Param tres graphiques Draw Opacity opacit de dessin Normalement une ligne est dessin occulte tout ce qui se trouve dessous comme si l on se servait d une encre parfaitement opaque Il est galement possible de demander TikZ d utiliser une encre un petit peu ou un gros peu transparente Pour ce faire utiliser option suivante draw opacity valeur Cette option fixe le degr de transparence des lignes La valeur 1 signifie totalement opaque ou pas tran
131. ift x 0 Opt 2pt Opt 2pt node below xtext foreach y ytext in 1 1 2 2 2 25 2 frac 1 4 3 3 draw shift 0 y 2pt 0pt 2pt 0pt node left ytext draw 5 25 parabola bend 0 0 2 4 node below right x 2 end tikzpicture 106 Quatrieme partie La couche de base x t y t tsin tcos 1 11 begin tikzpicture draw gray very thin 1 9 1 9 grid 2 9 3 9 step 0 25cm 1 1 grid 1 1 draw blue 1 2 1 1 4 1 asymptote draw gt 2 0 3 0 node right x t draw gt 0 2 0 4 nodelabove y t foreach pos in 1 2 draw shift pos 0 Opt 2pt Opt 2pt node below pos foreach pos in 1 1 2 3 draw shift 0 pos 2pt 0pt 2pt 0pt node left pos fill 0 0 circle 0 064cm draw thick parametric domain 0 4 1 5 samples 200 The plot is reparameterised such that there are more samples near the center plot id asymptotic example function t t t sin 1 t t t t t t cos 1 t t t node right bigl x t y t bigr t sin frac 1 t t cos frac 1 t filll red 0 63662 0 circle 2pt node below right fill white yshift 4pt frac 2 pi 0 end tikzpicture Cinquieme partie La couche systeme Cette partie d crit l interface de bas niveau de PGF d nomm e la couche syst me Cette interface fou
132. ight dimension Cette option a le m me effet que si l on crivait bend pos 0 5 bend Opt dimer a la place begin tikzpicture draw help lines 0 0 grid 3 2 draw 1 0 parabola parabola height 2cm 3 0 end tikzpicture Les styles suivants sont d utiles raccourcis style bend at start Cela place le sommet au d but de la parabole C est un raccourci pour les options suivantes bend pos 0 bend 0 0 style bend at end Cela place le sommet la fin de la parabole 9 11 Les op rations sine et cosine Les op rations sin et cos sont semblables l operation parabola Elles aussi peut tre utilis es pour dessiner des parties de sinusoides path sin coordon e sin dessine une sinusoide d quation y sin x avec x dans l intervalle 0 7 2 Cette courbe subie une homoth tie et une translation pour que le point de d part de la courbe soit l ancien point courant et que le point final de la courbe soit coordonn e Voici un exemple qui devrait claircir cela tikz draw 0 0 rectangle 1 1 0 0 sin 1 1 2 0 rectangle 1 57 1 2 0 sin 1 57 1 66 path cos coordonn e Cette operation fonctionne de mani re similaire sauf que c est la courbe d quation y cos x qui est dessin e pour x dans 0 7 2 En alternant correctement sin et cos on peut cr er une sinuso de complete begin tikzpicture xscale 1 57 draw
133. igne de base du texte Les formes standard d finissent aussi une ancre mid ainsi que mid west et mid east Cette ancre est a une demie hauteur de x au dessus la ligne de base Cette ancre est utile pour centrer verticalement de multiples n uds qui ont des hauteurs et profondeurs diff rentes En voici un exemple 90 XI x y t x y t begin tikzpicture scale 3 transform shape First center alignment gt wobbles draw anchor center 0 1 node x 0 5 1 node y 1 1 node t Second base alignment gt no wobble but too high drawl anchor base 0 5 node x 0 5 5 nodefy 1 5 node t Third mid alignment draw Lanchor mid 0 0 node x 0 5 0 nodefy 1 0 node t end tikzpicture Malheureusement bien que parfaitement logique il est souvent plut t contre intuitif de devoir pr ciser l ancre south sud pour placer un n ud au dessus d un point donn Pour cette raison il y a quelques options utiles qui permettent de s lectionner les ancres de facon plus intuitive above d port fait comme anchor south Si le d port est sp cifi le n ud est de plus d plac vers le haut du d port donn above tikz fill 0 0 circle 2pt node above above store tikz fill 0 0 circle 2pt node above 2pt above above left d port fait comme anchor south east Si le d port est sp cifi le n ud est de plus d plac du d port vers le
134. ikZ rencontrera l op ration plot id id function x sin x il cr era un fi chier appel pr fixe id gnuplot o pr fixe est jobname par d faut c d le nom du fichier tex principal Si on ne donne aucun id il restera vide ce qui est correct mais il vaut mieux que chaque plot ait un id unique pour des raisons que l on donnera dans un moment Ensuite TikZ crit du code d initia lisation dans ce fichier qu il fait suivre de plot x sin x Le code d initialisation d finit ce qu il faut pour que l op ration plot crive les coordonn es dans un autre fichier appel pr fize id table Enfin ce fichier table est lu comme si l on avait donn l instruction plot filet prefize id table Pour que le m canisme de tabulation fonctionne il faut deux conditions 68 1 On doit autoriser TEX appeler un programme externe Cette possibilit est souvent d sactiv e par d faut car il y a des risques pour la s curit on pourrait sans le savoir TEXer un fichier qui appellerait toutes sortes de mauvaises commandes Pour activer cet appel aux programmes externes on doit passer une option de ligne de commande TEX le programme Habituellement cette option est appel e shell escape enable write18 ou quelque chose comme ca Par exemple je peux donner Voption shell escape 4 mon pdflatex 2 On doit avoir install le logiciel gnuplot et TEX doit le trouver en compilant un fichier Malh
135. in que le quadrillage soit trac d abord et que tout le reste vienne par dessus begin tikzpicture draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm end tikzpicture 3 8 Ajouter une touche de style Au lieu d utiliser les options gray very thin Karl aurait pu tout aussi bien crire style help lines Les styles sont des ensembles pr d finis d options que l on peut utiliser pour organiser la maniere dont le graphique sera trac En crivant style help lines on dit utilise le style que moi ou un autre j ai d fini pour tracer les lignes d aide Si Karl d cide plus tard que les quadrillages devraient tre trac s avec par exemple la couleur blue 50 au lieu de gray il lui suffirait d crire ce qui suit tikzstyle help lines color blue 50 very thin Ou il pourrait crire tikzstyle help linest color blue 50 Cela ajouterait l option color blue 50 Le style help lines contiendrait maintenant deux options de couleur mais la deuxieme remplacerait la premiere En utilisant les styles on rend le code des graphiques plus flexible On peut changer l aspect des choses d une maniere plus coh rente On peut construire une structure hi rarchique de styles en d finissant des styles a l aide d autres Ainsi afin de d finir un style Karl s grid bas sur le style grid Karl po
136. int de d but de la courbe Ce comportement sp cial facilite la d finition d une courbe qui devrait arriver ou partir suivant une certaine direction au d but ou la fin Dans l exemple suivant la courbe quitte 30 et arrive 60 begin tikzpicture draw 1 0 controls 30 1cm and 60 icm 3 1 draw gray gt 1 0 30 1cm draw gray lt 3 1 60 1cm end tikzpicture 56 9 Syntaxe pour la definition de chemin Un chemin est un suite de segments de droites ou de courbes Sa definition suit la commande path et doit tre conforme une syntaxe sp ciale que l on d crit dans les diff rentes parties de cette section path definition Cette commande n est disponible que dans un environnement tikzpicture La definition est un long flux d operations de chemin La plupart de ces op rations de chemin pr cise a TikZ la facon dont est construit le chemin Par exemple lorsque l on crit 0 0 on utilise une op ration ligne jusqu a et cela signifie continue le chemin d o que tu sois jusqu l origine Partout o TikZ attend une op ration de chemin on peut galement passer quelques options graphiques c est dire une liste d options crites entre crochets telle que rounded corners coins arrondis Ces options peuvent avoir diff rents effets 1 Quelques options prennent effet imm diatement et s appliquent toutes
137. inte ne sera dessin au d but Note puisque l option arrow est si souvent utilis e on peut se dispenser du texte arrows Ce qui se passe est que toute option qui contient un est interpr t e comme une sp cification de fl che Co begin tikzpicture draw gt 0 9 1 0 drawl lo stealth 0 0 3 1 0 3 end tikzpicture Les valeurs autoris es sont toutes les pointes de fl che pr d finies mais on peut galement en d finir de nouvelles comme expliqu en section p C est souvent n cessaire pour obtenir des pointes de fleche doubles et des pointes de taille fixe Comme la bibliotheque pgflibraryarrows est charg e par d faut toutes les pointes d crites dans la section p sont disponibles 77 Un type de pointes de fl che est sp cial gt et tous les types de pointes de fl che qui contiennent gt comme lt lt ou gt Ces types de pointes ne sont pas fixes Ou plut t on peut les redefinir en utilisant Voption gt voir ci dessous Exemple On peut combiner les types de pointes comme dans begin tikzpicture thick draw to reversed to 0 0 controls 5 0 and 5 5 1 5 1 draw latex reversed 1 0 controls 5 0 and 5 5 1 5 1 draw latex CRO AControls ER CE 0 and CNP Globalis useasboundingbox 1 1 rectangle 3 1 1 1 agrandit la boite cadre end tikzpicture gt type de fl che de fin On peut utiliser cette
138. intent dans une direction arbitraire une ellipse tourn e comme on peut utiliser des transformations ce que l on expliquera plus loin En passant le code de la petite ellipse est tikz draw rotate 30 0 0 ellipse 6pt and 3pt Donc pour retourner au probleme de Karl il peut crire draw 0 0 circle 1cm pour tracer un cercle begin tikzpicture draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 EIN draw 0 0 circle 1cm ay end tikzpicture Ace moment la Karl est un peu alarm de voir ce cercle si petit quand il voudrait que la figure finale soit bien plus grande Il est content d apprendre que TikZ poss de de puissantes options de transformation et qu agrandir tout d un facteur trois est tres facile Mais gardons la taille comme elle est pour le moment afin de gagner un peu de place 3 6 Construction d un chemin rectangulaire La prochaine chose que nous voudrions avoir est un quadrillage de fond Il y a plusieurs manieres de l obtenir Par exemple on peut tracer un grand nombre de rectangles Comme les rectangles sont si courants il y a une syntaxe sp ciale pour eux pour ajouter un rectangle au chemin courant utiliser l operation de construction de chemin rectangle Cette op ration doit tre suivie d autres coordonn es et ajoutera un rectangle au chemin de telle sorte que les coordonn es pr c dentes et les suivantes d terminent les coins du rectangle Ajoutons donc deux rect
139. ions additionnelles qui tendent le noyau avec des com mandes plus sp cialis es comme celles concernant la gestion des n uds ou l interface de trac de courbe Par exemple l extension BEAMER utilise le noyau mais pas toutes les extensions additionnelles de la couche de base Couche d interface Une interface il peut en exister plusieurs est un ensemble de commandes ou une syntaxe sp ciale qui rend plus facile l utilisation de la couche de base L utilisation directe de la couche de base conduirait un code souvent trop verbeux Par exemple pour dessiner un simple triangle vous pourriez avoir besoin d au moins cinq commandes en utilisant la couche de base une pour commencer un Chemin au premier sommet du triangle une pour tendre ce chemin jusqu au deuxi me sommet une pour atteindre le troisi me une pour fermer le chemin et une pour peindre le triangle et non pas le remplir Avec l interface tikz tout cela se r duit l unique commande la METAFONT draw 0 0 1 0 1 1 cycle Ily a plusieurs interfaces 1 En fran ais dans le texte TikZ est l interface naturelle de PGF Elle vous donne acc s toutes les caract ristiques de PGF mais elle est sensee tre facile 4 utiliser La syntaxe est un m lange de celle de METAFONT et de PSTRICKS et de quelques unes de mes id es Cette interface n est ni une couche complete de compatibilit avec METAFONT ni une couche de com
140. irig e par l angle perce la frontiere Voici un exemple begin tikzpicture node start draw shape ellipse start foreach angle in 90 80 90 draw start angle controls angle icm and 1 0 2 5 0 end tikzpicture 8 5 3 Coordonn es de n ud sans ancre On peut aussi simplement omettre l ancre et laisser TikZ calculer une position de la fronti re ad quate Voici un exemple Un cercle 54 begin tikzpicture fill blue 20 draw style help lines 1 2 grid 6 3 path 0 0 node a ellipse rotate 10 draw fill Une ellipse 3 1 node b circle draw fil1 Un cercle 2 2 node c rectangle rotate 20 draw fill Un rectangle 5 2 node d rectangle rotate 30 draw fill Un autre rectangle drawithick a m b Cc id draw thick red gt a 1 3 c l b draw thick blue lt gt b controls right 2cm and down 1cm d end tikzpicture TikZ se montrera raisonnablement intelligent dans la d termination des points de la fronti re auxquels on pense mais naturellement il peut chouer dans quelques situations Si TikZ choue d terminer un point idoine de la fronti re il utilisera le centre la place Le calcul automatique des ancres ne fonctionne qu avec l operation droite jusqu les versions verticale horizontale et et avec op ration courbe jusqu
141. iser avec 1a tex suivi de dvips Il contient pgfsys common postscript def Ce pilote aussi g re la plupart des fonctionnalit s de PGF avec les limitations suivantes 1 En mode ETX il utilise graphicx pour l inclusion de graphiques et ne g re pas le masquage 2 En mode plain TFX il ne g re pas l inclusion d image 3 Le d grad est totalement implant mais le r sultat n est pas aussi bon qu avec un pilote produisant un pdf 4 L opacite ne marche qu avec les toutes derni res versions de GhostScript Fichier pgfsys textures def C est un fichier pilote utiliser avec le programme TEXTURE Il contient pgfsys common postscript def Les limitations de ce pilote sont exactement les m mes que celle du pilote pour dvips On peut galement utiliser le programme vtex avec pgfsys vtex def pour produire du PostScript 5 2 4 Produire du HTML SVG Le programme tex4ht convertit des fichiers dvi en fichiers html Bien que l on ne puisse pas dessiner avec le format HTML on peut le faire avec le format SVG Avec le pilote suivant on peut demander PGF de produire une image SVG pour chaque graphique PGF du texte Fichier pgfsys tex4ht def C est le fichier pilote a utiliser avec le programme text4ht Il contient pgfsys common svg def Lorsque l on utilise ce pilote on doit tre conscient des limitations suivantes 1 En mode KIEX il utilise graphicx pour l inclusion de graphiques et ne g re pas le masquage 2 En mode pl
142. le texte Dans chacune de ces descriptions la commande l environnement ou l option decrit est imprime en rouge Le texte en vert est optionnel et peut tre pass 1 5 Obtenir de l aide Quand vous avez besoin d aide sur PGF et TikZ veuillez appliquer ce qui suit 1 Lisez le manuel 4 tout le moins la partie qui a affaire avec votre probleme 2 Si cela ne r sout pas votre probleme essayez de jeter un ceil la page de d veloppement de PGF et TikZ sur sourceforge voyez le titre de ce document Peut tre quelqu un a t il d j signal un probleme semblable et que quelqu un y a trouv une solution 3 Sur le site web vous trouverez de nombreux groupes de discussion o vous pourrez trouver de l aide La vous pouvez crire amp des groupes d aide envoyer des rapports de bogue rejoindre des listes de diffusion etc 4 Avant d envoyer un rapport de bogue sp cialement un rapport de bogue concernant l installation assurez vous qu il s agit bien d un bogue En particulier jetez un ceil au fichier log produit quand vous TEXez vos fichiers Ce fichier log devrait montrer que tous les fichiers convenables ont t charg s depuis les bons r pertoires Presque tous les problemes d installation peuvent tre r solus en regardant le fichier log 5 En dernier ressort vous pouvez essayer de m envoyer moi l auteur un courriel Recevoir des courriels ne me d range pas mais j en re ois simp
143. lement bien trop De ce fait je ne peux pas garantir que je r pondrai en temps et en heure voire m me que je r pondrai simplement votre courriel Vos chances de voir votre probl me r solu sont un peu plus grandes si vous crivez la liste de diffusion de PGF naturellement je lis cette liste et je r ponds aux questions quand j en ai le temps 6 Veuillez ne pas me t l phoner au bureau Si vous avez besoin d une aide en ligne achetez un produit commercial 10 2 Installation Il y a plusieurs mani res d installer PGF qui d pendent de votre systeme et de vos besoins Vous pourriez de plus avoir besoin d installer d autres extensions galement voir ci dessous Avant d installer vous pourriez souhaiter revoir la licence GPL sous laquelle cette extension est distribu e voyez la section p En g n ral cette extension est d ja install e sur votre systeme Naturellement dans ce cas vous n avez pas besoin du tout de vous en faire propos du processus d installation et vous pouvez passer le reste de cette section 2 1 Versions de l extension et des pilotes Cette documentation fait partie de la version 1 01 de l extension PGF Afin de faire fonctionner PGF vous aurez besoin d une installation raisonnablement r cente de TEX Si vous utilisez EXTRX vous aurez besoin que les extensions suivantes soient install es des versions plus r centes devraient marcher aussi xcolor version 2 00
144. lement je ne suis convaincu par aucun de ces arguments D un c t je n ai jamais vu de preuve s rieuse que les abr viations ralentissent la lecture D un autre abr ger tous les Figure en Fig a peu de chance d conomiser ne fusse qu une seule ligne dans la plupart des documents J vite les abr viations 4 5 Coh rence du texte et des figures Peut tre que l erreur la plus fr quemment faite quand on cr e des graphiques souvenez vous que une erreur en conception est toujours juste de l ignorance est d avoir une discordance entre l aspect des graphiques et celui du texte Il est fr quent que les auteurs utilisent diff rents logiciels pour cr er les graphiques de leur article Un auteur pourra produire quelques courbes l aide de GNUPLOT un diagramme avec XFIG et incorporer une image eps produite par un co auteur utilisant un logiciel inconnu Tous ces graphiques auront le plus vraisemblablement diff rentes paisseurs de traits des polices diff rentes des tailles diff rentes De plus les auteurs utilisent souvent en important les graphiques des options comme height 5cm pour les r duire une taille sympa Si la m me approche tait suivie dans l Ecriture du texte principal chaque partie serait crite avec une police et une taille diff rente Dans quelques parties les th or mes seraient soulign s dans d autres il seraient en capitales dans d autres e
145. les op rations de chemin suivantes Par exemple l option rounded corners arrondira tous les coins suivants mais pas ceux qui pr c dent et si l option sharp corners coins aigus est pass e ensuite sur le chemin dans une nouvelle paire de crochets l effet d arrondi s arr tera tikz draw 0 0 1 1 rounded corners 2 0 3 1 sharp corners 3 0 2 1 Un autre exemple est donn par les options de transformation qui s appliquent aussi aux coor donn es qui suivent 2 On peut limiter la port e des options qui ont un effet imm diat en isolant une partie du chemin avec des accolades Par exemple on aurait pu crire aussi l exemple ci dessus comme suit tikz draw 0 0 1 1 rounded corners 2 0 3 1 50 ETUDE 3 Certaines options ne s appliquent qu a la totalit du chemin Par exemple l option color qui d termine la couleur utilis e pour disons dessiner le chemin s applique toujours a toutes les parties du chemin Si l on donne plusieurs couleurs diff rentes diff rentes parties d un chemin seule la derni re de la port e la plus externe gagne tikz draw 0 0 1 1 color red 2 0 3 1 color blue 3 0 2 1 La plupart des options sont de ce type Dans l exemple ci dessus nous aurions d debiter le chemin avec plusieurs commandes path tikz draw 0 0 1 1 draw color red 2 0 3 1 draw c
146. lis l option lt la place de gt les pointes auraient t plac es au d but du chemin L option lt gt place des fl ches chaque extr mit du chemin Il y a certaines restrictions au type de chemins auxquels on peut ajouter des fleches En gros on ne peut ajouter des fleches qu aux lignes simples ouvertes Par exemple on ne devrait pas essayer d ajouter des fleches 4 disons un rectangle ou un cercle On peut essayer mais il n y a aucune garantie sur ce qui arrivera ni aujourd hui ni dans les prochaines versions Toutefois on peut ajouter des fl ches des chemins courbes et des chemins compos s de plusieurs segments comme dans les exemples qui suivent 0 de a begin tikzpicture draw lt gt 0 0 arc 180 30 10pt draw ik ARC ONE EM Opt m 2cm Opt 2 5cm L0pt end tikzpicture Karl regarde plus en d tail la fl che que TikZ place la fin Elle appara t comme ceci quand il l agrandit La forme semble vaguement famili re et de fait c est exactement celle du bout de la fl che normal que TEX utilise dans quelque chose comme f A gt B Karl aime cette fl che d autant plus qu elle n est pas aussi paisse que celles offertes par tant d extensions Toutefois il s attend ce que parfois il ait besoin d utiliser d autres genre de fl ches Pour cela Karl peut crire par exemple gt right arrow tip kind o right arrow tip kind est une sp cif
147. lon n est disponible que dans TikZ L option ball color determine la couleur des ballons Il ne faut pas utiliser cette option lorsque l on a besoin d un grand nombre de marques puiqu il faudra beaucoup de temps pour en faire le rendu en PostScript Option Effet mark ball i o mark size dimension Definit la taille des marques Pour les marques circulaires la dimension est le rayon pour les autres la dimension devrait tre environ la moiti de la hauteur et de la largeur 70 Cette option n est pas vraiment n cessaire puisque l on peut obtenir le m me effet a l aide de l option locale scale facteur o facteur est le quotient de la taille d sir e par la taille par d faut Toutefois utiliser mark size est un peu plus rapide et plus naturel mark options options Ces options sont appliqu es aux marques quand elles sont trac es Par exemple on peut mettre l chelle ou transformer autrement la marque ou en d finir la couleur tikz fill fill blue 20 plot mark triangle mark options color blue rotate 180 file plots pgfmanual sine table 0 0 9 12 5 Aspects des courbes L op ration plot peut faire diff rentes choses avec les points qu elle lit depuis un fichier ou dans une liste en ligne Par d faut les points seront joints par des segments de droite Toutefois on peut utiliser des options pour changer le comportement de plot sharp plot C est l option par
148. m S lectionne le d grad nomm nom Les d grad s suivants sont pr d finis 17 NdTdS On utilisera aussi le verbe estomper en lieu et place de la locution appliquer un d grad m me si le sens n est pas exactement le m me 81 axis C est le d grad par d faut dans lequel la couleur change graduellement entre trois lignes horizontales La ligne du haut est au point le plus haut du chemin celle du milieu au milieu celle du bas au point le plus bas du chemin tikz shadedraw shading axis 0 0 rectangle 1 1 La couleur du haut par d faut est le gris celle du bas par d faut est le blanc celle du milieu par d faut est le milieu de ces deux premi res radial Ce d grad remplit le chemin avec un changement graduel d une certaine couleur au centre jusqu a une autre couleur sur le bord Si le chemin est un cercle la couleur ext rieure sera atteinte exactement la bordure Sinon la couleur ext rieure sera utilis e encore un peu jusqu aux coins La couleur int rieure par d faut est le gris et la couleur ext rieur le blanc tikz shadedraw shading radial 0 0 rectangle 1 1 ball Ce d grad remplit un chemin de telle fa on que a ressemble une balle La couleur par d faut de la balle est le bleu sans raison particuli re LA tikz shadedraw shading ball 0 0 rectangle 1 1 tikz shadedraw shading ball 0 0 circle 5cn
149. miere application de cette option permet d obtenir une tikzpicture qui d borde sur le texte principal Gauche de Te la figure Gauche de la figure begin tikzpicture draw use as bounding box 2 0 rectangle 3 1 draw 1 0 4 75 end tikzpicture droite de la figure La deuxi me application de cette option permet de gagner un meilleur contr le de l espace blanc laiss autour de la figure 83 Gauche de la figure droite de la figure Gauche de la figure begin tikzpicture useasboundingbox 0 0 rectangle 3 1 fill 75 25 circle Scn end tikzpicture droite de la figure Note si on utilise cette option sur un chemin contenu dans un groupe TpXien port e l effet ne dure que jusqu a la fin de la port e La encore c est le comportement du d coupage Il existe un noeud qui permet d obtenir la taille de la boite cadre courante current bounding box a une forme de rectangle et sa taille est toujours celle de la boite cadre courante begin tikzpicture draw red 0 0 circle 2pt draw red 2 1 circle 3pt draw current bounding box south west rectangle current bounding box north east draw red 3 1 circle 4pt draw thick current bounding box south west rectangle current bounding box north east end tikzpicture 10 6 Utiliser un chemin pour d couper Pour utiliser un chemin pour d couper se servir de l option clip clip Cette option fait
150. mpli si n cessaire Un chemin comme path 0 0 rectangle 2ex 1ex tant donn on peut le dessiner avec l option draw comme dans path draw 0 0 rectangle 2ex 1ex qui produit I La commande draw n est qu une abr viation pour path draw Pour remplir un chemin on utilise l option fill ou la commande fill On estompe avec l option shade on dispose des abr viations shade et drawshade et on d coupe avec l option clip Il y a aussi la commande clip qui fait la m me chose que path clip amis pas de commande comme drawclip On utilisera la place draw clip ou path draw clip par exemple Toutes ces commandes ne peuvent tre utilis es que dans un environnement tikzpicture TikZ permet d utiliser des couleurs diff rentes pour tracer et remplir 6 4 Syntaxe cl valeur pour les param tres graphiques Chaque fois que TikZ dessine ou remplit un chemin un grand nombre de param tres graphiques influent sur le rendu Parmi les exemples on citera les couleurs utilis es le motif de pointill s la surface d coup e l paisseur du trait et bien d autres Dans TikZ toutes ces options sont d finies l aide d une liste de paires cl valeur comme dans color red pass e comme param tres facultatifs aux commandes de dessin et remplissage de chemin Cet emploi rappelle celui de PSTRICKS Par exemple le code suivant dessinera un triangle rouge pais tikz draw line width 2pt color re
151. n Prenez votre roman favori et jetez un ceil sur une page typique Vous verrez que la page est tres uniforme Rien n est la pour perturber le lecteur dans sa lecture pas de gros titres pas de texte en gras pas de grande plage blanche En fait m me quand l auteur veut mettre quelque chose en vidence on le fait avec des italiques De tels caract res se fondent correctement dans le texte principal de loin vous ne pourriez pas dire quelle page contient des italiques mais vous verriez imm diatement un seul mot en gras Si les romans sont typographi s comme cela c est pour suivre le paradigme vitez ce qui perturbe Une bonne typographie comme une bonne organisation est quelque chose que l on ne remarque pas Le boulot de la typographie est de rendre la lecture du texte c est dire l absorption des informations qu il contient aussi aisee que possible Pour un roman le lecteur absorbe le contenu en lisant le texte ligne a ligne comme s il coutait quelqu un lui racontant l histoire Dans ces circonstances tout ce qui dans la page emp che le regard d avancer rapidement et r guli rement d une ligne l autre rendra le texte plus difficile a lire Maintenant prenez un de vos magazines pr f r s ou un journal et regardez une page typique Vous remarquez que beaucoup de choses se passent sur la page Les polices sont utilis es des tailles diff rentes et dans des arrangements diff rents le texte es
152. n es La syntaxe est node name anchor Actuellement et aussi dans un avenir proche cela ne marchera pas entre diff rentes figures puisque TikZ perd la trace des positions quand il rend le contr le TEX Avec certain pilote il est possible de faire de la magie mais une implantation portable semble impossible pensez simplement un possible pilote pour SVG L option shorten gt raccourcit les lignes de 2pt la fin De m me on peut utiliser shorten lt pour raccourcir ou m me rallonger les lignes leur d but C est possible m me si on ne trace aucune fl che Il n est pas toujours n cessaire de d finir une ancre Si on ne donne pas d ancre TikZ tentera de lui m me de d finir une ancre raisonnable sur le bord si TikZ choue en trouver quelque chose d utile il utilisera le centre Voici un exemple typique begin tikzpicture begin scope shape circle minimum size 1cm fill examplefill tikzstylefevery node draw fill node q_A at 0 0 q_A node q_E at 6 0 q_E node q_1 at 2 0 q_1 node q_2 at 4 2 q_2 end scope Naraw ger ENDE CD EZ CED draw gt shorten gt 2pt q_A controls 75 1 4cm and 105 1 4cm node above x q_A end tikzpicture Dans l exemple on utilise la commande node qui est une abr viation de path node 31 4 Conseils a propos des graphiques Cette section ne concerne pas PGF ou TikZ mais donne quelques conseil
153. n ud enfant Toutefois la sp cification de n ud peut tre suivie d autres choses quelconques qui seront ajout es a la figure transform e dans le systeme de coordonn es de l enfant Pour vous faciliter la vie une operation d placer jusqu a 0 0 est ins r e automatiquement au d but du chemin Voici un exemple TACHE begin tikzpicture node racine child fill circle 2pt child fill circle 2pt end tikzpicture la fin du chemin enfant on peut ajouter une op ration sp ciale de chemin appel e edge from parent Si l on ne donne pas cette op ration quelque part sur le chemin elle sera ajout e automatiquement la fin Cette option fait qu une ar te reliant le noeud parent et le n ud enfant est ajout e au chemin En donnant des options a cette op ration on peut influer sur le rendu de cette ar te De plus les noeuds suivants cette op ration edge from parent seront plac s sur l ar te voir les d tails dans la section 12 6 p 103 Pour r sumer 1 Le chemin enfant commence avec une sp cification de n ud S il n y en a pas elle est ajout e automa tiquement 98 2 Le chemin enfant se termine avec une op ration edge from parent peut tre suivie de n uds placer sur l ar te Si on ne donne pas cette op ration la fin elle est ajout e automatiquement 12 3 Nommer les noeuds enfants On peut nommer les noeuds enfants comme tous les autres n uds soit avec option n
154. n graphique 95 inner ysep option graphique 95 INTERNE voir inner INTERPOLER voir plot join option graphique 75 LACHE POINTILLES voir Loose LARGEUR voir width LARGEUR DE TEXTE voir text width LARGEUR MINIMAL voir minimum width left option graphique 91 left color option graphique 83 level nombre style 100 level distance option graphique 101 LIGNE D AIDE voir help line LIGNE EN POINTILLES voir dashed line LIGNE JUSQU A voir line to after snake option graphique 60 around snake option graphique 60 line before snake option graphique 60 line width option graphique 75 LISSAGE voir smoothing LISSE voir smooth LONGEE LIGNE voir bordered loosely dashed style 76 loosely dotted style 76 line line mark option graphique 70 mark options option graphique 71 mark size option graphique 70 ARQUE voir mark Marques ball 70 ATRICE voir matrix ETTRE A L ECHELLE voir scale iddle color option graphique 83 idway style 93 ILIEU voir middle ILIEU ANCRE voir mid minimum height option graphique 95 minimum size option graphique 96 minimum width option graphique 96 BB mirror snake option graphique 60 MISE A JOUR voir update MISE L ECHELLE voir scale miter limit option graphique 75 MOTIF DE POINTILLES voir dash pattern N UD voir node name option graphique 86 near end style 93 near start style 93 nearly o
155. n le dessine Utiliser cette option avec l option fill ne cr e pas d erreur mais n a aucun sens tikz shade 0 0 circle 1ex e tikz shadedraw 0 0 circle lex On ne voit pas vraiment clairement comment certains d grad s pourront tre appliqu un chemin Par exemple le d grad ball ressemble normalement ceci Comment cela doit il tre appliqu un rectangle Ou un triangle Pour r soudre ce probl me les d grad s pr d finis comme ball balle ou axis axes remplissent compl tement un grand rectangle de mani re judicieuse Aussi quand un chemin est estomp ce qui se passe vraiment est que le chemin est utilis temporairement pour d couper et qu ensuite le d grad est appliqu au rectangle puis mis l chelle et d plac de telle sorte que toutes les parties du chemin soient remplies 10 4 1 Choisir un type de d grad Le d grad par d faut est une transition douce du gris au blanc appliqu e de haut en bas Toutefois d autres d grad s sont galement possibles par exemple un d grad qui tendra une couleur depuis le centre vers les coins Pour choisir le d grad on peut se servir de l option shading qui invoquera automatiquement l option shade Notez que cela ne change pas la couleur du d grad mais simplement la mani re dont la couleur est tendue Pour changer les couleurs on a besoin d autres options qui sont expliqu es ci dessous shading no
156. nces et Index 108 109 Index Cet index ne contient que des entr es cr es automatiquement Un bon index devrait contenir aussi des mots cl s soigneusement choisis Cet index n est pas un bon index op ration de chemin 58 op ration de chemin 59 op ration de chemin 59 cycle operation de chemin 63 plot op ration de chemin 67 operation de chemin 62 gt option graphique 78 EPAIS voir thick ETIQUETTE voir label A voir at A LA FIN voir at end A MI CHEMIN voir midway nom de forme option graphique 87 above option graphique 91 above left option graphique 91 above right option graphique 91 ACCOLADE voir curly brace AGRANDIR voir scale AIGU voir sharp anchor option graphique 90 ANCRE voir anchor ANGLET RACCORD voir miter APPLIQUER UN DEGRADE voir shade ARETE voir edge ARETE ISSUE DU CHEMIN PARENT voir edge from parent path ARBRE voir tree voir tree arc op ration de chemin 64 ARRIERE PLAN voir background ARRONDI EXTREMITE voir round ARRONDI RACCORD voir round ARRONDI ADJ voir rounded ARRONDI NOM voir rounding arrows option graphique 77 at end style 93 at start style 93 AU DEBUT voir at start AU DESSOUS voir below AU DESSUS voir above voir above AU DESSUS A GAUCHE voir above left AUCUN
157. ncore crits en rouge De plus les marges changeraient d une page a l autre Les lecteurs et les diteurs ne tol reraient pas qu un texte soit crit de cette facon mais ils tol rent ce genre de choses pour les graphiques Pour assurer une coh rence entre les graphiques et le texte suivez attentivement ces conseils Ne r duisez ni n agrandissez les graphiques Cela signifie que lorsque l on cr e une figure avec un programme externe on doit la cr er la bonne taille Utilisez la m me police dans la figure et le corps de texte Utilisez la m me largeur de trait dans le texte et les figures La largeur de ligne d un texte normal est l paisseur du fut d une lettre comme le T Pour TEX cela signifie habituellement 0 4 pt Toutefois quelques revues n accepteront pas de figures dont l paisseur du trait normal est inf rieure a 0 5 pt Lorsque vous utilisez des couleurs faites le en suivant un code de couleur coh rent tant dans le texte que dans les figures Par exemple si le rouge est sense attirer l attention du lecteur sur quelque chose dans le texte principal utilisez le dans les figures pour les parties importantes Si le bleu est utilis pour les l ments structurels tels que les titres de sections utilisez aussi le bleu pour les l ments structurels des figures Toutefois les figures peuvent faire usage d un code de couleur intrinseque et logique Par exemple quelq
158. nnement tikzpicture on peut cr er des port es l aide de l environnement scope Cet environnement n est disponible qu l int rieur d un environnement tikzpicture aussi une fois de plus il y a peu de chance de faire quelque chose de travers begin scope options contenu de l environnement end scope Toutes les options sont locales au contenu de l environnement De plus les d coupages de chemins sont aussi locaux l environnement c d que tout d coupage fait dans l environnement finit la fin de celui ci begin tikzpicture begin scope red draw Omm Omm 10mm Omm draw Omm imm 10mm imm end scope draw Omm 2mm 10mm 2mm begin scope green draw Omm 3mm 10mm 3mm draw Omm 4mm 10mm 4mm draw blue Omm 5mm 10mm 5mm end scope end tikzpicture Les styles suivants influent sur les port es style every scope Ce style est install au d but de chaque port e Je ne sais pas vraiment quoi a peut servir mais qui sait Les options suivantes sont utiles dans les port es execute at begin scope code Cette option installe du code qui sera ex cut au d but de la port e Cette option doit tre donn e dans l argument de l environnement scope L effet ne s applique qu la port e courante et pas aux sous port es execute at end scope code Cette option installe du code qui sera ex
159. ns l exemple suivant A gauche on cr e deux triangles avec trois segments de droite mais ils ne sont pas joints aux extr mit s A droite on utilise une op ration cycle AA AA begin tikzpicture line width 10pt Narav 0 0 1 1 1 0 0 0 2 0 3 1 3 0 2 0 erer 6 ORDER Cycle ON DEZE 0 cycle useasboundingbox 0 1 5 agrandit la boite cadre end tikzpicture 9 5 L op ration rectangle On peut videmment cr er un rectangle avec quatre lignes droites et une op ration cycle Toutefois comme on a besoin si souvent de rectangles on dispose pour eux d une syntaxe sp ciale path rectangle coin Quand on utilise cette operation le point courant donne un coin l autre coin est donn par coin qui devient le nouveau point courant begin tikzpicture draw 0 0 rectangle 1 1 draw 5 1 rectangle 2 0 5 3 0 rectangle 3 5 1 5 2 0 end tikzpicture 9 6 Arrondir les coins Toutes les op rations de construction de chemin vues jusqu ici peuvent tre influenc es par les options suivantes rounded corners insert Quand cette option est en vigueur tous les coins endroits o une ligne est continu e soit par une op ration ligne jusqu ou courbe jusqu sont remplac s par de petits arcs de telle sorte que les coins soient lisses tikz draw rounded corners 0 0 1 1 NN 2 0 controls 3 1 4 0 L
160. nsformation au milieu du chemin une ca racteristique que n a ni PDF ni PostScript La raison en est que PGF garde la trace de sa propre matrice de transformation Voici un exemple plus complexe begin tikzpicture even odd rule rounded corners 2pt x 10pt y 10pt filldraw fill examplefill 0 0 rectangle 1 1 xshift 5pt yshift 5pt 0 0 rectangle 1 1 rotate 30 1 1 rectangle 2 2 end tikzpicture Les transformations les plus utiles sont xshift et yshift pour d placer shift pour d placer jusqu un point donn comme dans shift 1 0 ou shift 0 0 les accolades sont n cessaires pour que TEX ne prenne pas les virgules comme s parateurs d options rotate pour faire tourner d un certain angle il y a galement un rotate around pour faire tourner autour d un point donn scale pour agrandir ou r tr cir d un certain facteur xscale et yscale pour agrandir uniquement parall lement l axe des x ou l axe des y xsacle 1 est une sym trie axiale et xslant et yslant pour incliner Si ces transformations et celles que je n ai pas mentionn es ne suffisent pas l option cm permet d appliquer une matrice de transformation arbitraire Les tudiants de Karl au passage ne savent pas ce qu est une matrice de transformation 3 19 R p ter boucles pour Le but suivant de Karl est d ajouter des graduations sur les axes aux emplacements 1 1 2 1 2 et 1 Pour ce faire il lui serait agr
161. nt tre utilis es avec beaucoup de prudence et produisent souvent de mauvais graphiques en changeant l epaisseur des lignes et des textes de facon inad quate De plus PGF perd la trace des noeuds et des formes lorsque de telles transformations de la toile sont utilis es Pour plus de d tails sur les diff rences entre les transformations de coordonn es et celles de la toile voir la section p 47 7 La structure hi rarchique Extension environnements port es et styles La pr sente section explique comment les fichiers devraient tre structur s quand on utilise TikZ Au niveau sup rieur on doit inclure l extension tikz Dans le texte principal chaque graphique doit tre plac dans un environnement tikzpicture Dans ces environnements on peut utiliser des environnements scope pour cr er des groupes internes Dans ces port es scope on utilise les commandes path pour dessiner effectivement quelque chose tous les niveaux sauf celui de l extension on peut passer des options graphiques qui s appliquent tout ce qui est plac dans l environnement 7 1 Charger l extension usepackage tikz EX input tikz tex 7 plain TX input tikz tex ConTXt Cette extension n a pas d option Cela chargera automatiquement l extension PGF et plusieurs autres trucs dont TikZ a besoin comme l extension xkeyval PGF doit savoir quel pilote TEX on a l intention d utiliser Dans la plupart des c
162. nt parall eles c a d color red AB mathbin color blue CD alors alpha delta et beta gamma end scope end tikzpicture 43 6 Principes de conception Cette section d crit les principes de conception qui sous tendent l interface TikZ o TikZ signifie TikZ ist kein Zeichenprogramm Pour utiliser TikZ un utilisateur de ATEX crit usepackage tikz quelque part dans le pr ambule un utilisateur de TEX crit input tikz tex Le boulot de TikZ est de vous faciliter la vie en fournissant une syntaxe facile apprendre et utiliser pour d crire des graphiques Les commandes et la syntaxe de TikZ ont influenc es par de nombreuses sources Le noms des commandes de base et la notion d op rations de chemin sont pris dans METAFONT le m canisme d options vient de PSTICKS la notion de style est une r miniscence de SVG Pour que tout cela marche ensemble il faut quelques compromis J ai aussi ajout quelques id es de mon cru comme les m ta fl ches et les transformations de coordonn es Les principes de conception de base suivant sous tendent TikZ Syntaxe sp ciale pour d finir des points Syntaxe sp ciale pour d finir des chemins Actions sur les chemins Syntaxe cl valeur pour les param tres graphiques Syntaxe sp ciale pour les n uds Syntaxe sp ciale pour les arbres Groupement de param tres graphiques QE ENT CON SET TA ID Syst me de transformation d
163. nt mais pas tout le chemin enfant comme options de la commande node dans le chemin enfant begin tikzpicture path Lee Options pour l arbre entier node racine Options pour le seul n oe ud racine Bl Options pour tous les enfants child Options pour cet enfant et tous ses descendants node Options pour ce n oe ud enfant seulement child Options pour cet enfant et tous ses descendants gt end tikzpicture Des styles suppl mentaires influent sur le rendu des enfants style every child Ce style est utilis au d but de chaque enfant comme si on passait les options l op ration child style every child node Ce style est utilis au d but de chaque n ud enfant en plus du style every node style level nombre Ce style est utilis au d but de chaque ensemble d enfants pour lequel nombre est le niveau courant dans l arbre courant Par exemple si on crit node x child child alors le style level 1 est utilis avant le premier child Si ce premier enfant a lui m me des enfants alors le level 2 sera utilis pour eux begin tikzpicture tikzstyle level 1 sibling distance 20mm tikzstyle level 2 sibling distance 5mm node racine child child child child child child child end tikzpicture racine 12 5 Placer les noeuds enfants La partie la plus difficile du dessin d un arbre est peut tre le placement correct des enfants Typique m
164. nt recr a la vol e pour chaque plot N B Si l on a l intention de partager ses fichiers on utilisera toujours un identificateur id afin que les fichiers puissent tre trait s sans que GNUPLOT soit install Par ailleurs un identifiant unique pour chaque courbe am liore la vitesse de compilation puisque aucun programme externe n est appel moins que ce ne soit vraiment n cessaire Quand on utilise plot function formule pour gnuplot la formule pour gnuplot doit respecter la syntaxe de gnuplot dont les details sont hors de la port e de ce manuel Voici l essentiel ultracondense utiliser x comme variable et la syntaxe de C pour les courbes normales et utiliser t comme variable pour les courbes param triques Voici quelques exemples f x f x x gt X fie sing begin tikzpicture domain 0 4 draw very thin color gray 0 1 1 1 grid 3 9 3 9 draw gt 0 2 0 4 2 0 node right x draw gt 0 1 2 0 4 2 nodelabove f x draw color red plot id x function x node right f x x draw color blue plotlid sin function sin x node right f x sin x draw color orange plot id exp function 0 05 exp x nodelright f x frac 1 20 mathrm e x end tikzpicture 15 NdTdS Les courbes repr sentatives d une fonction d une variable 69 Les options suivantes agissent sur plot samples nombre d
165. o tend le chemin courant du point courant en ligne droite jusqu la coordonn e donn e Le point courant et le point final de l op ration de dessin pr c dente ou le point d fini par une op ration d placer jusqu a pr alable On utilise deux signe moins suivis par une coordonn e entre parenth ses On peut placer des espaces avant et apres le Quand on utilise une op ration ligne jusqu a et que un segment de chemin vient juste d tre construit par exemple par une autre op ration ligne jusqu a les deux segments sont joints Cela signifie que s ils sont dessin s le point o ils se rencontrent est joint avec souplesse Pour appr cier la difference consid rons les deux exemples suivants a gauche le chemin est constitu de deux segments qui ne sont pas joints mais qui se trouvent partager un point droite on montre un joint souple begin tikzpicture line width 10pt draw 0 0 1 1 1 1 2 0 draw 3 0 4 1 5 0 useasboundingbox 0 1 5 agrandit la bo te cadre end tikzpicture 58 9 2 2 Droites horizontales et verticales Parfois on veut joindre des points par des segments de droites qui soient uniquement horizontales et verticales Pour cela on peut utiliser deux op rations de construction de chemin path coordonnee Cette operation signifie d abord horizontal puis vertical begin tikzpicture B dra
166. ode gauche child node droite child node enfant gauche droite child node enfant 7 end tikzpicture racine Dans TikZ on d finit les arbres en ajoutant des enfants un n ud situ sur un chemin l aide de Vop ration child enfant path child options foreach variables in valeurs chemin enfant Cette operation devrait suivre directement une operation node complete ou une autre operation child quoiqu il soit permit de faire pr c der la premi re op ration child d options ce que nous verrons plus loin Quand une op ration node comme node X est suivie par child TikZ commence compter le nombre de noeuds enfants qui suivent le noeud d origine node X Pour cela il analyse l entr e et stocke chacun des childs et leurs arguments jusqu ce qu il rencontre une op ration de chemin qui ne soit pas un child Notez que cela fixe les codes de caract res catcode de tous les textes situ s dans les arguments des enfants il en d coule que essentiellement on ne peut pas utiliser de texte verbatim dans les noeuds int rieurs un child D sol Quand les enfants ont t group s et compt s TikZ entame la cr ation des n uds enfants Pour chaque enfant d un n ud parent TikZ calcule une position appropri e pour placer l enfant Pour chaque enfant il transforme le syst me de coordonn es de telle sorte que l origine soit plac e cette position Puis le chemin
167. olor blue 3 0 2 1 Par d faut la commande path ne fait rien avec le chemin elle ne fait que le jeter Ainsi si l on crit path 0 0 1 1 rien n est dessin dans la figure L unique effet est que la surface occup e par la figure pourra peut tre tre agrandie afin que le chemin tienne dedans Pour faire r ellement quelque chose avec le chemin on doit donner quelque part sur le chemin une option comme draw ou fill Une commande comme draw le fait de mani re implicite Enfin on peut donner aussi des d finitions de n ud sur un chemin De telles d finitions peuvent tre plac es a diff rents endroits mais elles sont toujours accept es quand une op ration normale de chemin devrait suivre Une d finition de n ud commence avec node En gros l effet en est de typographier le texte du n ud comme du texte normale pour TFX et de le placer sur le chemin la position courante Les d tails sont donn s dans la section 11 p 86 Remarquez toutefois que les noeuds ne font en aucun cas partie du chemin Bien plutot lorsque tout a t fait avec le chemin c d tout ce qui a t d fini par les options de chemin comme remplissage 57 et tra age du chemin du fait d une option fill ou draw plac e quelque part dans la d finition les noeuds sont ajoutes dans un post traitement Les styles suivants influent sur les portees on path Ce style est install au d but de chaqu
168. olor blue cos alpha intersection of 0 0 30 1cm and 1 0 1 1 coordinate t draw 0 0 t foreach x xtext in 1 0 5 frac 1 2 1 draw x cm ipt x cm ipt node anchor north fill white xtext foreach y ytext in 1 0 5 frac 1 2 0 5 frac 1 2 1 draw ipt y cm 1pt y cm node anchor east fill white ytext end tikzpicture On peut placer les tiquettes sur les courbes et en ajoutant l option sloped d clive en pente faire qu elles soient tourn es de telle sorte qu elles suivent la pente de la courbe Voici un exemple 28 near start midway Ve TY near end begin tikzpicture draw 0 0 controls 6 1 and 9 1 node near start sloped above near start node midway node very near end sloped below very near end 12 0 end tikzpicture Il reste a crire le texte explicatif sur la droite de la figure La difficult principale ici est de limiter la largeur de l tiquette textuelle qui est assez longue ce qui pousse utiliser la coupure de ligne Heureusement Karl peut utiliser l option text width 6cm pour obtenir l effet voulu Ainsi voici le code complet 29 begin tikzpicture scale 3 cap round Local definitions def costhirty 0 8660256 Colors colorlet anglecolor green 50 black colorlet sincolor red colorlet tancolor orange 80 black colorlet coscolor blue Styles tikzstylefaxes
169. onnelle cr e plus de travail pour le port de PGF sur un nouveau pilote Actuellement seuls les pilotes produisant du PostScript ou du PDF sont g r s et seulement quelques uns d entre eux ce qui fait que le nom de format graphique portable est actuellement un peu une vantardise Toutefois en principe la couche syst me pourrait tre port e facilement vers de nombreux autres pilotes Il devrait m me tre possible de produire par exemple du SVG en collaboration avec TEX4HT En temps qu utilisateur vous n utiliserez pas directement la couche syst me Couche de base La couche de base fournit un jeu de commandes de base qui vous permettent de produire des graphiques complexes plus simplement qu en utilisant la couche syst me directement Par exemple la couche syst me ne fournit aucune commande pour cr er des cercles puisque les cercles peuvent tre compos s enfin presque partir des courbes de B zier plus fondamentales Toutefois en tant qu utilisateur vous aimeriez certainement avoir une commande simple de cr ation de cercles moi en tout cas j aimerais au lieu d avoir crire une demi page de coordonn es de points de d finition de courbes de B zier Aussi la couche de base fournit la commande pgfpathcircle qui engendre les coordonn es n cessaires pour vous La couche de base est compos e d un noyau core comportant plusieurs extensions interd pendantes qu on ne peut charger qu en bloc et d extens
170. os jours presque tous les dvi contiennent des tas de commandes sp ciales Il faut donc que l on dise TEX quel programme sera utilis ensuite Malheureusement il n y a pas de fa on standard de le dire TEX Dans le format TEX il existe un m canisme complexe l int rieur de l extension graphics et PGF s y raccroche Pour les autres formats et quand on ne peut pas se raccrocher au m canisme pr c dent de mani re fiable il faut dire directement PGF quel programme on va utiliser On le fait en red finissant la macro pgfsysdriver avec une valeur ad quate avant de charger pgf Si l on utilise le programme dvips on donne la macro la valeur pgfsys dvips def si l on utilise pdftex ou pdflatex on donne la valeur pgfsys pdftex def et ainsi de suite Dans ce qui suit on traite des d tails de la gestion des diff rents logiciels 5 2 2 Produire du PDF PGF g re trois programmes qui produisent du PDF PDF signifie portable document format format de document portable et a t invent par la soci t Adobe dvipdfm pdftex et vtex Le programme pdflatex est identique pdftex il utilise un format diff rent d entr e mais la sortie est exactement la m me Fichier pgfsys pdftex def C est le fichier de pilote utiliser avec pdf TFX c est dire avec la commande pdftex ou pdflatex Il contient pgfsys common pdf def Ce pilote est fonctionnellement complet ce qui signifie que tout c
171. ouillage coup de aftergroup sert r tablir la couleur apr s le groupe Comme signal pr c demment l option color s applique tout sauf au d grad ce qui n est pas toujours ce que l on veut cause de cela il existe plusieurs options de coloriage plus sp cialis es Par exemple l option draw fixe la couleur du trac mais ne modifie pas celle utilis e pour remplir Ces options de couleur sont document es l o sont d crites les actions de chemin sur lesquelles elles agissent 10 2 Dessiner un chemin On peut dessiner un chemin avec l option suivante draw color Fait que le chemin est dessin L action de dessiner alias tracer peut tre vue comme l action de prendre un crayon et de le d placer le long du chemin et ce faisant laisser de l encre sur la toile De nombreux param tres influent sur la mani re dont une ligne est dessin e comme l paisseur ou le motif de pointill s On expliquent ces options ci dessous Si l on passe l argument facultatif couleur le dessin est r alis avec cette couleur Cette couleur peut tre diff rente de celle utilis e pour remplir cela permet de dessiner et remplir un chemin avec des couleurs diff rentes Si aucun argument couleur n est donn on utilise la valeur de la derni re option color Si l on passe le nom sp cial de couleur none aucun cela entra ne que le dessin est d sactiv Cela est utile
172. our r f rence ult rieure Comme c est un nom de haut niveau les pilotes n en conna tront jamais rien on peut utiliser des espaces des nombres lettres ou tout autre signe dans le nom du n ud Ainsi on peut nommer un n ud simplement 1 ou peut tre d but de graphe ou encore y_1 Le nom de n ud ne doit pas contenir de point de virgule de deux point car ceux ci servent d tecter le type de coordonn es utilis es quand on fait r f rence au n ud Les options sont donn es sous la forme d une liste facultative d options qui ne s appliquent qu au n ud et n ont pas d effet en dehors D un autre c t la plupart des options externes s appliquent aussi au n ud mais pas toutes Par exemple la rotation externe ne s applique pas au n ud moins que quelques options sp ciales soient utilis es soupir De m me les actions de chemin externes comme draw ou fill ne s appliquent jamais au n ud et doivent tre donn es dans le n ud moins que certaines autres options sp ciales ne soient utilis es soupir profond Comme signal pr c demment on peut ajouter une bordure et m me un arri re plan un n ud tikz fill fill examplefill 0 0 node first node 1 1 node draw second node 0 2 node fill red 20 draw double rounded corners third node 86 La bordure est en fait simplement un cas special d un m canisme beaucoup plus general Chaque n ud
173. ouvent plus utiles pour d placer des objets que des positions relatives gt begin tikzpicture scale 0 5 draw 0 0 90 1cm arc 90 360 1cm arc 0 30 1cm cycle draw 60 5pt 30 1cm arc 30 90 1cm cycle draw 3 0 0 1cm 72 1cm 144 1cm 216 1cm 288 1cm cycle end tikzpicture 3 16 Ajouter des pointes de fleches Karl veut maintenant ajouter les petites pointes de fleche au bout des axes Il a remarqu que dans de nombreuses figures m me dans des journaux scientifiques ces pointes semblent manquer peut tre parce que les programmes qui ont cr les graphiques ne peuvent pas les produire Karl pense qu il doit y avoir des pointes au bout des axes Son fils est d accord Ses tudiants ne s occupent pas des fl ches Il se trouve qu ajouter des fleches est plut t simple Karl ajoute l option gt aux commandes de trace des axes T begin tikzpicture scale 3 clip 0 1 0 2 rectangle 1 1 1 51 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw gt 1 5 0 1 5 0 draw gt 0 1 5 0 1 5 draw 0 0 circle 1cm filldraw fill green 20 draw green 50 black 0 0 3mm Omm arc 0 30 3mm cycle draw red very thick 30 1cm 0 0 5 draw blue very thick 30 1cm 0 0 5 0 0 draw orange very thick 1 0 intersection of 1 0 1 1 and 0 0 30 1cm end tikzpicture 23 Si Karl avait uti
174. paque style 77 nearly transparent style 77 node 73 node op ration de chemin 86 nodepart 88 NOM voir name nonzero rule option graphique 80 NORD voir north NORD EST voir north east NORD OUEST voir north west only marks option graphique 72 Op rations de chemin 58 59 I 59 cycle 63 plot 67 62 arc 64 child 97 circle 64 coordinate 87 cos 67 edge from parent 103 ellipse 64 grid 65 node 86 parabola 65 plot 67 rectangle 63 sin 66 vide 58 OPACITE DE REMPLISSAGE voir fill opacity opacity option graphique 77 opaque style 77 Options graphiques gt 78 nom de forme 87 above 91 above left 91 above right 91 anchor 90 arrows 77 ball color 83 baseline 49 below 91 below left 91 below right 91 bend 66 bend pos 66 bottom color 82 cap 75 child anchor 104 112 clip 84 color 74 color option 74 dash pattern 76 dash phase 76 domain 70 double 79 double distance 79 draw 74 draw opacity 76 edge from parent path 103 even odd rule 80 execute at begin picture 49 execute at begin scope 50 execute at end picture 49 execute at end scope 50 fill 79 fill opacity 81 font 88 gap after snake 60 gap around snake 60 gap before snakes 60 grow 102 grow 103 growth function 103 id 70 inner color 83 inner sep 95 inner xsep 95 inner ysep 95 join 75 left 91 left colo
175. parent l operation edge from parent a un autre effet les options sont ins r es directement avant l ar te issue du chemin parent et le style suivant est install avant l insertion du chemin style edge from parent Ce style est ins r juste avant l ar te issue du chemin parent et avant que les options soient ins r es Par d faut il se contente de dessiner l ar te issue du parent mais on peut s en servir pour modifier l aspect de l ar te ME begin tikzpicture i tikzstylefedge from parent draw red thick node racine child node gauche edge from parent dashed z child node droite gauche droite child node enfant child node enfant edge from parent draw none 4 end tikzpicture enfant enfant Note les options ins r es avant que soit ajout e l ar te issue du chemin parent s appliquent tout le chemin enfant Aussi on ne peut par par exemple dessiner un cercle en rouge comme partie d un chemin enfant et obtenir une ar te bleue Toutefois comme toujours le n ud enfant est un n ud et peut tre dessin d une fa on compl tement diff rente Enfin l op ration edge from parent a encore un effet elle force le placement de tous les n uds suivant l op ration sur l ar te Cet effet est celui que l on aurait si l on ajoutait l option pos tous ces n uds voir la section 11 6 1 p 92 En guise d exemple regardons le code suivant
176. patibilit avec PSTRICKS et n est pas destin e a le devenir L interface pgfpict2e r implante l environnement picture et les commandes telles que line ou vector de ATEX en utilisant la couche de base de PGF Cette couche n est pas vraiment n cessaire puisque l extension pict2e sty r alise un travail au moins aussi bon pour une reimplantation de l environnement picture En fait l idee qui est derriere la cr ation de cette extension est de faire une d monstration simple de la maniere d implanter une interface Il aurait t possible de cr er une interface pgftricks qui aurait li les commandes de PSTRICKS aux commandes de PGF Toutefois je ne l ai pas fait et m me si c tait totalement implant de nombreuses choses qui fonctionnent dans PSTRICKS ne marcheraient pas de fait certaines commandes de PSTRICKS s appuient trop sur des trucs de PostScript N anmoins une telle extension pourrait pr senter un int r t dans certaines circonstances En tant qu utilisateur de PGF vous utiliserez les commandes de l interface plus peut tre quelques com mandes de la couche de base Pour cette raison ce manuel pr sente d abord les interfaces puis la couche de base et enfin la couche systeme 1 2 Comparaison avec d autres extensions graphiques Il y avait deux raisons principales pour cr er PGF 1 L environnement standard de ATRX picture n est pas assez puissant pour cr er autre c
177. phique Puis jusqu la fin de la figure chaque commande de la couche syst me cr e un sp cial qui ins re le texte litt ral Al SVG approprie dans le fichier de sortie Les details exacts sont un peu plus complexes puisque le modele d image et de processus de PostScript PDF et ceux de SVG ne sont pas tout a fait les m mes mais ils sont suffisamment proches pour les buts de PGF 42 Deuxieme partie TikZ n est pas un programme de dessin Quand nous faisons l hypoth se que AB et sont parall les c d AB alors a et b 7 E begin tikzpicture draw fill yellow 0 0 60 75cm arc 60 180 75cm draw 120 0 4cm node alpha draw fill green 30 0 0 right 75cm arc 0 60 75cm draw 30 0 5cm node beta begin scope shift 60 2cm draw fill green 30 0 0 180 75cm arc 180 240 75cn draw 30 0 5cm node gamma draw fill yellow 0 0 240 75cm arc 240 360 75cm draw 60 0 4cm node delta end scope begin scope thick draw 60 1cm node fill white E 60 3cm node fill white F draw red 2 0 node left A 3 0 node right B draw blue shift 60 2cm 3 0 node left C 2 0 nodelright D draw shift 60 1cm xshift 4cm node right text width 6cm rounded corners fill red 20 inner sep 1ex Quand nous faisons l hypoth ese que color red AB et color blue CD so
178. ple 19 begin tikzpicture scale 3 clipldraw 0 5 0 5 circle 6cn draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 draw 0 0 circle 1cm draw 3mm Omm arc 0 30 3mm end tikzpicture 3 12 Construction de chemin parabolique ou sinusoidal Bien que Karl n en ait pas besoin pour son graphique il est content d apprendre qu il y a des op rations de chemin parabola parabole sin et cos pour ajouter des courbes paraboliques ou sinusoidales au chemin courant Pour l op ration parabola le point courant sera sur la parabole ainsi que le point donn apres l operation Consid rons l exemple suivant J tikz draw 0 0 rectangle 1 1 0 0 parabola 1 1 On peut aussi placer le sommet ailleurs f tikz draw x 1pt y 1pt 0 0 parabola bend 4 16 6 12 Les op rations sin et cos ajoutent une courbe d equation y sin x ou y cos x pour x dans l intervalle 0 7 2 de telle sorte que le point courant soit le point de d part de la courbe et que celle ci finisse au point donn Voici deux exemples Une sinusoide Une sinusoide tikz draw x 1ex y 1ex 0 0 sin 1 57 1 DJL tikz draw x 1 57ex y 1ex 0 0 sin 1 1 cos 2 0 sin 3 1 cos 4 0 0 1 cos 1 0 sin 2 1 cos 3 0 sin 4 1 3 13 Tracer et colorier Revenant la figure Karl veut maintenant colorier l angle avec un vert tr s p le Pour cela il
179. plefill even odd rule 0 0 rectangle 1 1 0 5 0 5 circle 0 4cm draw gt 0 5 0 5 0 1 above node crossings 1 1 2 end tikzpicture crossings 1 1 2 80 10 3 2 Param tres graphiques Fill Opacity opacit de remplissage De la m me mani re qu avec draw opacity on peut fixer l opacit du remplissage fill opacity valeur Cette option fixe l opacit amp des remplissages Outre les op rations de remplis sage cette option concerne aussi le texte et les images Notez une fois de plus que si l on utilise PostScript comme format de sortie cette option ne marche qu avec des versions r centes de GhostScript begin tikzpicture thick fill opacity 0 5 filldraw fill red O 1cm circle 12mm filldraw fill green 120 1cm circle 12mm filldraw fill blue 120 1cm circle 12mm end tikzpicture begin tikzpicture fillfred 0 0 rectangle 3 2 node at 0 0 huge A node fill opacity 0 5 at 3 2 huge B end tikzpicture 10 4 Appliquer un d grad un chemin On peut appliquer un d grad 7 un chemin avec l option shade litt ralement ombre Un d grad ressemble un remplissage mais le d grad change de couleur doucement d une couleur une autre shade Fait que l on applique au chemin le d grad courant plus de d tails plus loin Si cette option est utilis e avec l option draw alors on applique un d grad au chemin puis o
180. ples 25 plot sin x Ce peut tre utile pour passer des choses compliqu es GNUPLOT Toutefois pour des situations vraiment difficiles on devrait cr er un fichier GNUPLOT externe sp cial et utiliser la syntaxe de fichier pour inclure la table la main Les styles suivants influent sur plot style every plot Ce style est install dans chaque plot c d comme si l on crivait plot style every plot C est particulierement utile pour d finir globalement un pr fixe pour tous les plots avec tikzstylefevery plot prefix plots 9 12 4 Placer des marques sur une courbe Comme on l a d j vu on peut ajouter des marques sur une courbe avec l option mark Quand on utilise cette option une copie de la marque est plac e chaque point tabul On notera que les marques sont plac es apr s que tout le chemin a t dessin rempli estomp A cet gard elles sont trait es comme le texte des noeuds Dans le detail les options suivantes precisent la facon dont les marques sont trac es mark symbole de marque Met en vigueur le symbole de marque pr c demment d fini avec pgfdeclareplotmark Par d faut on dispose de et x qui sont rendus par un disque un signe plus et une croix Bien d autres marques sont disponibles lorsque on a charg la bibliotheque pgflibraryplotmarks La sec tion p donne la liste des marques disponibles Une marque est sp ciale la marque ball bal
181. quand l op ration suivante de chemin est rencontr e path edge from parent options Cette op ration de chemin ne peut tre utilis e qu l int rieur d un chemin enfant et devrait tre donn e la fin ventuellement suivie par des sp cifications de n ud nous verrons cela plus loin Si un chemin enfant ne contient pas cette op ration elle est ajout e automatiquement sa fin Cette op ration a plusieurs effets Le plus important est qu il ins re l ar te issue du chemin parent dans le chemin enfant L ar te issue du chemin parent peut tre modifi e l aide de l option suivante edge from parent path chemin Cette option permet de d finir le nouveau chemin donnant la forme de l ar te issue du chemin parent Par d faut on a tikzparentnode tikzparentanchor tikzchildnode tikzchildanchor tikzparentnode est une macro qui sera d velopp e en le nom du n ud parent Cela marche m me quand on n a pas nomm le n ud parent car dans ce cas un nom interne est cr automatiquement tikzchildnode est une macro qui se d veloppe en le nom du n ud enfant Donc ce qui est ins r essentiellement n est que le segment de chemin tikzparentnode tikzchildnode c est exactement une ar te reliant le parent l enfant 103 On peut modifier cette ar te issue du chemin parent pour obtenir toutes sortes d effets Par exemple on peut remplacer la droite p
182. que Par comparaison Regenerative et Wind sont tr s intimement reli s Le code de couleur du graphique ne suit aucune structure logique Pourquoi l energie nucl aire en vert L nergie renouvelable est en bleu p le les autres sources en bleu On a presque l impression d une plaisanterie quand on voit que la surface pour Braunkohle qui se traduit litt ralement par charbon marron est en gris pierre alors que la surface pour Steinkohle qu on traduit litt ralement par charbon de pierre est marron La surface qui a la couleur la plus claire est utilis e pour Erdgas Cette surface est celle qui ressort le plus cause de cette couleur plus lumineuse Toutefois pour ce diagramme Erdgas n est pas important du tout Edward Tufte appelle les diagrammes comme celui qui pr c de diagrammes de pacotille Voici quelques conseils qui pourraient vous aider viter de produire des diagrammes de pacotille Ne pas utiliser de diagramme circulaire en 3D C est mal Envisager d utiliser une table au lieu d un diagramme circulaire Ne pas appliquer les couleurs au petit bonheur la chance les utiliser pour guider l attention du lecteur et pour grouper les choses Ne pas utiliser de motifs d arri re plan comme des hachures ou des diagonales au lieu de couleurs Ces motifs perturbent De tels motifs dans un diagramme instructif sont mal 37 4 8 Attention et distractio
183. r 83 level distance 101 line after snake 60 line around snake 60 line before snake 60 line width 75 mark 70 mark options 71 mark size 70 middle color 83 minimum height 95 minimum size 96 minimum width 96 mirror snake 60 miter limit 75 name 86 nonzero rule 80 only marks 72 opacity 77 outer color 83 outer sep 95 outer xsep 95 outer ysep 95 parabola height 66 parametric 70 parent anchor 104 polar comb 72 pos 92 prefix 70 raise snake 60 raw gnuplot 70 right 91 right color 83 rounded corners 63 samples 70 segment amplitude 61 segment angle 61 segment aspect 62 segment length 61 segment object length 61 set style l shade 81 shading 81 shading angle 82 shape 87 sharp corners 64 sharp plot 71 shorten lt 78 shorten gt 78 sibling distance 101 sloped 93 smooth 71 smooth cycle 71 snake 59 step 65 style 51 tension 71 text 88 text badly centered 90 text badly ragged 89 text centered 90 text justified 89 text opacity 88 text ragged 89 text width 89 top color 82 transform shape 92 use as bounding box 83 xcomb 72 xstep 65 ycomb 72 ystep 65 Options pour extensions voir Extensions options Options pour graphiques voir Options graphiques OUEST voir west outer color option graphique 83 outer sep option graphique 95 outer xsep option graphique 95 outer ysep option graphique 95
184. r sincolor sine of alpha which is the height of the red line is C color sincolor sin alpha 1 2 By the Theorem of Pythagoras end tikzpicture 3 21 N uds Placer du texte une position donn e n est qu un cas sp cial d un m canisme sous jacent plus g n ral Lorsque l on crit draw 0 0 node texte ce qui arrive en fait est que un n ud rectangulaire ancr en son centre est plac la position 0 0 Par dessus le n ud rectangulaire le texte texte est trac Puisque aucune action n est d finie pour le rectangle comme draw ou fill le rectangle est en fait jet et seul le texte est montr Toutefois en ajoutant fill ou draw on peut rendre visible la forme sous jacente De plus on peut changer la forme en utilisant par exemple shape circle ou juste circle Si on charge l extension pgflibraryshapes on dispose galement de ellipse 30 begin tikzpicture path 0 0 node ellipse fill examplefill draw hi hello world 0 5 2 node circle shade ball color examplefill h2 hello world draw gt shorten gt 2pt hi north h2 south end tikzpicture Comme le montre l exemple ci dessus on peut ajouter un nom un n ud en le pla ant entre parenth ses entre le node et le tezte on peut galement utiliser l option name Cela fera que TikZ se rappellera de n ud et de toutes ses ancres On peut faire r f rence ces ancres lorsque l on d finit des coordon
185. re style 49 every plot style 70 every scope style 50 execute at begin picture option graphique 49 at begin scope option graphique 50 at end picture option graphique 49 at end scope option graphique 50 EXTENSION voir package voir package Extensions et fichiers pgfsys dvipdfm def 40 pgfsys dvips def 41 pgfsys pdftex def 40 pgfsys tex4ht def 41 pgfsys textures def 41 pgfsys vtex def 40 tikz 48 EXTERNE voir outer EXTREMITE voir cap execute execute execute Fichier voir Extensions et fichiers FICHIER voir file FIGURE voir picture fill 73 fill option graphique 79 fill opacity option graphique 81 filldraw 73 FIN voir thin FLECHE voir arrow FLUX voir stream FONCTION DE CROISSANCE voir growth function font option graphique 88 FORME voir shape FRONTIERE voir border 111 gap after snake option graphique 60 gap around snake option graphique 60 gap before snakes option graphique 60 GAUCHE A voir left GENRE voir kind GESTION DE PAGES voir page management GRANDIR voir grow GRAPHIQUE voir graphic grid op ration de chemin 65 grow option graphique 102 grow option graphique 103 growth function option graphique 103 HAUTEUR voir height HAUTEUR MINIMALE voir minimun height help lines style 65 HOMOTHETIE voir scale id option graphique 70 inner color option graphique 83 inner sep option graphique 95 inner xsep optio
186. rnit une abstraction complete des m canismes internes des pilotes sous jacents A moins que vous ne vouliez cr er un autre pilote pour PGF ou que vous d siriez crire votre propre interface optimis e vous n avez pas besoin de lire cette partie Dans la suite on consid re que vous tes familier de la mani re dont fonctionne l extension graphics et que vous connaissez ce que sont les pilotes TEX et comment ils travaillent 107 Se s 2 3 4 5 S x yi 15 gt 16 gt 17 gt 18 gt 19 gt t 00o 98 begin tikzpicture shorten gt 1pt gt tikzstyle vertex circle fill black 25 minimum size 17pt inner sep 0pt foreach name x in s 1 2 2 3 3 4 4 15 11 16 12 17 13 18 14 19 15 t 16 node vertex G name at x 0 name foreach name angle text in P 1 234 5 P 2 162 6 P 3 90 7 P 4 18 8 P 5 54 9 node vertex xshift 6cm yshift 5cm name at angle 1cm text foreach name angle text in Q 1 234 10 Q 2 162 11 Q 3 90 12 Q 4 18 13 Q 5 54 14 node vertex xshift 9cm yshift 5cm name at angle icm text foreach from to in s 2 2 3 3 4 3 4 15 16 16 17 17 18 18 19 19 t draw G from G to foreach from to in 1 2 2 3 3 4 4 5 5 1 1 3 2 4 3 5 4 1 5 2 draw P from P to draw Q from Q to draw G 3 controls 30 2cm and 150 1cm Q 1 draw Q 5 6 15 end tikzpicture Sixieme partie R f re
187. roche TEXienne de la typographie pour vos graphiques aussi cr ation rapide de graphiques simples positionnement pr cis utilisation de macros typographie souvent meilleure Vous h ritez galement de tous les inconv nients apprentissage pente rude pas de WYSIWYG n cessit d un temps long de recompilation pour de petits changements et le fait que le code ne montre pas vraiment l aspect qu auront les choses 1 1 Structure du systeme Le systeme de PGF comporte plusieurs couches Couche systeme Cette couche fournit une abstraction complete de ce qui se passe dans le pilote Le pilote est un programme comme dvips ou dvipdfm qui prend un fichier dvi en entr e et cr e un fichier ps ou pdf On considere aussi le programme pdftex comme un pilote m me s il ne prend pas de fichier dvi en entr e Ce n est pas grave Chaque pilote a sa propre syntaxe pour la cr ation de graphiques source de maux de t te pour quiconque veut cr er des graphiques de mani re portable La couche syst me de PGF permet de s abstraire de ces diff rences Par exemple la commande syst me pgfsys lineto 10pt 10pt tend le chemin courant aux coordonn es 10pt 10pt de la pgfpicture courante Suivant qu on utilisera dvips dvipdfm ou pdftex pour compiler le document cette commande syst me sera convertie en diff rentes commandes special La couche syst me est aussi minimaliste que possible puisque chaque commande additi
188. rom parent 104 every forme node 87 every nom de partie node part 88 every child 100 every child node 100 every node 87 every path 58 every picture 49 every plot 70 every scope 50 help lines 65 level nombre 100 loosely dashed 76 loosely dotted 76 midway 93 near end 93 near start 93 nearly opaque 77 nearly transparent 77 opaque 77 semithick 75 semitransparent 77 snake triangles 45 62 snake triangles 60 62 snake triangles 90 62 solid 76 thick 75 thin 75 transparent 77 ultra nearly opaque 77 ultra nearly transparent 77 ultra thick 75 ultra thin 75 very near end 93 very near start 93 very nearly opaque 77 very nearly transparent 77 very thick 75 very thin 75 SUD voir south SUD EST voir south east SUD OUEST voir south west TABULER UNE FONCTION voir plot TAILLE voir size TAILLE MINIMAL voir minimum size tension option graphique 71 text option graphique 88 text badly centered option graphique 90 text badly ragged option graphique 89 text centered option graphique 90 text justified option graphique 89 text opacity option graphique 88 text ragged option graphique 89 text width option graphique 89 TEXTE voir text thick style 75 thin style 75 tikz 49 50 tikz extension 48 tikzpicture environnement 48 49 tikzstyle 51 TOILE voir canvas top color option graphique 82 TRES EPAIS voir very thick TRES FIN voir very
189. rpent coils litt ralement bobine mais penser plut t un ressort h lico dal cela d finit la direction depuis laquelle la bobine est vue B begin tikzpicture segment amplitude 5pt segment length 5pt node a A node b at 2 1 B node c at 2 1 C draw snake coil a b A draw snake coil segment aspect 0 red thick a c nny end tikzpicture C On peut d finit de nouveaux serpents mais pas depuis TikZ On doit se servir de la commande pgfdeclaresnake directement dans le niveau de base voir la section p Les styles suivants definissent des combinaisons de configuration de serpents que l on peut juger utiles style snake triangles 45 Installe un serpent consistant en de petits triangles dont l angle au som met est de 45 style snake triangles 60 Installe un serpent consistant en de petits triangles dont langle au som met est de 60 style snake triangles 90 Installe un serpent consistant en de petits triangles dont langle au som met est de 90 9 3 L op ration courbe jusqu a L op ration courbe jusqu permet d etendre un chemin avec une courbe de B zier path contr les c and d y Cette op ration tend le chemin courant depuis le point courant notons le x l aide d une courbe jusqu au point y La courbe est une courbe de B zier Pour une telle courbe y mis part il faut pr ciser galement deux points de contr le c
190. rtaine quantit de blanc et sur le bord une certaine quantit de noir De ce fait il est tout a fait possible de choisir ball color white ou ball color black begin tikzpicture shade ball color white 0 0 circle 2ex shade ball color red 1 0 circle 2ex shade ball color black 2 0 circle 2ex end tikzpicture 10 5 Etablir une boite cadre PGF garde assez bien la trace de la taille de la figure et r serve juste la bonne quantit de place pour elle dans le document principal Toutefois dans certain cas on voudrait pouvoir dire des choses comme ne tiens pas compte de ca pour la taille de la figure ou la figure est en fait un peu plus grande Pour cela on peut se servir de option use as bounding box ou la commande useasboundingbox qui n est qu une abr viation de path use as bounding box utiliser en tant que bo te cadre use as bounding box Normalement quand on utilise cette option sur un chemin la boite cadre du chemin courant est utilis e pour d terminer la taille de la figure et les tailles de tous les chemins suivants sont ignor es Toutefois si une op ration de chemin a tablir pr c demment une boite cadre plus grande cette op ration ne la rapetissera pas Dans un sens use as bounding box a le m me effet que le d coupage de tout le reste du dessin par le chemin courant sans d couper v ritablement mais en faisant que PGF traite tout comme si c tait d coup La pre
191. s descendants Voici un exemple begin tikzpicture thick tikzstyle level 2 sibling distance 10mm coordinate child red child child child green child child blue end tikzpicture Les options du noeud racine n ont aucun effet sur les enfants puisque les options d un noeud sont toujours locales ce n ud C est cause de cela que les ar tes de l arbre suivant sont noires et non rouges maine begin tikzpicture thick node red racine child child end tikzpicture Ce pose donc la question de passer des options a tous les enfants Naturellement on peut toujours passer les options tout le chemin comme dans path red node root child child mais cela est ennuyeux dans certaines situations Au lieu de cela il est plus facile de passer le options avant le premier enfant comme dans ce qui suit facie begin tikzpicture thick node red racine green cette option s applique 4 tous les enfants child child end tikzpicture 99 Voici l ensemble des r gles On donne les options pour tout l arbre avant le noeud racine On donne les options pour le noeud racine directement l op ration node de la racine On peut donner les options pour tous les enfants entre le noeud racine et le premier enfant On donne les options s appliquant un n ud particulier comme options de l operation child Or se he On donne les options qui s appliquent au n ud d un enfa
192. s informations donn es par la table ou par le graphique 1 ND ot FW DY Combien y avait il de participants Combien de participants ont ils r pondu l enqu te Quel pourcentage de participants ont r pondu l enqu te Combien de participants ont ils coch tr s bon Quel pourcentage de tous les participants ont ils coch tr s bon Y eut il plus d un quart des participants pour cocher mauvais ou tr s mauvais Quel pourcentage de participants ont ils rendu l enqu te en ayant coch tr s bien Malheureusement le diagramme ne permet de r pondre aucune de ces questions La table r pond toute directement sauf la derni re Essentiellement la densit d information du graphique est tr s proche de zero La table a une bien plus grande densit d information en d pit du fait qu elle utilise beaucoup d espace blanc pour pr senter quelques nombres Voici la liste de ce qui n allait pas dans le diagramme 3D L ensemble du graphique est domin par d irritants traits en arri re plan On ne comprend pas clairement ce que signifient les nombres de gauche vraisemblablement des pour centages mais ce pourraient tre aussi des nombres absolus de participants Les annotations du bas ont subi une rotation ce qui les rend difficiles lire Dans la pr sentation que j ai vue le texte tait rendu dans une tr s basse r solution d environ 10 fois
193. s insiste sur le fait qu il y a une solution facile Karl peut ajouter l option fill white pour remplir l arriere plan de la forme de texte de blanc Karl veut ensuite ajouter des tiquettes comme sin a Celles l il voudrait les placer au milieu de la courbe Pour ce faire au lieu de d finir l tiquette node sin alpha directement apr s une des extr mit s de la courbe ce qui placerait l tiquette cette extr mit Karl peut placer cette tiquette directement apr s mais avant les coordonn es Par d faut cela place l tiquette au milieu de la courbe mais on peut utiliser les options pos pour modifier ce comportement On peut galement utiliser les options comme near start et near end pour changer la position m begin tikzpicture scale 3 clip 2 0 2 rectangle 2 0 8 draw step 5cm gray very thin 1 4 1 4 grid 1 4 1 4 filldraw fill green 20 draw green 50 black 0 0 3mm Omm arc 0 30 3mm cycle draw gt 1 5 0 1 5 0 coordinate x axis draw gt 0 1 5 0 1 5 coordinate y axis draw 0 0 circle 1cm draw very thick red 30 1cm node left 1pt fill white sin alpha 30 1cm x axis draw very thick blue 30 1cm x axis node below 2pt fill white cos alpha 0 0 draw very thick orange 1 0 node right 1pt fill white displaystyle tan alpha color black frac color red sin alpha c
194. s sur la cr ation de graphiques pour des pr sentations des articles ou des livres scientifiques Les conseils de cette section proviennent de sources diff rentes Un grand nombre d entre eux ressortissent simplement de ce que je voudrais appeler le bon sens d autres refletent mon exp rience personnelle toutefois je l espere pas mes preferences personnelles d autres encore sont issus de livres la bibliographie est toujours manquante j en suis d sol sur la cr ation de graphique et la typographie Ce qui m a le plus influenc ce sont les livres brillants de Edward Tufte Alors m me que je ne suis pas d accord avec tout ce qu on lit dans ces livres je trouve que de nombreux arguments de Tufte sont si convaincant que j ai d cid de les reprendre dans les conseils qui suivent 4 1 Faut il suivre ces conseils La premiere question que l on devrait se poser lorsque quelqu un donne un tas de conseils est dois je vraiment suivre ces conseils C est une question importante parce qu il y a de bonnes raisons de ne pas suivre des conseils g n raux La personne qui a crit ces conseils pourrait avoir en vu un autre objectif que le v tre Par exemple un conseil pourrait tre utilisez la couleur rouge pour mettre en relief Ce conseil est sens s il s agit par exemple d une pr sentation faite au r troprojecteur mais la couleur rouge a l effet oppos la mise en relief lorsqu on
195. s une acception pr cis e dans la d finition qui suit 53 8 5 Coordonn es de n uds Il est assez facile dans PGF et TikZ de d finir un n ud auquel on voudrait faire r f rence plus loin Une fois le n ud d fini on peut faire r f rence aux points de ce n ud de diverses fa ons 8 5 1 Coordonn es d ancre nomm e Une coordonn e d ancre est un point d un n ud pr c demment d fini avec l op ration de n ud La syntaxe est nom du n ud ancre o nom du n ud est le nom donn pr c demment au n ud avec l option name nom du n ud ou avec la syntaxe sp ciale de nom de n ud voir la section 6 5 p 45 class Shape class Rectangle class Circle class Ellipse begin tikzpicture node shape at 0 2 draw lclass Shapel node rect at 2 0 draw lclass Rectanglel node circle at 2 0 draw lclass Circlel node ellipse at 6 0 draw lclass Ellipsel draw circle north 0 1 draw ellipse north 0 1 draw open triangle 90 rect north 0 1 shape south end tikzpicture La section 11 8 p 95 explique quelles sont les ancres disponibles avec les formes de base 8 5 2 Coordonn es d angle d ancre En plus des ancres nomm es on peut utiliser la syntaxe nom de n ud angle pour nommer un point de la frontiere du noeud Ce point est la coordonn e oti la demi droite issue du centre d
196. se des traits si fins que certaines imprimantes basse d finition ou certains crans ont du mal les montrer Il se demande quelle option permet d obtenir des traits d paisseur normale Il se trouve que c est thin qui le fait Karl trouve cela trange mais son fils lui explique que LATEX a deux commandes nomm es thinlines et thicklines et que thinlines donne les traits d paisseur normale plus pr cis ment de l paisseur par exemple du fut d une lettre comme T ou i N anmoins Karl voudrait savoir s il existe quelque chose entre thin et thick Ilya quelque chose c est semithick Une autre chose que l on peut faire c est tracer les lignes en pointill s ou avec des tirets Pour cela on peut utiliser les styles dashed et dotted ce qui produit __ et Ces deux options existent dans une version rel chee loose et une version resserr e dense appel e loosely dashed densely dashed loosely dotted et densely dotted S il y tient vraiment beaucoup Karl peut aussi d finir des motifs plus complexes de pointilles avec l option dash pattern mais son fils insiste sur le fait que les pointill s doivent tre utilis s avec la plus grande prudence et que en g n ral ils perturbent le lecteur Le fils de Karl maintient que les motifs compliqu s de pointill s sont mauvais Les tudiants de Karl se contrefichent des motifs de pointill s 3 10 Construction d arc Notre prochain obstacle est
197. sera red fini sans c r monie ni avertissement tikzstyle help lines blue 50 very thin begin tikzpicture draw 0 0 grid 2 2 draw style help lines 2 0 grid 2 2 end tikzpicture Si on donne le facultatif les options sont ajout es a la d finition existante _ tikzstylefhelp lines dashed aaarghhh begin tikzpicture l draw 0 0 grid 2 2 draw style help lines 2 0 grid 2 2 end tikzpicture On peut galement d finir un style l aide d une option set style nom de style options Cette option a le m me effet que la d claration tikzstyle devant argument de l option 11 NdTdS Autrement dit un style A ne peut appeler un style B qui lui m me appelle un style qui appelle le style A 51 52 8 D finir des coordonn es 8 1 Coordonn es et options de coordonn es Une coordonnee est une position dans une figure TikZ utilise une syntaxe sp ciale pour d finir les coordonn es Les coordonn es sont toujours plac es entre parentheses La syntaxe generale est L options sp cification de coordonn e On peut passer des options qui ne s appliquent qu une seule coordonn e bien que cela ne se justifie que pour des options de transformation Pour passer des options de transformation une seule coordonn e on crit ces options au d but entre crochets begin tikzpic
198. sparent du tout la valeur 0 signifie compl tement transparente ou invisible La valeur 0 5 produit des lignes semitransparentes Notez que lorsque l on utilise PostScript comme format de sortie cette option ne marche qu avec des version r centes de GhostScript begin tikzpicture line width 1ex draw 0 0 3 1 filldraw fill examplefill draw opacity 0 5 1 0 rectangle 2 1 end tikzpicture 16 NdTdS L auteur a d j dit tout le mal qu il pensait des pointill s 76 Notez que l option draw opacity ne fixe que l opacit des lignes trac es L opacit du remplissage est fix e avec l option fill opacity document e dans la section 10 3 2 p 81 L option opacity fixe les deux en m me temps opacity valeur Fixe tant l opacit de dessin que de remplissage valeur Les styles pr d finis suivants rendent plus facile l utilisation de cette option style transparent Rend tout totalement transparent et donc invisible Ea tikz fill red 0 0 rectangle 1 0 5 fill transparent red 0 5 0 rectangle 1 5 0 25 style ultra nearly transparent Rend tout euh ultra presque transparent tikz fill red 0 0 rectangle 1 0 5 filllultra nearly transparent 0 5 0 rectangle 1 5 0 25 style very nearly transparent m tikz fill red 0 0 rectangle 1 0 5 filllvery nearly transparent 0 5 0 rectangle 1 5 0 25 styl
199. st stock e ses catcodes sont fix s Cela signifie que l on ne peut pas utiliser de verbatim excessivement complexe dans le texte Si l on a vraiment besoin de par exemple texte verbatim il faudra le placer dans un n ud normal suivant la coordonn e et ajouter l option pos Deuxi mement quelle est la valeur de pos choisie pour le n ud La position est h rit e de la port e enveloppante Toutefois cela n est valide que pour les n uds d finis de cette mani re implicite Ainsi si on ajoute l option near end une port e scope cela n entrainera pas que tous les n uds d finis dans cette port e seront plac s pr s de la fin des courbes Seuls les n uds pour lesquels l option pos est ajout e implicitement seront plac s pr s de la fin C est typiquement ce que l on veut Voici quelques exemples qui devraient clarifier tout cela A begin tikzpicture near end B draw Ocm 4em 3cm 4em node A e draw Ocm 3em node B 3cm 3em p draw Ocm 2em node midway C 3cm 2em draw Ocm iem 3cm iem node midway D y end tikzpicture De m me que l op ration ligne jusqu l operation courbe jusqu permet de sp cifier des n uds dans l operation On peut placer des sp cifications de n uds autant apr s le premier que le second Comme dans le cas de l operation ces sp cifications seront recueillies et r ins r es l option pos activ e
200. t le niveau de cet enfant Comme la distance entre fr re est nulle l enfant est plac exactement un point distant de level distance dans la direction Toutefois les enfants de cet enfant seront plac s normalement sur une perpendiculaire la direction Quelques exemples d montrent mieux les effets de ces placements BL tikz node racine grow right child child racine eN racine e tikz node racine grow south west child child begin tikzpicture level distance 10mm sibling distance 5mm racine node racine grow down 7 child child child grow right child child child end tikzpicture 102 H H begin tikzpicture level distance 2em node C child grow up node H H C C H child grow left node H child grow down node H H H child grow right node C child grow up node H C est faux child grow right node H child grow down node H edge from parent double coordinate wrong draw lt red yshift 2mm wrong 0 1 node below C est faux end tikzpicture begin tikzpicture node rectangle draw a at 0 0 n oe ud de d but node rectangle draw b at 2 1 fin ici est le milieu fin draw a b node coordinate midway child grow 100 lt node above ici est le milieu noeud de d but end tikzpicture grow direction Cette option a le m me effet que grow mais
201. t object length dimension Cette option fixe la longueur des objets l int rieur de chacun des segments du serpent Cette option n est utilis e qu avec les serpents dans lesquels chaque segment contient un objet tel qu un triangle ou une toile B begin tikzpicture node a A node b at 2 1 B node c at 2 1 C yy X draw snake triangles CG hs AN draw snake triangles segment object length 8pt red thick a c An end tikzpicture A A C segment angle degr s Cette option fixe un angle dont l interpr tation est sp cifique aux serpents Par exemple les serpents waves vagues et expanding waves vagues grandissantes l interpr tent comme la moiti de langle d ouverture de la vague wave Le serpent border utilise cette valeur pour langle des petites coches A LLLL B begin tikzpicture segment amplitude 10pt node a A node b at 2 0 B draw snake border a b draw snake border segment angle 20 red thick a b end tikzpicture 61 beginftikzpicture segment amplitude 10pt node a A node b at 2 0 B node a at 0 1 A node b at 2 1 B A B draw snake expanding waves CQ hs draw snake expanding waves segment angle 20 red thick a b end tikzpicture A 1 segment aspect rapport Cette option fixe le rapport qui est interpr t d une facon sp cifique aux serpents Par exemple pour le se
202. t organis en colonnes troites souvent entrelac es de photos Si les magazines sont typographi s de la sorte c est cause du paradigme attirez l attention On ne lit pas un magazine comme on lit un roman Au lieu de lire un magazine ligne a ligne on utilise les titres et les r sum s pour savoir si l on veut lire ou pas un certain article Le boulot de la typographie est d attirer notre attention d abord sur ces r sum s et ces titres Une fois que l on a d cid de lire un article toutefois on ne tolere plus d tre distrait c est pourquoi le texte principal de l article est typographi de la m me maniere que celui d un roman Les deux principes vitez ce qui perturbe et attirez l attention s appliquent aussi aux gra phiques Lorsque l on cr e un graphique on devrait liminer tout ce qui va distraire l il En m me temps on devrait essayer d aider activement le lecteur travers le graphique en utilisant des po lices couleurs paisseurs de ligne qui mettent en relief les diff rentes parties Voici une liste non exhaustive des choses qui peuvent perturber un lecteur Les contrastes importants seront enregistr s les premiers par l ceil Par exemple consid rons les deux grilles suivantes Bien que la grille de gauche soit la premiere dans l ordre normal de lecture la droite a la plus de chance d tre vue la premiere le con
203. tapes de l algorithme de tri quicksort pr sent en page xyz et non pas juste Algorithme quicksort Une bonne l gende donne autant de contexte que possible Par exemple on pourrait crire La figure montre les diff rentes tapes de l algorithme de tri quicksort pr sent en page xyz Dans la premi re ligne on a pris l l ment 5 pour pivot Cela entra ne Bien que cette information puisse tre donn e aussi dans le texte principal en la pla ant dans la l gende on garantira que le contexte est donn N ayez pas peur de l gende de 5 lignes de long Votre diteur vous ha ra peut tre pour a Envisager de le ha r en retour On renverra la figure depuis le texte principal avec quelque chose comme Pour un exemple de quicksort en action voir la Figure 2 1 page xyz 33 La plupart des ouvrages sur la typographie et des marches d editeur recommandent de ne pas utiliser les abr viations comme Fig 2 1 mais d crire au long Figure 2 1 L argument principal contre les abr viations est que le point est trop pr cieux pour le gaspiller dans une abr viation L id e est que le point am ne le lecteur penser que la phrase s arr te apres Fig et qu il doit revenir consciemment en arri re pour se rendre compte que la phrase ne se finissait pas l apr s tout L argument en faveur des abr viations est qu elles amp conomisent de la place Personnel
204. te sp cification de couleur de remplissage ou de dessin est imm diatement annul e par cette option Le nom de couleur est le nom d une couleur d finie au pr alable Pour les utilisateurs de ATEX c est juste une couleur HTEXienne normale et les extensions xcolor sont autoris es Voici un exemple tikz fill color red 20 0 0 circle lex On peut se passer de la partie color est crire aussi tikz filllred 20 0 0 circle lex Ce qui se passe c est que chaque option inconnue de TikZ comme red 20 se voit offrir une deuxi me chance comme nom de couleur Pour les utilisateurs de plain TeX ce n est pas aussi facile de d finir des couleurs puisque plain TEX n a pas de m canisme standard de nommage de couleur De ce fait PGF simule l extension xcolor bien que la simulation soit extr mement simple plus pr cis ment ce que j ai pu bidouiller en environ deux heures La simulation vous permet ce qui suit D finir une nouvelle couleur avec definecolor Seuls deux mod les de couleurs sont g r s gray et rgb Exemple definecolor orange rgb 1 0 5 0 Utiliser colorlet pour d finir une nouvelle couleur partir d une ancienne Ici le m canisme est g r quoique une seule fois Utiliser plusieurs colorlet pour des couleurs plus frivoles Exemple colorlet lightgray black 25 Utiliser color nom de couleur pour activer la couleur dans le groupe courant de TEX Un bid
205. tion de chemin et manipuleront correctement les n uds sans ancres Voici un exemple voir aussi la section 8 5 p 54 lab el Bonjour le monde label 94 begin tikzpicture path 0 0 node x Bonjour le monde 3 1 nodelcircle draw y int_1 2 x mathrm d x draw gt blue GQ Gps draw gt red x node near start below label y draw gt orange x controls up icm and left 1cm node above sloped label y end tikzpicture 11 8 Formes pr d finies Par d faut PGF et TikZ d finissent trois formes rectangle circle et coordinate En chargeant des bibliotheques on peut d finir d autres formes A ce jour l extension pgflibraryshapes d finit ellipse Les comportements exacts de ces formes different Les formes d finies pour des usages plus particuliers comme par exemple une forme de transistor auront des comportements encore plus adapt s leurs fonctions Toutefois un certain nombre d options s appliquent la plupart des formes inner sep dimension Un espace additionnel invisible de dimension dimension sera ajout dans la forme entre le texte et le chemin d arriere plan de la forme L effet est le m me que si l on avait ajout des blancs horizontaux et verticaux idoines au d but et a la fin du texte pour l agrandir un peu Par d faut inner sep a la taille d un espace normal par d faut begin tikzpicture dra
206. tion de chemin grid quadrillage path grid options coin Cette op ration ajoute un quadrillage remplissant un rectangle dont les coins sont donn s par coin et la coordonn e pr c dente Ainsi la mani re courante de dessiner un quadrillage est draw 1 1 grid 3 3 qui produit un quadrillage remplissant le rectangle dont les coins sont 1 1 et 3 3 Toutes les transformations de coordonn es s appliquent au quadrillage tikz rotate 30 draw step 1mm 0 0 grid 2 2 Le pas du quadrillage est soumis aux options suivantes step dimension fixe le pas la fois dans les directions x et y xstep dimension fixe le pas dans la direction x ystep dimension fixe le pas dans la direction y Il est important de noter que le quadrillage est toujours r gl de telle sorte qu il contienne le point 0 0 si ce point se trouve tre l int rieur du rectangle Ainsi le quadrillage n a pas toujours une intersection aux points des coins cela n arrive que si les coins sont des multiples du pas Notez que du fait des erreurs d arrondi les dernieres lignes du quadrillage peuvent manquer Dans ce cas on devra ajouter un epsilon aux points de coin 13 Les styles suivants sont utiles pour le dessin de quadrillages style help lines Cela att nue les lignes en les dessinant fines et grises Toutefois ce style n est pas disponible automatiquement et on devra crire par exemple
207. tions devraient tre lisibles Non seulement elles devraient avoir une taille raisonnable mais de plus elles ne devraient pas tre recouvertes par des lignes ou d autres textes Cela s applique aussi aux lignes et aux textes plac s derri re les annotations Les annotations devraient tre en place A chaque fois qu il y a assez de place l annotation devraient tre plac e pr s de la chose qu elle marque On ajoutera une ligne discr te entre annotation et l objet auquel elle se rapporte seulement si n cessaire Essayez d viter les annotations qui ne font que r f rence des explications situ es dans des l gendes ext rieures Le lecteur doit alors sauter d avant en arri re entre les explications et l objet d crit Pensez att nuer les annotations accessoires en les colorant en gris par exemple Cela permettra de centrer l attention sur la figure elle m me 4 7 Courbes et diagrammes L espece la plus fr quente de graphiques sp cialement dans les articles scientifiques est celle des courbes et diagrammes Elle pr sente de nombreuses vari t s comprenant les courbes simples les courbes param triques les surfaces les histogrammes les diagrammes en camembert et bien d autres encore Malheureusement il est de notori t publique qu il est difficile d obtenir ces graphiques correctement En partie on en peut bl mer les r glages par d faut des logiciels comme GNUPLOT ou Excel c
208. traste blanc sur noir est plus grand que celui du gris au blanc De plus il y a plus de places ajoutant a l effet global de contraste dans la grille de droite Les choses comme des grilles et plus g n ralement toutes les lignes d aide ne devraient pas empoigner Vattention du lecteur et donc devraient tre trac es avec un contraste faible avec l arriere plan Par ailleurs une grille avec un maillage lache perturbe moins qu une grille au maillage serr Les lignes de pointill s cr ent de nombreux points o appara t un contraste du noir au blanc Les pointill s et les tirets peuvent tre tres perturbants et aussi devraient tre g n ralement vit s Il ne faut pas utiliser des motifs diff rents de pointill s pour distinguer des courbes De cette fa on on perd des points de donn es et l il n est pas particuli rement bon grouper les choses en fonction d un motif de pointilles L oeil est bien meilleur grouper en fonction des couleurs Les motifs de fond qui remplissent une surface avec des diagonales des horizontales ou des verticales ou m me des points sont presque toujours perturbants et en g n ral n ont aucun but v ritable Les images de fond et les d grad s perturbent et il est rare qu ils ajoutent quelque chose d important au graphique De jolis petits cliparts peuvent attirer l attention loin des donn es 38 5 Formats d entr e et sortie TEX a t
209. ts dans un article Ou bien on les place dans le texte c d quelque part au milieu d un paragraphe ou entre deux paragraphes ou bien on les place part en hors texte Comme les imprimeurs et les gens en g n ral aiment bien les pages pleines autant pour des raisons esth tiques qu amp conomiques les figures hors texte peuvent traditionnellement tre plac es sur des pages tr s loign es du texte principal dans lequel on y fait r f rence TEX et TEX tendent encourager ce rejet des graphiques pour des raisons techniques Quand une figure est dans le texte elle est plus ou moins automatiquement li e au texte principal dans le sens que ses annotations seront implicitement expliqu es par le texte environnant Ainsi le texte principal explicitera en g n ral le pourquoi de la figure et ce qu elle montre Il en est tout fait autrement pour une figure hors texte qui sera vue lorsque le texte auquel elle est li e soit n aura pas encore t lu soit aura t lu bien longtemps avant Pour cela on devrait en cr ant un figure hors texte suivre les conseils que voici Les figures hors texte devraient avoir une l gende qui les rendent compr hensibles par elles m mes Supposons par exemple qu une figure montre un exemple de diff rentes tapes de l algorithme de tri rapide quicksort La l gende de la figure devrait au minimum informer le lecteur de ce que La figure montre les diff rentes
210. ture draw style help lines 0 0 grid 3 2 draw CORO CIE draw red 0 0 xshift 3pt 1 1 draw GPO 30 2cm draw red 1 0 shift 135 5pt 30 2cm end tikzpicture 8 2 Coordonn es simples La fa on la plus simple de d finir des coordonn es est d utiliser une paire de dimensions de TEX s par es par une virgule comme dans 1cm 2pt ou 2cm textheight Comme on peut le voir on peut m langer diff rentes unit s Les coordonn es d finies de cette fa on signifient 1 cm vers la droite et 2 pt vers le haut depuis l origine de la figure On peut galement crire quelque chose comme 1cm 2pt 2pt puisque l extension calc est utilis e 8 3 Coordonn es polaires On peut aussi d finir des coordonn es en coordonn es polaires Dans ce cas on d finit un angle et une distance s par e par un deux point comme dans 30 1cm L angle doit toujours tre donn en degr s et tre compris entre 360 et 720 tikz draw Ocm Ocm 30 1cm 60 1cm 90 1cm ne Glen Se TEE seen Au lieu de donner l angle comme un nombre on peut aussi utiliser certains mots Par exemple up est la m me chose que 90 ainsi on peut crire tikz draw 0 0 2ex 0pt up 1ex et obtenir _1 Outre up on peut aussi utiliser down left right north south west east north east north west south east south west qui ont tous leurs significations naturelles c d en fran ais haut
211. uche ragged right Cela est judicieux car g n ralement ces boites sont troites et la justification du texte produirait un aspect hideux tikz draw 0 0 node fill examplefill text width 3cm text justified fait que le texte est justifi plut t que plac au fer a gauche n utiliser qu avec des noeuds assez larges tikz draw 0 0 node fill examplefill text width 3cm text justified Dans l exemple pr c dent TEX se plaint bon droit de trois mauvaises coupures de lignes Pour ce manuel j ai demand a TEX d arr ter de se plaindre avec hbadness 10000 mais c est vraiment une action d loyale text ragged fait que le texte est serr au fer gauche ragged right utilise la definition originelle donn e par plain TeX qui tente d viter les drapeaux trop flottants autant que faire se peut C est le comportement par d faut tikz draw 0 0 node fill examplefill text width 3cm text ragged This is a demonstration text for showing how line breaking works text badly ragged fait que le texte est serr au fer gauche la fa on AT Xienne dans laquelle les coupures de mots sont inhib es L aspect en est horrible mais ce peut tre utile avec des boites tr s troites ou lorsque l on veut viter les coupures de mot tikz draw 0 0 node fill examplefill text width 3cm text badly ragged This is a demonstration text for showing how line breaking works
212. ud inf rieur end tikzpicture Ensuite on peut vouloir ajuster la fonte utilis e pour le texte On le fera avec l option suivante font commandes de fontes Definit la fonte utilis e pour le texte des tiquettes aan begin tikzpicture a draw font itshape 1 0 1 1 node above italique ve end tikzpicture Voici un exemple peut tre plus utile 88 tikzstyle every text node part font itshape tikzstyle every output node part font footnotesize tikzstyle every state with output node draw tikz node state with output tat nodepart output sortie Normalement quand un n ud est typographi tout le texte donn entre accolades n est qu une longue ligne dans une hbox pr cis ment et le n ud devient aussi large que n cessaire On peut changer ce comportement avec les options suivantes Elles permettent de limiter la largeur du noeud bien entendu au prix d un changement de hauteur text width dimension Cette option placera le texte du n ud dans une bo te de largeur dimension donn e plus pr cis ment dans une minipage de cette largeur pour plain TEX on utilise une simu lation rudimentaire de minipage Si le texte du noeud n est pas aussi large que la dimension il sera n anmoins plac dans une boite de cette largeur S il est plus large la ligne sera coup e Par d faut quand cette option est donn e le texte est plac au fer ga
213. ue soit la couleur utilisee normalement les lecteurs penseront en g n ral par exemple le vert comme positif passez d accord et le rouge comme attention alerte action Assurer la coh rence en utilisant diff rents logiciels de production de graphiques est quasi impossible On devra donc envisager de n en utiliser qu un seul 4 6 Annotations dans les figures Presque toutes les figures contiennent des annotations c d des bouts de texte expliquant des parties du graphiques Lorsque vous placez ces annotations suivez ces conseils Soyez coh rent en pla ant les annotations et cela sur deux plans premi rement soyez coh rent avec le texte principal c d utilisez la m me police pour les annotations que pour le texte principal deuxi mement assurez la coh rence entre annotations c d que si vous pr sentez certaines annotations d une mani re particuli re vous devriez pr senter de la m me mani re toutes les annotations 8 NdTdS Il me semble que l auteur fait preuve ici d un optimisme exag r 34 Non seulement vous devriez utilisez les m mes polices pour le texte et pour les graphiques mais en plus les m mes notations Par exemple si vous crivez 1 2 dans votre texte principal utilisez aussi 1 2 pour les annotations de vos figures et pas 0 5 m est x et non 3 141 Enfine T est e7 et pas 1 et encore moins 1 Les annota
214. un environnement scope qui prend comme param tre facultatif les options graphiques voulues Naturellement les options graphiques d finies ne s appliquent qu aux commandes de dessin et remplissage contenues dans l environnement De plus des environnements scope embo t s ou des commandes de dessin peuvent annuler ou red finir les options de l environnement scope ext rieur Dans l exemple suivant trois lignes rouges deux vertes et une bleue sont trac es begin tikzpicture begin scope color red draw Omm 10mm 10mm 10mm draw Omm 8mm 10mm 8mm draw Omm 6mm 10mm 6mm end scope begin scope color green draw Omm 4mm 10mm 4mm draw Omm 2mm 10mm 2mm draw color blue Omm Omm 10mm Omm end scope end tikzpicture L environnement tikzpicture lui m me se comporte comme un environnement scope c est dire que l on peut d finir des parametres graphiques avec un argument facultatif Ces options s appliquent a toutes les commandes de la figure 46 6 8 Systeme de transformations des coordonn es TikZ s appuie entierement sur le systeme de transformations des coordonn es de PGF pour r aliser des transformations PGF gere galement des transformations de la toile un systeme de transformation de plus bas niveau mais ce systeme n est pas accessible depuis TikZ Il y a cela deux raisons premierement les transformations de la toile doive
215. upe local il place ces commandes dans un environnement scope Gerda utilise scope et endscope Cet environnement prend des options de graphique comme argument optionnel et ces options s applique tout ce que contient l environnement mais rien d ext rieur Voici un exemple begin tikzpicture ultra thick draw 0 0 0 1 begin scope thin draw 1 0 1 1 draw 2 0 2 1 end scope draw 3 0 3 1 end tikzpicture D limiter la port e a l aide de scope a un autre effet interessant tout changement affectant la surface d coup e est local la port e Ainsi si on crit clip quelque part dans la port e l effet de cette commande clip s acheve a la fin de la port e C est utile car il n y a pas d autre moyen d agrandir la partie d coup e Karl a d j vu galement que les options donn es une commande ne s applique qu cette commande Il se trouve que la situation est un peu plus compliqu e D abord les options pass es une commande comme draw ne sont pas vraiment des options de la commande mais des options de chemin et peuvent tre donn es n importe o dans le chemin Ainsi au lieu de draw thin 0 0 1 0 on peut crire aussi 6 NdTdS L adjectif stealth qui signifie furtif est employ pour un certain type d avion militaire 24 draw 0 0 thin 1 0 ou draw 0 0 1 0 thin Tous ces codes auront l
216. ur droit est appel en fait pas ancre haut droite mais ancre north east nord est de la forme Au centre de la forme est plac e une ancre appel e center centre En voici quelques exemples une liste compl te est donn e la section 11 8 p 95 north west north north east J e e weste Big gode ecast base Maintenant quand on a plac un n ud une certaine coordonn e on peut demander TikZ de d placer le n ud de telle sorte qu une certaine ancre soit situ e la coordonn e en question Dans l exemple suivant on demande TikZ de d placer le premier n ud pour que son ancre north east soit la coordonn e 0 0 et de placer l ancre west du second n ud la coordonn e 1 1 second n ud premier n ud tikz draw 0 0 node anchor north east premier n oe ud rectangle 1 1 node anchor west second n oe ud Comme l ancre par d faut est center le comportement par d faut est de placer le noeud de telle facon qu il soit centr sur la position courante anchor nom d ancre fait que le n ud est d plac afin que l ancre nom d ancre soit plac e sur la position courante La seule ancre pr sente dans tous les formes est center Toutefois la plupart des formes d finissent au moins les ancres dans toutes les directions de la boussole De plus les formes de base d finissent aussi une ancre base ainsi que base west et base east pour le placement de choses sur la l
217. urrait crire tikzstyle Karl s grid style help lines color blue 50 draw style Karl s grid 0 0 grid 5 5 On peut ne pas crire le style En fait chaque fois que TikZ rencontre une option qu il ne conna t pas il v rifie si cette option n est pas un nom de style Si oui le style est utilis Ainsi Karl pourrait avoir crit tikzstyle Karl s grid help lines color blue 50 draw Karl s grid 0 0 grid 5 5 Pour certains styles comme very thin on voit clairement ce que le style fait et il n est pas n cessaire d ecrire style very thin Pour d autres comme help lines il me semble qu crire style help lines est plus naturel Mais c est essentiellement une question de gout 17 3 9 Option de dessin Karl se demande quelles sont les autres options qui influent sur la fa on dont un chemin est trac Il a d j vu que l on peut utiliser option color color pour fixer la couleur d une ligne L option draw color fait presque la m me chose seulement elle fixe uniquement la couleur des traits et on peut utiliser une autre couleur pour le remplissage Karl en aura besoin pour colorier le secteur angulaire Il remarque que le style very thin produit des traits tr s fins Karl n en est pas vraiment surpris ni par le fait que thin produise des traits fins thick des traits pais very thick des traits tr s pais ultra thick des traits vraiment tr s tr s pais et que ultra thin produi
218. ut _ 1 cosa 1 2 2 cosa y1 1 4 4v3 2 Cela d montre que tana qui est la longueur du segment orange vaut Be 1 tana 1 v3 OS Q 3 2 Pr parer l environnement Pour dessiner une figure avec TikZ on doit au d but de celle ci dire TEX ou KIEX que l on veut com mencer une figure En EYIEX on utilisera l environnement tikzpicture en plain TEX on commencera la figure par tikzpicture et on la finira par endtikzpicture 3 NdTdS Ce qui signifie TikZ n est pas un programme de dessin 13 3 2 1 Pr paration de l environnement en RTEX Karl utilisant LTEX cr era donc son fichier comme suit documentclass article say usepackage tikz begin document Nous travaillons sur begin tikzpicture draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 end tikzpicture end document Une fois le fichier ex cut c d compil par pdf latex ou par latex suivi de dvips le r sultat contiendra quelque chose qui ressemblera ceci Nous travaillons sur begin tikzpicture draw 1 5 0 1 5 0 draw 0 1 5 0 1 5 end tikzpicture Nous travaillons sur D accord pas encore toute la figure pour l instant mais nous avons d ja place les axes Enfin pas tout a fait mais nous avons des droites qui deviendront des axes Soudain Karl a le sentiment poignant que la figure est encore loin Regardons ce code de plus pr t D
219. voulez pas de graphiques tr s simples dans votre article de toute facon de m me que vous ne voudriez pas de texte tr s simple de la m me taille 4 3 Processus de cr ation de graphique Lorsque l on crit un article scientifique on suit probablement le mod le suivant on a quelques r sultats ou id es qu on voudrait publier La cr ation de l article commencera d habitude par un plan sommaire Puis on remplira les diff rentes parties avec du texte pour cr er un premier brouillon Ce brouillon sera revu de mani re r p t e jusqu ce que souvent apr s d importantes corrections un article fini en merge Il n y a en g n ral pas une seule phrase du brouillon d un bon article de revue qui ait surv cu sans modification La cr ation de graphiques suit le m me mod le D cider ce que le graphique doit communiquer En faire une d cision consciente c est dire r pondre la question qu est ce que ce graphique est il sens dire au lecteur Cr er un croquis c est dire une forme g n rale et grossi re du graphique contenant les l ments les plus importants Souvent il est utile de le faire avec papier et crayon Placer les d tails plus pr cis pour cr er le premier brouillon Reprendre ce graphique de mani re r p t e en m me temps que le reste de l article 4 4 Lier le graphique avec le texte principal On peut placer les graphiques diff rents endroi
220. w 0 0 node a draw A 1 1 node b draw B draw a north b west draw color red a east 2 1 5 b north A end tikzpicture path coordinate Cette op ration signifie d abord vertical puis horizontal 9 2 3 Lignes serpentines On peut utiliser l op ration ligne jusqu a pour ajouter non seulement des lignes droites un chemin mais encore des ligne serpentines ainsi nomm es car elles ressemblent un peu un serpent vu de dessus TikZ et PGF se servent d un concept que j ai nomm serpents pour ajouter de telles lignes sinueuses Un serpent definit une maniere d tendre un chemin entre deux points d une facon fantaisiste Normalement un serpent reliera simplement le point initial au point final sans commencer de nouveaux sous chemins Ainsi un chemin contenant une ligne serpentine peut n anmoins tre encore utilis pour du remplissage Toutefois ce n est pas toujours le cas Certains serpents sont constitu s de nombreux segments non reli s On ne peut pas utiliser des lignes form es de tels serpents comme frontiere d une surface fermee Voici quelques exemples de serpents en action begin tikzpicture thick ANANAS draw 0 3 EHE draw snake zigzag 0 2 5 3 2 5 ER draw snake brace 2 pD s gt PDPDRPPDPDRDRDD draw snake triangles 0 1 5 3 1 5 draw snake coil segment length 4pt 0 1 3 1 APP
221. w 0 0 node inner sep Opt draw serr 5 Ocm 2em node inner sep 5pt draw relach relach Ocm 4em node fill examplefill par d faut end tikzpicture Kerr inner xsep dimension d termine la s paration int rieure mais uniquement suivant l axe des x inner ysep dimension d termine la s paration int rieure mais uniquement suivant l axe des y outer sep dimension Cette option ajoute un espace additionnel invisible de dimension dimension l ext rieur du chemin d arriere plan L effet principal de cette option est de d placer un peu toutes les ancres vers l ext rieur Par d faut cette option a pour valeur une demie hauteur de ligne Quand on utilise la valeur par d faut et que le chemin d arri re plan est dessin les ancres seront plac es exactement sur la fronti re externe du chemin pas sur le chemin lui m me Quand la forme est remplie mais pas dessin e ce peut tre ind sirable Dans ce cas on devrait donner outer sep la valeur 0 begin tikzpicture draw line width 5pt 0 0 nodelouter sep Opt fill examplefill rempli 2 0 node inner sep 5 pgflinewidth 2pt draw d dessin draw gt 1 1 Ndraw INC DE a end tikzpicture outer xsep dimension D finit la s paration ext rieure seulement suivant l axe des x outer ysep dimension Definit la s paration ext rieure seulement suivant l axe des y minimum height
222. y marks mark x coordinates 0 0 1 1 2 0 3 1 9 13 L op ration de restriction de port e Quand TikZ rencontre une accolade ouvrante ou fermante ou la o on attendrait une op ration de chemin il ouvrira ou fermera une port e Toutes les options que l on peut localiser verront leur action restreinte la port e ainsi d finie Par exemple si l on applique une transformation comme xshift 1cm a l int rieur d une port e le d placement ne s appliquera qu la port e D un autre c t une option comme color red n a pas d effet dans une port e puisqu elle ne peut s appliquer qu a la totalit du chemin 9 14 L op ration Node On peut ajouter des n uds un chemin avec l op ration node Puisque cette option est assez compliqu e P J P q P piq et puisque les n uds ne font pas vraiment partie du chemin lui m me il y a une section s par e traitant des n uds voir la section 11 p 86 72 10 Actions sur les chemins Une fois un chemin construit on peut faire diff rentes choses avec lui Il peut tre dessin ou trace avec un crayon il peut tre rempli avec une couleur ou un d grad il peut tre utilis pour d couper un dessin post rieur il peut tre utilis pour d finir l extension de la figure ou toute combinaison de ces actions en m me temps Pour d cider ce que l on doit faire d un chemin on peut utiliser deux m thodes D abord on p

Download Pdf Manuals

image

Related Search

Related Contents

Logic Energy Wind Logger User Manual  映像記録型ドライブレコーダーを 活用した交通安全教育マニュアル  Proyector Barco Serie 2 e IMB Manual de instalación  CLIC Users Manual  シャワースピーカー YBP-30BT(A/W) 取扱説明書  Manual de descarga  USB-SA124A Spectrum Analyzer User Manual  iStarUSA IS-1U50PD8G power supply unit  Medexpert CBPM24 IrDA User Manual  

Copyright © All rights reserved.
Failed to retrieve file