|
Tabellen-Konstrukte |
|
Tabellen sind in allen Dokumenten vorhanden, die tformat-Argumente akzeptieren. Alle
fundamentalen Tabellen-Konstrukte haben Ränder, die nicht
erreichbar sind. Das grundlegende Konstrukt ist tabular.
<tformat|with-1|⋯|with-n|table>
(Container zur Tabellen-Formatierung)
Jede Tabellen-Struktur in einem Dokument hat einen tformat-Tag.
<tformat|table> bedeutet, dass die Tabellen- und
Zell-Kontextvariablen unmodifizierte Vorgaben sind. Das
Argument, table, kann eine Tabelle,
table, oder ein
verschachtelter tformat-Konstrukt
sein. Letzterer erscheint nicht in den Dokumenten, wird aber
während der Evaluierung des obersten Konstrukts automatisch
erzeugt.
<tformat|with-1|⋯|with-n|table> wird benutzt, wenn die Tabelle, table,
spezielle Formatierungs-Optionen benötigt. Die with-1 bis with-n
Argumente müssen alle twith
oder cwith-Konstrukte
sein.
(eine Tabellenvariable setzen)
Die Formatierung einer Tabelle als Ganzes wird von einer Anzahl
von Tabellenvariablen gesteuert, die nur intern benutzt
werden und nicht im Kontext erscheinen wie die normalen den
Schriftsatz steuernden Kontextvariablen.
Das twith-Konstrukt
setzt die Variable var (Zeichenfolge)
auf den Wert val (nach Evaluierung).
<cwith|top-row|bot-row|left-col|right-col|var|val>
(Zellvariablen für einen Zellbereich
setzen)
Die Formatierung von Zellen wird von einer Anzahl von
Zellvariablen gesteuert, die nur intern benutzt werden
und nicht im Kontext erscheinen wie die normalen den Schriftsatz
steuernden Kontextvariablen. Zeilen, Spalten, generell jeder
rechteckige Bereich kann mit Hilfe eines einzigen cwith-Konstrukts mit einer Zellvariablen
assoziiert werden.
Das cwith-Konstrukt
setzt die Zellvariable, var
(Zeichenfolge) auf de Wert val (nach
Evaluierung) für den Zeilen-Bereich top-row
bis bot-row und Spalten-Bereich left-col bis right-col
(Zahlzeichen ohne 0).
Die Bereichs-Koordinaten sind ganzzahlige Werte, außer 0,
positive Werte werden von links nach rechts und von oben nach
unten gezählt, negative Werte entsprechend von rechts nach
links und von unten nach oben. 2 bedeutet also die zweite Spalte
rechts oder die zweite Reihe nach unten, -1 heißt die
Spalte links oder Zeile darüber.
Typische Werte für (top-row,bot-row,left-col,right-col) sind
(r,r,1, - 1) für „Zeile
r”, (1, - 1,c,c) für
„Spalte c”, und
(r,r,c,c) für
„die Zelle Reihe r, Spalte c”. Wenn neue Zellen
eingefügt werden, macht es einen Unterschied, ob die Reihen
von oben oder von unten und ob die Spalten von links oder von
rechts gezählt werden. Wenn m die Anzahl der
Zeilen und n die Anzahl de Spalten ist, dann repräsentieren
r und r - m - 1 dieselbe Zeile
nur einmal von oben und einmal von unten gezählt.
Ähnlich entsprechen c und c -
n - 1 dieselbe Spalte einmal von links andermal von
rechts.
Der einzige Zweck des table-Konstrukts
ist es, row-(Zeilen)-Konstrukte
aufzunehmen. Die Anzahl der Zeilen ist die Anzahl der
Unter-Bäume.
Der einzige Zweck des row-Konstrukts ist es, cell-(Zellen)-Konstrukte
aufzunehmen. Die Anzahl der Zeilen ist die Anzahl der
Unter-Bäume. Alle row-(Reihen)-Konstrukte
in einer Tabelle, table,
müssen die genau so viele Unter-Bäume, cell-(Zellen)-Konstrukte, haben, wie Spalten
in der Tabelle vorhanden sind.
Die Zellen von Tabellen können jede Art von
Dokument-Fragmenten enthalten. Eine Zelle, cell, kann direkt Zeileninhalt oder ein
concat-Konstrukt
enthalten, wenn Blockinhalt eingefügt werden soll, muss es
in Form eines document-Baumes
sein.
Eine Zelle, cell,
deren Inhalt ein document
ist, ist eine Multi-Absatz-Zelle. Weil
Tabellen im Zeilen-kontext erlaubt sind, ist dies das einzige
Konstrukt, das indirekt die Einfügung von Blockinhalten in
Zeilen-kontext erlaubt. Man beachte, dass fast jeder Blockinhalt
nur in Zellen, die umgebrochen werden können, korrekt
gesetzt werden kann. Dies wird mit der Tabellenvariablen cell-hyphen eingestellt.
Zellen können Unter-Tabellen, subtable, enthalten. Das
Argument von subtable
ist ein tformat-Baum,
der normalen Tabellen-Inhalt enthält.
Ein ähnlicher Effekt kann erreicht werden, wenn man das
Zell-Padding in alle Richtungen auf 0 setzt. Eine Besonderheit
von subtable ist aber,
dass ihre Ränder nicht erreichbar sind.
(Markierung des Dekorationsurpsrungs)
Dieses Konstrukt wird bei der Definition von Zelldekorationen
benutzt, siehe die Dokumentation zu cell-decoration.
Es wird außerdem außerhalb von Tabellen zur
Markierung der augenblicklich dargestellten Position im switch-Konstrukt verwendet.
(fundamentales Tabellenmakro)
Diese Makro definiert links ausgerichtete Standard-Tabellen ohne
Gitter. Obwohl tabular
in TeXmacs eingebaut ist, sollte es eigentlich nicht als ein
fundamentales Konstrukt betrachtet werden. Allerdings gehört
es auch nicht zu den Stil-Definitionen.
© 2004 David Allouche, Joris van der Hoeven
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".