******************** version 1.964 du 15/12/2011. ************************
Version test pour linux 32bits.
Version test pour linux 64bits.
Version test pour windows.
********************** Les nouveautés *************************
* Possibilité d'ouvrir plusieurs fichiers textes en écriture, chaque fichier est repéré par son nom: OpenFile("nom1"), OpenFile("nom2"), ..., nouvelle syntaxe pour l'écriture: WriteFile("nom1", "texte"), WriteFile("nom2", "texte"),.... L'ancienne syntaxe WriteFile("texte") reste valable, elle s'applique alors au dernier fichier ouvert ou bien au fichier d'exportation si on est en train d'exporter. Pour fermer les fichiers c'est la syntaxe CloseFile("nom"), l'ancienne syntaxe CloseFile() reste valable et s'applique au dernier fichier ouvert. C'est la commande CloseFile qui déclenche l'écriture physique du fichier, elle est donc indispensable.
* Nouvelle commande FileExists("nom") qui renvoie 0 ou 1.
* Nouvelle commande ScientificF( reel, nb décimales) qui renvoie une chaîne représentant le réel en notation scientifique avec le nombre de décimales souhaité.
* Nouvelle commande StrDel( chaîne (variable), indice, nombre) qui supprime dans la chaîne le nombre de caractères demandé à partir de l'indice qui est donné. Fonctionne comme la commande Del pour les listes.
* Nouvelle commande StrEval( commande ) qui exécute la commande (comme la fonction Eval) et qui renvoie le résultat sous forme d'une chaîne.
* La commande ReadData peut maintenant lire des fichiers textes: ReadData(0, "fichier texte" [, "séparateur"]). La commande renvoie soit une seule chaîne (s'il n'y a pas de séparateur), soit une liste de chaînes coupées à l'aide du séparateur, ce séparateur est un caractère ou bien la constante LF, ce qui donnera une chaîne par ligne.
* Le menu Aide propose maintenant une mise à jour du logiciel, soit vers la version test en cours, soit vers la dernière version stable. Attention à ne pas retourner vers la version 1.95! La prochaine version stable sera baptisée 1.97, c'est celle-ci qui pourra être installée automatiquement à partir d'une version test 1.96*.
* Maintenant, TeXgraph n'est plus susceptible vis à vis des noms de dossiers contenant des espaces ou autres énormités...
* La version pour windows a maintenant un script d'installation (décompresser l'archive, double-clic sur install.bat), les utilitaires wget et unzip étant très petits, ils ont été ajoutés à l'archive, inutile de les rechercher sur le net. Seule l'installation du fichier texgraph.sty reste à la charge de l'utilisateur. Il est dans le même dossier que le programme TeXgraph.
* Le menu Aide propose maintenant un téléchargement automatique des modèles. Par défaut c'est l'utilitaire wget qui est utilisé, cela peut être changé par le menu paramètres/Configuration.
* La commande ReadData est capable désormais de lire aussi des chaînes de caractères (ex: "toto"), si le fichier texte contient le caractère #, tout ce qui suit sera considéré comme un commentaire jusqu'à la fin de la ligne.
* Ajout d'une nouvelle option pour LabelStyle: en plus des options verticales: top, bottom, center, il y a maintenant l'option baseline (ligne de base) valable pour les exports compilés par TeX.
* L'export svg est désormais disponible à partir de la version en ligne de commandes.
* La gestion des paquets est modifiée: les fichiers ne seront plus copiés en vrac dans le dossier TeXgraphMac, mais regroupés par (sous-) dossier, par exemple un dossier povray, un dossier variations, etc... La recherche commence par le dossier TeXgraphMac puis récursivement dans ses sous-dossiers.
* Ajout d'un nouvel export texsrc qui correspond au source TeXgraph du graphique mais écrit en TeX. L'inclusion dans un document LaTeX nécessite le package texgraph.sty car il contient les déclarations suivantes:
- Code: Tout sélectionner
%% definitions des attributs pour l'option src ou l'export texsrc
\newcommand*{\TegSrcFontSize}{small}%
\definecolor{TegIdentifier}{rgb}{0.5451,0.2706,0.0745}%
\definecolor{TegComment}{rgb}{0.502,0.502,0.502}%
\definecolor{TegNumeric}{rgb}{0.0000,0.5020,0.5020}%
\definecolor{TegConstant}{rgb}{0.5020,0.5020,0.0000}%
\definecolor{TegString}{rgb}{0,0,1}%
\definecolor{TegSymbol}{rgb}{1,0,0}%
\definecolor{TegKeyWord}{rgb}{0,0,0}%
\definecolor{TegVarGlob}{rgb}{0.0000,0.0000,0.5020}%
\definecolor{TegMacUser}{rgb}{0.5020,0.0000,0.5020}%
\definecolor{TegVarPredef}{rgb}{0.0000,0.3922,0.0000}%
\definecolor{TegMacPredef}{rgb}{0.5020,0.0000,0.0000}%
\definecolor{TegParam}{rgb}{1.0000,0.0000,1.0000}%
\definecolor{TegGraphElem}{rgb}{0.4392,0.5020,0.5647}%
Ces définitions peuvent être modifiées dans votre document LaTeX, par exemple:
- Code: Tout sélectionner
\definecolor{TegKeyWord}{named}{blue}%
* En plus de l'export texsrc, le fichier texgraph.sty propose l'option src en local et en global. Cette option a pour effet d'exporter deux fichiers: un fichier *.src contenant le source (avec \begin{texgraph} ... \end{texgraph}), c'est lui qui est affiché, plus le fichier correspondant à l'export demandé (pst, pgf, ...), mais celui-ci n'est pas inclus automatiquement.
* Les tests d'égalité (=) et de différence (<>) s'appliquent désormais aux listes, deux listes étant évidemment égales si elles contiennent les mêmes éléments dans le même ordre, un élément pouvant être un complexe ou une chaine.
* Commande Mix( liste1, liste2 ) qui renvoie la liste obtenue en alternant les éléments de la liste1 avec ceux de la liste2:
Exemple:
- Code: Tout sélectionner
positions:=[0,1,2,3], noms:=["A","B","C","D"],
for z in Mix(positions,noms) by 2 do Label(z[1], z[2]) od
* Changement de structure de données: jusque là TeXgraph ne connaissait que la notion de liste de complexes et on avait recours aux macros pour mémoriser des chaines. Désormais TeXgraph gère nativement les listes de complexes et chaines. Il est donc possible désormais de stoker une chaine (ou une liste de chaines) dans une variable, de parcourir une liste de chaines avec une boucle for, de trier une liste de chaines avec Sort, ...etc.
L'ancien système de mémorisation des chaines a été maintenu pour compatibilité. Deux nouvelles fonctions font leur apparition:
-> Concat( chaine1, chaine2, ... ) ou Concat( [chaine1, chaine2, ...] ): renvoie la chaine obtenue par concaténation.
-> IsString( argument ): renvoie 1 si l'argument est une chaine de caractères.
- Code: Tout sélectionner
[
a:=[0, "A", 1, "B", 2, "C"],
for z in a By 2 do Label( z[1], z[2] ) od,
nom:="lingot", prenom:="albert",
Label(i, Concat(prenom,".",nom,"@gmail.com"))
]
* Correction de bugs.