<\body> -Bäume> repräsentiert alle Dokumente oder Teile von Dokumenten, also alle Formen von Text, durch Bäume. Zum Beispiel repräsentiert der Baum <\quote-env> |x+y+||1|2>|+||y+z>>> die Formel <\tm-fragment> +> Die Knoten eines solchen Baum sind Standard- des Typs (siehe ), z.B.: , , . Der Inhalt der "Blätter" des Baums sind Zeichenketten (Strings). Diese sind entweder auf dem Bildschirm sichtbar und können auch gedruckt werden, dies ist der eigentliche Text, - oder sie sind auf dem Bildschirm nicht sichtbar wie z.B. Längen- oder Makro-Definitionen und werden daher auch nicht ausgedruckt. Die Baumdarstellung von Dokumenten in spiegelt ihren logischen Aufbau wieder. Dateien sind jedoch linear aufgebaut, sodass Bäume zur Speicherung in einen fortlaufenden Text umgeformt werden müssen (serialization, deutsch: ), der von einem sogenannten Parser zurückübersetzt werden kann. Dies ist auf verschiedene Weise möglich. Der oben gezeigte Beispielbaum kann in der Notation von geschrieben werden als: <\scheme-fragment> (concat \ \ "x+y" \ \ (frac "1" "2") \ \ "+" \ \ (sqrt "y+z")) \; Wie ein solcher Text interpretiert wird und wie das Schriftsatz-Programm den Text schlieÿlich setzt, hängt vom aktuellen Kontext ab. Dieser Kontext ist im wesentlichen eine Hash-Tabelle, welche die Kontextvariable mit den Bauminhalten verknüpft. Die aktuelle Sprache, die aktuelle Schrift und die aktuelle Farbe sind Beispiele für Kontextvariable; Variablen können durch den Nutzer geändert definiert werden. Zum Beispiel erzeugt der Ausdruck <\scheme-fragment> (concat \ \ "Ein " \ \ (with "color" "blue" "blauer") \ \ " Text.") das folgende Textfragment <\tm-fragment> Ein Text. Der -Befehl setzt eine Kontextvariable neu. Diese Änderung ist lokal, d.h., sie bezieht sich nur auf Ausdrücke in der Klammer (variable). Daher ist auch \Rblauer'' blau. Im nachfolgenden beschreiben wir im Detail, wie die verschiedenen Standard -Konstrukte (Befehle) und Kontextvariablen funktionieren. Es sollte erwähnt werden, dass an dem Datenformat noch gearbeitet wird. Im letzten Abschnitt werden diese Änderungen beschrieben. Für gewöhnlich wird der Anwender von einer Erweiterung des Datenformats nichts bemerken, da solch eine Änderung immer zusammen mit einem Konvertierungs-Programm entwickelt wird, das die bestehenden Dokumente automatisch auf das neue Format ergänzt. Die meisten Änderungen bestehen im Hinzufügen von neuen Konstrukten. Für Entwickler kann die Kenntnis solcher Änderungen dennoch wichtig sein. <\initial> <\collection>