Une macro est définie par un nom et une commande. Une macro peut posséder des variables locales
et des paramètres, ceux-ci se notent ainsi: %1, %2, ..., il n'est pas nécessaire de déclarer
les paramètres.
Afin que le texte de la macro ne soit pas enregistré sur une seule ligne dans le fichier
*.teg, il faut formater le texte en insérant des sauts de ligne [avec la touche Entrée] lors
de la saisie8.15,
cela ne peut que faciliter la lisibilité. De plus il est possible
de documenter une commande en insérant des commentaires entre deux accolades: { commentaire }.
Exemple(s): voici la commande définissant une macro appelée racine qui donne la liste des racines n-ièmes d'un complexe:
{utilisation: racine(n,z), donne la liste des racines nièmes de z}
if (Ent(%1)=%1) And %1>0
then $a:= abs(%2)^(1/%1),
for $k from 0 to %1-1 do a*exp(i*(Arg(%2)+$k*2*pi)/%1) od
fi
on teste si le premier paramètre (qui représente n) est un entier strictement positif,
auquel cas on stocke dans une variable locale la racine n-ième du module de z (deuxième paramètre)
puis on donne la liste des solutions (sinon la macro renvoie Nil).
l'exécution de [Set($a,3), racine(a,i)] donne:
[0.866025+0.5*i, -0.866025+0.5*i, -i].
TeXgraph ne teste pas le nombre d'arguments, la valeur implicite des arguments manquants est Nil,
s'il y en a trop, ceux qui sont en surplus sont ignorés.