Les documents sont des arbres
|
TeXmacs représente tous les textes sous forme d'arbres (pour un texte figé, l'arbre correspondant est appelé arbre d'édition). Les noeuds internes de l'arbre sont étiquetés par des opérateurs de type tree_label (voir Basic/Data/tree.gen.h). Les étiquettes des feuilles de l'arbre sont des chaînes de caractères, soit invisibles (telles les mesures ou les définitions de macros), soit visible (le texte lui-même). Les arbres TeXmacs peuvent être décrits à l'aide de notations diverses. Par exemple, l'arbre :
représente la formule :
x
+
y
+
+ sqrt (
y
+
z
)
1
2
et peut aussi être décrit de la façon suivante :
(concat
"x+y"
(frac "1" "2")
"+"
(sqrt "y+z"))
en notation
La signification du texte et la façon dont il est
typographié dépendent essentiellement de son
environnement. L'environnement consiste en une table d'informations
qui fait correspondre les variables d'environnement à leurs
valeurs dans l'arbre. La langue, la police et la couleur actives sont
des exemples de variables d'environnement système ; de
nouvelles variables peuvent être définies par
l'utilisateur. Par exemple, l'expression
(concat
"Some "
(with "color" "blue"
"blue")
" text.")
représente le fragment de document :
Some blue text
La primitive TeXmacs with signale un changement local de variable d'environnement.
Dans la suite, nous décrirons plus en détail les opérateurs standards TeXmacs et les variables d'environnement. Il faut noter que le format de données TeXmacs est sujet à changement. Nous décrivons ces changements dans la dernière section. En général, l'utilisateur ne prend pas conscience de ces changements, car ils sont effectués par des programmes de conversion qui mettent automatiquement à jour les opérateurs. Néanmoins, ils ont parfois de l'importance pour les développeurs, bien que la plupart de ces changements concernent l'ajout de nouvelles primitives.