Il est possible de transformer un fichier pdf ou un fichier postscript en flattened postscript grâce à l’utilitaire pstoedit (http://www.pstoedit.net/). Dans le fichier obtenu, tout est chemin, y compris le texte. TeXgraph peut récupérer tous les chemins d’un fichier écrit en flattened postscript. C’est que proposent les macros de cette section.
Description : cette macro dessine à l’écran l’ensemble des chemins lus dans un fichier en flattened postscript par la macro loadFlatPs. L’affichage se fait à l’<affixe> demandé. Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
Description : cette macro invoque la macro drawFlatPs pour dessiner une expression qui a été au préalable compilée par TeX. Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
Cette macro est utilisée en interne par la macro NewTeXlabel.
Description : sélectionne des chemins dans une variable contenant un fichier "flattened postcript" lu par loadFlatPs, le résultat est une liste : le premier complexe de la liste est largeur+i*hauteur en cm, puis le premier complexe de chaque chemin est Color+i*Width. Le résultat peut-être dessiné par drawFlatPs. Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
Description : cette macro charge un <fichier en flattened postscript>, adapte les coordonnées des points et renvoie a liste des chemins (que l’on peut alors dessiner avec la macro drawFlatPs). Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
[conv2FlatPs( "circuit.pdf", "circuit.fps", TmpPath), stock:= loadFlatPs( [TmpPath,"circuit.fps"] ), drawFlatPs( 0, stock, [scale:=1, hollow:=1] ) ]
va permettre de charger et dessiner le contenu de ce fichier dans TeXgraph, sans faire les remplissages.
Description : cette macro va demander à TeX de compiler le <"texte"> dans un fichier pdf, ce fichier sera ensuite converti en un fichier eps par pstoedit, puis celui-ci sera chargé par loadFlatPs et stocké dans une variable globale appelée TeX_+nom. Un élément graphique appelé <nom> est créée pour dessiner la formule avec drawTeXLabel. Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
Dans les options, les attributs suivants peuvent également être utilisés : LabelSize, LabelStyle, LabelAngle et Color.
Voici la définition de cette macro :
[dollar:=0, scale:=1, hollow:=0, $options:=%4, $L:=TeX2FlatPs( %3, dollar), $aux:=NewVar(["TeX_",%1],L), NewGraph(%1, ["drawTeXlabel(",%2,", TeX_",%1,", [scale:=",scale,", hollow:=",hollow,"])"]), ReDraw() ]
La formule est écrite dans le fichier formula.tex, puis on compile le fichier tex2FlatPs.tex suivant :
\documentclass[12pt]{article} \usepackage{amsmath,amssymb} \usepackage{fourier} \pagestyle{empty} \begin{document} \input{formula.tex}% \end{document}
et on convertit le résultat en flattened postscript avant de le charger.
Cette macro s’utilise dans la ligne de commande ou bien dans des macros qui créent des éléments graphiques, mais pas directement dans un élément graphique Utilisateur, exemple :