Normale Linearisierung

Dokumente werden in der Standard-TeXmacs-Sprache geschrieben. Dies entspricht den Datei-Endungen .tm und .ts. Die Standard-TeXmacs-Syntax ist relativ leicht zu verstehen und zu lesen, so dass der Inhalt eines Dokuments, ähnlich wie bei LaTeX, schon mit einem einfachen Texteditor verstanden werden kann. Beispielsweise wird die Formel

x + y +

1
2
+ sqrt ( y + z )

durch

<with|mode|math|x+y+<frac|1|2>+<sqrt|y+z>>

dargestellt.

Dagegen ist die TeXmacs-Sprache, in der TeXmacs-Stile definiert werden, schwer zu lesen und nicht dazu gedacht, von Hand editiert zu werden: Die Semantik einer Sprache, mit der Leerräume (Weißraum) beschrieben werden kann, ist sehr komplex und schwer darzustellen. Deshalb sollte man es vermeiden, TeXmacs-Dokumente und vor allen Stil-Definitionen direkt von Hand zu editieren, es sei denn, man ist mit alle Details vertraut und weiß genau, was man tut.

Das Prinzip der Linearisierung

Das TeXmacs-Format benutzt die Sonderzeichen <, |, >, \ und /, um Bäume zu linearisieren. Ein Baum wie

(1)

wird linearisiert zu

<f|x1|...|xn>

Wenn eines der Argumente x1,…,xn aus mehreren Absätzen besteht, was in diesem Zusammenhang heißt, dass dieses Argument den Standard-Operator document oder den Standard-Operator collection enthält, dann wird eine andere Form der Linearisierung verwendet. Wenn beispielsweise f nur Argumente mit mehreren Absätzen enthält, (Polyabsätze), dann würde der Baum (?) folgendermaßen linearisiert werden:

<\f>
  x1
<|f>
  ...
<|f>
  xn
</f>

Generell werden Argumente, die nicht Polyabsätze sind, in der Kurzform linearisiert und Polyabsätze in der Langform. Beispielsweise, wenn n=5 ist, und x3 sowie x5 Polyabsätze sind, x1, x2 und x4 dagegen nicht, dann wird (?) linearisiert zu

<\f|x1|x2>
  x3
<|f|x4>
  x5
</f>

Die Escape-Sequenzen \<, \|, \> und \\ können zur Darstellung der Zeichen <, |, > und \ benutzt werden. Beispielsweise wird α + β zu \<alpha\>+\<beta\> linearisiert.

Formatierung und Leerraum

Die Grundoperationen document und concat werden auf spezielle Weise linearisiert. Die Linearisierung der Grundoperation concat besteht in der üblichen Verkettung von Zeichenketten. Beispielsweise wird der Text “an important note” linearisiert zu:

an <em|important> note

Die Grundoperation document wird linearisiert, indem Absätze durch zwei „neue Zeile“-Sonderzeichen, dies entspricht einer Leerzeile, getrennt werden. So wird das Zitat

Dies ist der erste Absatz.

Das ist der zweite Absatz.

zu

<\quote-env>
  Dies ist der erste Absatz.

  Das ist der zweite Absatz.
</quote-env>

linearisiert.

Beachten Sie bitte, dass Leerraum am Anfang und am Ende von Absätzen ignoriert wird. Innerhalb von Absätzen wird Leerraum beliebiger Länge als ein einziges Leerzeichen interpretiert. Entsprechend wird eine Folge von mehr als zwei „neue Zeile“-Zeichen als genau zwei „neue Zeile“-Zeichen interpretiert. Wenn also die linearisierte Form des obigen Beispiels folgendermaßen auf der Festplatte gespeichert wäre:

<\quote-env>
  Dies ist der           erste Absatz.


  Das ist der zweite          Absatz.
</quote-env>

würde das Zitat trotzdem unverändert dargestellt.

Ein Leerzeichen kann explizit durch die Zeichenkombination „\ ” erzeugt werden und ein leerer Absatz durch „\;”.

Rohdaten

Die Grundoperation raw-data (Rohdaten) dient in TeXmacs zur Darstellung von Binärdaten wie beispielsweise Bilddateien innerhalb eines Dokuments. Solche Binärdaten werden folgendermaßen linearisiert:

<#binary-data>

Darin ist „binary-data“ eine Zeichenkette von Hexadezimalzahlen, eine Kette von Bytes.

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".