1
0
Fork 0
doc/devel/format/basics/tm-tree.de.tm

103 lines
3.7 KiB
Tcl

<TeXmacs|1.0.4.2>
<style|tmdoc>
<\body>
<tmdoc-title|<TeXmacs>-Bäume>
<TeXmacs> repräsentiert alle Dokumente oder Teile von Dokumenten, also alle
Formen von Text, durch Bäume. Zum Beispiel repräsentiert der Baum
<\quote-env>
<with|mode|math|<tree|<with|math-font-series|bold|concat>|x+y+|<tree|<with|math-font-series|bold|frac>|1|2>|+|<tree|<with|math-font-series|bold|sqrt>|y+z>>>
</quote-env>
die Formel
<\tm-fragment>
<with|mode|math|x+y+<frac|1|2>+<sqrt|y+z>>
</tm-fragment>
Die Knoten eines solchen Baum sind Standard-<def-index|Operatoren> des Typs
<verbatim|tree_label> (siehe <verbatim|Basic/Data/tree.gen.h>), z.B.:
<strong|concat>, <strong|frac>, <strong|sqrt>. 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 <TeXmacs> 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: <dfn|Linearisierung>), 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 <value|scheme>
geschrieben werden als:
<\scheme-fragment>
(concat
\ \ "x+y"
\ \ (frac "1" "2")
\ \ "+"
\ \ (sqrt "y+z"))
</scheme-fragment>
\;
Wie ein solcher Text interpretiert wird und wie das Schriftsatz-Programm
<TeXmacs> 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 <value|scheme> Ausdruck
<\scheme-fragment>
(concat
\ \ "Ein "
\ \ (with "color" "blue" "blauer")
\ \ " Text.")
</scheme-fragment>
das folgende Textfragment
<\tm-fragment>
Ein <with|color|blue|blauer> Text.
</tm-fragment>
Der <TeXmacs>-Befehl <verbatim|with|variable> 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
<TeXmacs>-Konstrukte (Befehle) und Kontextvariablen funktionieren. Es
sollte erwähnt werden, dass an dem <TeXmacs> 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.
<tmdoc-copyright|2004|Joris van der Hoeven>
<tmdoc-license|Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU Free
Documentation License".>
</body>
<\initial>
<\collection>
<associate|language|german>
</collection>
</initial>