Dokumente sind Bäume |
TeXmacs repräsentiert alle Texte durch Bäume (für einen bestimmten Text wird der zugehörige Baum der Editierbaum genannt). Die inneren Knoten eines solchen Baum werden mit Standard-Operatoren des Typs tree_label (siehe Basic/Data/tree.gen.h) aufgebaut. Der Inhalt der "Blätter" des Baums sind Zeichenketten (Strings), welche entweder unsichtbar (z. B. Längen oder Makro-Definitionen), oder sichtbar (der richtige Text) erscheinen. TeXmacs Bäume können auf verschiedene Weise beschrieben werden. Zum Beispiel repräsentiert der Baum
die Formel
x
+
y
+
+ sqrt (
y
+
z
)
1
2
und kann in der Notation von
(concat
"x+y"
(frac "1" "2")
"+"
(sqrt "y+z"))
Die Bedeutung des Textes und die Art, wie er gesetzt wird, hängt
essenziell von der aktuellen Umgebung ab. Die Umgebung besteht
hauptsächlich aus einer Hash-Tabelle, welche die
Umgebungsvariablen mit den Baum-Inhalten verknüpft. Die aktuelle
Sprache, aktuelle Schrift und aktuelle Farbe sind Beispiele für
Systemumgebungs-Variablen; neue Variablen können durch den Nutzer
definiert werden. Zum Beispiel erzeugt der
(concat
"Ein "
(with "color" "blue"
"blauer")
" Text.")
das entsprechende Textfragment
Ein blauer Text.
Das TeXmacs-Konstrukt with beschreibt eine lokale Änderung der Umgebungsvariablen.
Im nachfolgenden werden wir im Detail beschreiben, wie die verschiedenen Standard TeXmacs Operatoren und Umgebungsvariablen funktionieren. Es sollte erwähnt werden, dass sich das TeXmacs Datenformat ein Punkt ist, an dem 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. Dennoch sind sie manchmal wichtig für die Entwickler, wenn auch die meisten Änderungen nur das Hinzufügen von neuen Konstrukten betreffen.