Tabellen-Layout

Die Kontextvariablen für Tabellen können in zwei Klassen eingeteilt werden. Solche die die ganze Tabelle betreffen, die beginnen mit dem Präfix table-, und solche die nur eine einzelne Zelle betreffen, diese beginnen mit dem Präfix cell-. Während normale Kontextvariablen mit den Konstrukten assign und with gesetzt werden, benutzt man dazu bei den Tabellenvariablen das Konstrukt tformat. Mit diesem Konstrukt können bestimmte Vorgaben auf alle rechteckigen Unter-Tabellen übertragen werden. Das gilt vor allem für Reihen und Spalten. Mehr Informationen finden Sie hier für die Konstrukte twith und cwith.

Layout der ganzen Tabelle

table-width

table-height
(Minimale Tabellendimensionen)

Diese Parameter geben einen Hinweis auf die ungefähren Dimensionen einer Tabelle. Die Parameter table-hmode und table-vmode bestimmen, wie sie auszuwerten sind.

table-hmode

table-vmode
(Berechnungsweise der Tabellendimensionen)

table-hmode und table-vmode werden zur Zeit ignoriert. Momentan werden table-width und table-height als minimale Tabellendimensionen interpretiert. In Zukunft sollen table-hmode und table-vmode aber steuern wie genau table-width und table-height auszuwerten sind.

table-halignl

table-valignf
(Einpassung in den Text)

Die vorstehenden Parameter bestimmen, wie die Tabelle in den umgebenden Text eingefügt werden soll. Mögliche Werte für table-halign sind l (links), c (zentriert) und r (rechts); mögliche Werte für table-valign sind t (ganz oben), f (auf Bruchlinienhöhe), c (zentriert) und b (ganz unten).

Außer den oben genannten Werten sind noch weitere möglich, die die Tabelle in Bezug zu der Basislinie bestimmter Zellen positioniert. Für table-halign sind dies L (nach der linken Spalte ausrichten), C (nach der mittleren Spalte ausrichten), R (nach der rechten Spalte ausrichten) und O (nach der Spalte der privilegierten Zelle table-col-origin ausrichten , s.u.). Entsprechend kann table-valign die zusätzlichen Werte T (nach der obersten Zeile ausrichten), C (Nach der Mittelzeile ausrichten), B (nach der untersten Zeile ausrichten) und O (nach der Zeile der privilegierten Zelle table-row-origin ausrichten, s.u.).

table-row-origin0

table-col-origin0
(privilegierte Zelle)

Die Tabellen-Koordinaten einer privilegierten Zelle, origin cell, die zur Ausrichtung im umgebenden Text dienen kann (s.o.).

table-lsep0fn

table-rsep0fn

table-bsep0fn

table-tsep0fn
(Padding um eine Tabelle)

Der kontextabhängige Leerraum, Padding, um eine Tabelle (zusätzlich zum Padding um die einzelnen Zellen).

table-lborder0ln

table-rborder0ln

table-bborder0ln

table-tborder0ln
(Tabellenränder)

Breite der Tabellenränder zusätzlich zur Breite der Ränder um die einzelnen Zellen.

table-hyphenn
(Seitenumbruch erlaubt?)

Boolesche Variable, die angibt ob ein Seitenumbruch innerhalb der Tabelle erlaubt ist. Wenn table-hyphen auf y gesetzt ist, kann ein Seitenumbruch erfolgen aber nur dann, wenn

  1. Die Tabelle innerhalb des selben Absatzes nicht von weiteren Kontexten oder speziellen Hervorhebungen gesteuert wird.
  2. Die Zeilen zwischen denen der Seitenumbruch erfolgt, haben kein Gitter.

Ein Beispiel, dass für eine Tabelle mit erlaubtem Seitenumbruch ist eqnarray*.

table-min-rows

table-min-cols

table-max-rows

table-max-cols
(Minimum bzw. Maximum der Tabellendimensionen)

Man kann die minimale und die maximale Anzahl sowohl von Zeilen wie von Spalten festlegen. Das begrenzt die Möglichkeiten des Editors beim Einfügen und Löschen von Zeilen und Spalten. Dies ist besonders nützlich bei Tabellenmakros. So sind für eqnarray* table-min-columns und table-max-columns fest auf 3 gesetzt.

Layout individueller Zellen

cell-background
(Hintergrundfarbe)

Die Hintergrundfarbe einer Zelle.

cell-width

cell-height
(Ungefähre Zelldimensionen)

Diese Variablen sind Vorgaben für die Festlegung von Zellhöhe und -Breite, die außerdem von den Variablen cell-hmode und cell-vmode sowie cell-hpart und cell-vpart abhängt.

cell-hpart

cell-vpart
(zusätzlicher Paddinganteil einer Zelle)

Wenn die Summe s der Breiten aller Spalten kleiner ist als die Breite der Tabelle w, dann muss man vorgeben, was mit dem leeren Platz geschehen soll. Der Parameter cell-hpart legt fest wie viel Platz eine einzelne Zelle von dem leeren Platz bekommen soll. Der horizontale Anteil einer ganzen Spalte ist das Maximum der Anteile aller Zellen der Spalte. pi sei der so definierte Anteil jeder Spalte i, (i∈{1,…,n}). Der verbleibende Anteil wird dann verteilt, in dem jeder Spalte Dann wird jeder Spalte i der Anteil pi (w - s)/(p1 + ⋯ + pn) zugeteilt wird. Ganz entsprechend wird in jeder Zeile verfahren.

