Cet outil a pour but de faciliter la rédaction de documents sur les graphes.
Il permettra de créer :
– des graphes probabilistes ;
– des graphes orientés ou non, pondérés ou non ;
– des graphes colorés ;
– le code latex de la matrice associé ou de celle-ci à la puissance n ;
– un tableau des degrés des sommets avec l’application des théorèmes d’Euler ;
– le tableau correspondant à l’algorithme de Dijkstra.
Lors de la création des graphes, on pourra si besoin repositionner les sommets pour améliorer sa lisibilité.
Dans le préambule
On rajoute ceci :
\usepackage[xcas]{pro-graphes}
pro-grapheproba
Cet environnement sert à construire un graphe probabiliste.
\begin{pro-grapheproba}{1} ["A","B"], [ ["$@dfrac{1}{4}$","$@dfrac{3}{4}$"], ["$@dfrac{7}{9}$","$@dfrac{2}{9}$"] ], [ ["titre-gauche","Graphe probabiliste"] ] \end{pro-grapheproba}
On obtient :
NB : le code source correspondant est enregistré dans le fichier :
nomfichier_grapheprob i.mp, la valeur i étant donnée en argument.
pro-tableg
Cet environnement sert à construire le code latex de la matrice associée.
\begin{pro-tableg}{1} ["M"], [ [1,2,3], [4,5,6], [7,8,9] ] \end{pro-tableg}
On obtient :
NB : le code source correspondant est enregistré dans le fichier :
nomfichier_tableg i.tex, la valeur i étant donnée en argument.
pro-tablegp
Cet environnement sert à construire le code latex de la matrice associée élevée à la puissance n.
\begin{pro-tablegp}{1} ["M"], [ [1,2,3], [4,5,6], [7,8,9] ], 3 \end{pro-tablegp}
On obtient :
NB : le code source correspondant est enregistré dans le fichier :
nomfichier_tablegp i.tex, la valeur i étant donnée en argument.
pro-graphedessin
Cet environnement sert à construire un graphe.
Par défaut, le graphe est non orienté et non pondéré. On utilise la partie haute de la matrice comme information.
Les arêtes sont dessinées par des segments.
\begin{pro-graphedessin}{1} ["A","B","C","D"], [ [0,1,0,1], [1,0,1,1], [0,1,0,1], [1,1,1,0] ], [ ["titre-gauche","Graphe par defaut (non oriente, non pondere)"] ] \end{pro-graphedessin}
On obtient :
NB : le code source correspondant est enregistré dans le fichier :
nomfichier_graphedessin i.mp, la valeur i étant donnée en argument.
pro-greuler
Cet environnement sert à construire le tableau des degrés des sommets ainsi que l’application des théorèmes d’Euler.
\begin{pro-greuler}{1} ["A","B","C","D"], [ [0,1,0,1], [1,0,1,1], [0,1,0,1], [1,1,1,0] ] \end{pro-greuler}
On obtient :
NB : le code source correspondant est enregistré dans le fichier :
nomfichier_greuler i.tex, la valeur i étant donnée en argument.
Exemple de graphe coloré
\begin{pro-graphedessin}{2} ["A","B","C","D"], [ [0,1,0,1], [1,0,1,1], [0,1,0,1], [1,1,1,0] ], [ ["titre-gauche","Graphe colorie"], ["graphe-colorie",["rouge","jaune","rouge","bleu"]] ] \end{pro-graphedessin}
On obtient :
Exemple de graphe pondéré
\begin{pro-graphedessin}{3} ["A","B","C","D","E","G","F"], [ [0,5,7,0,0,0,0], [5,0,0,8,15,6,0], [7,0,0,10,15,0,0], [0,8,10,0,0,10,20], [0,15,15,0,0,0,5], [0,6,0,10,0,0,0], [0,0,0,20,5,0,0] ], [ ["titre-gauche","Graphe pondere"], ["type-graphe",["pondere"]] ] \end{pro-graphedessin}
On obtient :
pro-dijkstra
Cet environnement sert à construire le tableau correspondant à l’application de l’algorithme de Dijkstra.
\begin{pro-dijkstra}{1} ["A","B","C","D","E","G","F"], [ [0,5,7,0,0,0,0], [5,0,0,8,15,6,0], [7,0,0,10,15,0,0], [0,8,10,0,0,10,20], [0,15,15,0,0,0,5], [0,6,0,10,0,0,0], [0,0,0,20,5,0,0] ] \end{pro-dijkstra}
On obtient :
NB : le code source correspondant est enregistré dans le fichier :
nomfichier_dijkstra i.tex, la valeur i étant donnée en argument.
Exemple de graphe orienté
\begin{pro-graphedessin}{4} ["A","B","C","D","E"], [ [1,1,0,1,0], [0,1,1,1,1], [0,1,1,0,0], [1,1,0,1,1], [1,0,0,1,1] ], [ ["titre-gauche","Graphe oriente"], ["type-graphe",["oriente"]] ] \end{pro-graphedessin}
On obtient :
Exemple de graphe orienté pondéré
\begin{pro-graphedessin}{5} ["A","B","C","D","E","F"], [ [2,1,0,2,0,3], [0,0,0,3,1,0], [0,5,0,0,0,1], [0,1,0,0,7,0], [6,1,0,3,1,0], [4,0,0,2,0,0] ], [ ["titre-gauche","Graphe oriente pondere"], ["type-graphe",["oriente","pondere"]] ] \end{pro-graphedessin}
On obtient :
Repositionnement des nœuds
Dans l’exemple suivant, les nœuds du graphe sont mal placés :
\begin{pro-graphedessin}{6} ["A","B","C","D","E","F"], [ [0,0,0,0,4,0], [2,0,0,0,0,3], [0,9,0,2,0,6], [9,0,2,0,0,3], [0,0,0,4,0,0], [6,3,6,0,0,0] ], [ ["titre-gauche","Graphe oriente pondere"], ["type-graphe",["oriente","pondere"]] ] \end{pro-graphedessin}
On obtient :
On peut alors rajouter l’option de positionnement pour améliorer le dessin :
\begin{pro-graphedessin}{7} ["A","B","C","D","E","F"], [ [0,0,0,0,4,0], [2,0,0,0,0,3], [0,9,0,2,0,6], [9,0,2,0,0,3], [0,0,0,4,0,0], [6,3,6,0,0,0] ], [ ["titre-gauche","Graphe oriente pondere"], ["type-graphe",["oriente","pondere"]], ["position-noeuds",[[-1,2],[4,3],[4,-2],[0,-3],[-3,-1],[2,0]]] ] \end{pro-graphedessin}
On obtient :
Echelle des graphes
On pourra modifier l’échelle d’un graphe en ajoutant l’option « echelle » comme dans l’exemple suivant :
["echelle",0.75]