L'environnement tegprog (version 1.974)

Utilisation de code texgraph dans LateX avec l'environnement \\begin{texgraph}...\\end{texgraph} et le paquet texgraph.sty.

L'environnement tegprog (version 1.974)

Messagepar P.Fradin » 12 Août 2012 18:18

Depuis la version (test) 1.974, le paquet texgraph.sty propose également l'environnement:
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:
exemple1.png
exemple1.png (15.17 Kio) Consulté 7372 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Revenir vers TeXgraph dans LaTeX

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités

cron