cell-hmodeexact

cell-vmodeexact
(Berechnungsweise der Zelldimensionen)

Diese Parameter legen fest, auf welche Weise Breite und Höhe der Zelle zu berechnen sind. Wenn cell-hmode auf exact gesetzt ist, dann ist die Breite cell-width. Wenn cell-hmode auf min oder auf max gesetzt ist, dann ist die wirkliche Breite das Minimum von cell-width und der Breite des Zellinhalts bzw. das entsprechende Maximum. Die Festlegung der Zellhöhe geschieht analog.

cell-halignl

cell-valignB
(Zellausrichtung)

Diese Parameter bestimmen die Zellausrichtung. Mögliche Werte für cell-halign sind l (links), c (zentriert), r (rechts), . (Dezimalpunkt), , (Dezimalkomma) und R (vertikale Basislinie). Mögliche Werte für cell-valign sind t (ganz oben), c (zentriert), b (ganz unten) und B (Basislinie).

cell-lsep0fn

cell-rsep0fn

cell-bsep0fn

cell-tsep0fn
(Zellpadding)

Padding einer Zelle (links, rechts, ganz unten und ganz oben).

cell-lborder0ln

cell-rborder0ln

cell-bborder0ln

cell-tborder0ln
(Zellgitter)

Die Dicke der Linien, die als Ränder die Zelle begrenzen (links, rechts, ganz unten und ganz oben). Die Breite der Randlinie zwischen den Zellen Ti,j und Ti,j + 1 an den Positionen (i,j) und (i,j + 1) ist das Maximum der rechten Randlinie von Ti,j und der linken von Ti,j + 1. Analog werden die oberen und unteren Randlinien-Breiten bestimmt.

cell-vcorrecta
(vertikale Korrektur von Text)

Wie bereits oben beschrieben können die Dimensionen und die Ausrichtung der Zellen vom Inhalt abhängen. Wenn die Zellen Boxen enthalten dann kann die Höhe der Boxen von deren Inhalt abhängen, denn z.B. hat der Buchstabe „k“ eine größere Oberlänge als „y“, das dafür eine größere Unterlänge besitzt. Solche Unterschiede führen manchmal zu unerwünschten Ungleichmäßigkeiten im Satzbild. Die vertikale Zellenkorrektur cell-vcorrect verbessert die Gleich-mäßigkeit von Text in einer einzigen Schriftart, indem Boxen nach oben oder unten verschoben werden in einer Weise, die nur von der gewählten Schriftart abhängt. Mögliche Werte für cell-vcorrect sind n (keine Höhenkorrektur), b (vertikale Korrektur unten), t (vertikale Korrektur oben), a (vertical correction of bottom and the top).

cell-hyphenn
(Trennung innerhalb einer Zelle erlaubt?)

Normalerweise wird innerhalb von Zellen nicht getrennt. Durch setzen der Option TabelleSpezielle ZelleneigenschaftenTrennungMulti-Absatz wird die Zelle für die Aufnahme mehrerer Absätze eingerichtet. In diesem Fall kann mit cell-hyphen die Art und Weise des Zeilenumbruch bzw. der Trennung bestimmt werden. Mögliche Werte sind n (kein Zeilenumbruch), b (enable line breaking and align at the bottom), c (enable line breaking and align at the center) und t (Zeilenumbruch und Ausrichtung an der obersten Zeile).

cell-row-span1

cell-col-span1
(Mehrfachzellen)

Man kann Zellen so konfigurieren, das diese den Platz von mehreren Zellen belegen, die entweder rechts neben ihnen oder unter ihnen liegen. Mit solchen Mehrfachzellen können z.B. Überschriften, die sich über mehrere Zellen erstrecken und sie zusammenfassen, in die Tabelle eingefügt werden. cell-row-span und cell-col-span legen fest, wie breit bzw. wie hoch eine solche Zelle in Anzahl der Nachbarzellen ist.

cell-decoration
(Dekorierende Tabelle für eine Zelle)

Diese Kontextvariable kann eine „dekorierende” Zelle enthalten. Diese fügt der die ursprünglichen Tabelle weitere Spalten und Zeilen außen hinzu. Das Konstrukt tmarker definiert den Ort der ursprünglichen Zelle. Ihre Umgebung wird in der vergrößerten Tabelle mit Dekorationen aufgefüllt. Zelldekorationen werden kaum gebraucht und verschwinden vielleicht in zukünftigen Versionen von TeXmacs.

cell-orientationportrait
(Zellorientierung)

Bisher ist nur das Längsformat, portrait, implementiert.

cell-row-nr1

cell-col-nr1
(Aktuelle Zellposition)

Das ist noch nicht implementiert. In Zukunft sollen diese Variablen die aktuelle Zellposition während des Schriftsetzens enthalten.

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