- Code: Tout sélectionner
\begin{tegprog}[<options>]{nom}
<code texgraph>
\end{tegprog}
Cet environnement a pour effet de créer le fichier nom.teg, ce fichier contient une variable globale param qui contiendra les paramètres avec lesquels le programme sera appelé, on y trouve aussi la macro Return(chaîne) qui a pour effet d'écrire la chaîne dans un fichier de sortie. Enfin, le code qui a été saisi, apparaît dans ce programme sous forme d'une commande (rubrique Cmd), elle sera donc exécutée par TeXgraph lorsque ce programme sera chargé. Les options possibles sont:
file : permet d'écrire un fichier source texgraph entier. Par défaut, le code est interprété comme une commande (rubrique Cmd), c'est à dire une liste d'instructions.
commandchars : avec cette option l'environnement peut contenir des appels à des macros TeX à condition de remplacer \ par # devant le nom des commandes, ex: #commande{...}, si cette commande contient des macros qui ne doivent pas être développées, elles devront être précédées de \noexpand.
preload="..." : permet de charger un ou plusieurs paquets avant de lire le code, ex: preload="marker.mod" ou preload={"PolyedresII.mac"; "draw2d.mod"} on notera le point-virgule !
Une fois créé, le programme peut être exécuté par la macro \tegrun{nom}{param1 param2 ...}, cette macro va:
1) écrire les paramètres dans un fichier (nom.prm),
2) demander à TeXgraph de charger le programme nom.teg,
3) insérer le fichier se sortie (nom.res) dans le document LaTeX.
Exemple:
- Code: Tout sélectionner
\documentclass[11pt,a4paper,frenchb]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{texgraph}
\usepackage[margin=2cm]{geometry}
\usepackage{babel}
\begin{document}
\begin{tegprog}{Euclide}
$a:=param[1], $b:=param[2],
if a<b then Echange(a,b) fi,
Return("\begin{tabular}{|c|c|c|}\par\hline{}a&b&r\tabularnewline\hline"),
$r:=b,
while r>0 do
r:=mod(a,b),
Return(Concat(a,"&",b,"&",r,"\tabularnewline\hline")),
a:=b, b:=r
od,
Return("\end{tabular}")
\end{tegprog}
\newcommand*{\Euclide}[2]{\tegrun{Euclide}{#1 #2}}%
Les différentes étapes de l'algorithme d'Euclide entre $144$ et $256$: \Euclide{144}{256}.
Même chose entre $123$ et $790$: \Euclide{123}{790}.
\end{document}
Aperçu du rendu dans le pdf: