Boxes

<< Click to Display Table of Contents >>

Navigation:  Datenauswertung > Tabellengestaltung > Formatierung >

Boxes

Alle Tabellenelemente sind in der Postscript-Ausgabe als kleine Kästen definiert, die sogenannten Boxes.

Mit DRAWBOX werden die Boxen als sichtbare Kästen gezeichnet. Weitere Statements regeln

die Höhe der Boxen (BOXMINHEIGHT),

den Zeilenabstand (BOXLINEFEED) innerhalb der Boxen,

die Positionierung von Texten innerhalb der Boxen (ALIGN),

den Abstand der ersten Textzeile zum Box-Rand (TEXTTOPDISTANCE) und

den  Abstand zwischen Boxen (DISTANCE).


Übersicht über die Boxes

Es gibt folgende Boxes (bzw. die entsprechenden Schlüsselwörter dafür):

BOTTOMTEXT 

Kasten um den BOTTOMTEXT

DATABOX 

Kasten um alle DATACELLS, die zur Kreuzung jeweils zweier Variablen gehören.

DATACELL

Jede einzelne Datenzelle der Tabelle

DESCRIPTION 

Kasten um die Inhaltsbeschreibung der Datenzellen der Tabelle

DOCUMENT 

Kasten um die DOCUMENT-Kennzeichnung

FOOTERBOX

Kasten um den FOOTER, außerhalb der Tabelle

FRAMEBOX X 

Kasten um alle FRAMECELL X

FRAMEBOX Y 

Kasten um alle FRAMECELL Y

FRAMECELL X 

Kasten um einzelne Datenelemente der Rahmenspalten (Elemente der X-Achse)

FRAMECELL Y 

Kasten um einzelne Datenelemente der Rahmenzeilen (Elemente der Y-Achse)

FRAMECROSS

Der Schnittpunkt von FRAMEBOX X und FRAMEBOX Y

FRAMETITLE X 

Kasten um Bezeichnung von FRAMEELEMENTS der X-Achse (z.B. Insgesamt)

FRAMETITLE Y 

Kasten um Bezeichnung von FRAMEELEMENTS der Y-Achse (z.B. Insgesamt)

FRAMETITLEBOX X 

Kasten um alle FRAMETITLE-Boxes der X-Achse

FRAMETITLEBOX Y 

Kasten um alle FRAMETITLE-Boxes der Y-Achse

GRAPHBOX 

Kasten mit der Liniengraphik in PROFILE-Tabellen

HEADERBOX

Kasten um den HEADER, außerhalb der Tabelle

INSTITUTION

Kasten um die INSTITUTION-Angabe

LABELS X 

VALUELABELS auf der X-Achse

LABELS Y 

VALUELABELS auf der Y-Achse

LABELSET X

Der Kasten um VARTITLE und VALUELABELS auf der X-Achse

LABELSET Y 

Der Kasten um VARTITLE und VALUELABELS auf der Y-Achse

STATISTICS 

Kasten um die Statistikkennzahlen unterhalb der jeweiligen DATABOX

TABLE 

Auch die gesamte Tabelle ist eine Box

TABLETITLE 

Kasten um den TABLETITLE

TOPTEXT 

Kasten um den TOPTEXT

VARTITLE X 

VARTITLE auf der X-Achse

VARTITLE Y 

VARTITLE auf der Y-Achse

YDATABOXES 

YDATABOXES ist eine Box, die alle DATABOXes einer Tabelle senkrecht umfasst. Sie geht auch nach oben über die FRAMECELLS und die LABELCELLS hinaus. Damit kann man über alle Elemente hinweg senkrechte Spalten schaffen, die optisch zusammen hängen


DrawBox

Zeichnung der Boxes

Syntax:

DRAWBOX <boxname> = <number> { [ TOP | LEFT | RIGHT | BOTTOM 
| BOXRADIUS <number> ] }*n ;

Alle Boxes können einen Rand bekommen. Dabei kann man jede einzelne Kante des Kästchens über die Schlüsselwörter TOP, BOTTOM, LEFT, RIGHT einzeln ansteuern. Und man kann für jedes Kästchen die Liniendicke in typographischen Punkten definieren (1 Punkt = 1/72 Zoll, ca. 0.3 mm). Es gibt zusätzliche die Möglichkeit, einen Kasten mit gerundeten Ecken zu definieren. Dies geschieht mit der Abgabe des Schlüsselwortes BOXRADIUS. Hier übergibt man den Radius des Kreises an den Ecken in typographischen Punkten. Wenn man einen BOXRADIUS definiert, werden automatisch alle Kanten des Kastens ausgegeben.

Beispiele:

DRAWBOX TABLE = 1.0;

DRAWBOX DATACELL =  0.1 LEFT RIGHT;

DRAWBOX TABLE = 1 BOXRADIUS 10;


BoxMinHeight

Höhe der Boxes in Punkten

Syntax:

BOXMINHEIGHT <boxname> = <number>;

Wird wegen der Abhängigkeit der Boxes voneinander nicht bei allen '<boxnames>' ausgewertet, z.B. richtet sich die Höhe von DATACELL nach der minimalen Höhe, die bei LABELS X angegeben ist.

'Unabhängig' sind folgende Boxes:

TABLETITLE
TOPTEXT
BOTTOMTEXT
VARTITLE X bzw. Y
LABELS X bzw. Y
FRAMETITLE X bzw. Y


BoxLineFeed

Zeilenabstand innerhalb der Boxes in Punkten

Syntax:

BOXLINEFEED <boxname> = <number> ;

Gültigkeit: analog zu BOXMINHEIGHT


Align

Positionierung von Texten innerhalb der Boxes

Syntax:

ALIGN <boxname> = { <hpos> | <vpos> }*n ;

<hpos> = [ LEFT | RIGHT | HCENTER ] [ <number> ] [ TABULATOR <number> ]
<vpos> = [ TOP | BOTTOM | VCENTER ] [ <number> ] [ TABULATOR <number> ]

Der Text in jeder Box kann sowohl horizontal als auch vertikal positioniert werden. Es gibt die sechs Schlüsselwörter LEFT, RIGHT, HCENTER, TOP, BOTTOM, VCENTER, die in beliebiger Reihenfolge angegeben werden können. Steht direkt nach LEFT oder RIGHT eine Zahl, wird diese als Abstand interpretiert: LEFT 10 bedeutet also 'orientiert am linken Rand, 10 typographische Punkte Abstand'.

Beispiel für eine mittige Positionierung der Texte innerhalb der LABELS X-Box:

ALIGN LABELS X = HCENTER VCENTER;

Beispiel mit einer Abstandsangabe:

ALIGN LABELS Y = LEFT 5 VCENTER;

oder

ALIGN DATACELL = VCENTER RIGHT 6;

Sollen Textelements horizontal zwischen anderen Linien als dem rechten und linken Rand zentriert werden, so kann man dies z.B. so tun:

ALIGN TOPTEXT = RIGHT 20 LEFT 5 HCENTER TOP;

Einige Boxes enthalten nie Text, so z.B. LABELSET X. Die ALIGN-Einstellung wird für diese Boxes deshalb nie ausgewertet, darf aber angegeben werden.

Für Texte (also VARTEXT, TOPTEXT, BOTTOMTEXT) kann man im ALIGN-Statement mit dem Schlüsselwort TABULATOR einen Tabulator setzen. Zum Beispiel:

ALIGN TOPTEXT VCENTER LEFT 6 TABULATOR 55;

Das obige TABULATOR-Schlüsselwort definiert einen Tabulator im Abstand von 55 typographischen Punkten von linken Rand. Im Text selbst kann man innerhalb einer Zeile mit der TAB-Taste den Tabulator setzen.

Wird die Tabelle selbst (TABLE) zum Argument des ALIGN-Statements, also in der Variante

ALIGN TABLE = HCENTER VCENTER;

kann die Tabelle selbst auf dem Papier positioniert werden. Im vorliegenden Beispiel wird sie vertikal zwischen TOP und BOTTOM (siehe PAPER-Statement) und horizontal zwischen LEFT und RIGHT zentriert. Die zusätzlichen Abstandsangaben zu LEFT und RIGHT im ALIGN-Statement selbst werden ignoriert.

Die Zentrierung kann natürlich nur stattfinden, wenn die Dimension der Tabelle kleiner ist als der verfügbare Platz nach der Vorgabe von PAPER und MARGINS. Ist die Tabelle hingegen größer als der verfügbare Platz, wird sie in den durch PAPER und MARGINS vorgegebenen Platz hineingestaucht. Hierbei werden die X-Dimension und die Y-Dimension getrennt behandelt.

Dies ist solange eine gute Lösung, wie die Schriften nicht absolut zu klein und die Stauchungsfaktoren in der X- und Y-Richtung nicht zu weit auseinandergehen. Sonst werden die Schriften u.U. unästhetisch flach bzw. schmal. Ist dies der Fall, sollte man überlegen, wie die Information sinnvoll auf mehrere Tabellen aufgeteilt werden kann.

TextTopDistance

'Spezialabstand': Abstand der ersten Textzeile vom oberen Rand der Box

Syntax:

TEXTTOPDISTANCE = <number>;  

'<number>' = typographische Punkte

Den Abstand der ersten Zeile in den Boxes vom oberen Rand kann man jetzt durch dieses Statement (in Maßen) erhöhen. Bei z.B. ALIGN DATACELL = TOP; kann man dadurch ein etwas ausgewogeneres Druckbild erreichen.


Distance

Definition von Abständen zwischen Boxes

Syntax:

DISTANCE INTERBOX [ X | Y ] <number> = <Zahl>;

Im Normalfall werden die verschiedenen Boxes, aus denen die Tabelle besteht, ohne Abstände aneinandergesetzt. Es können aber sowohl in der X-Richtung wie auch Y-Richtung Abstände definiert werden. Die Abstände (angegeben als Zahl) werden in Postscript-Punkten (1/72 Zoll) ausgewertet.

Beispiel:

DISTANCE INTERBOX X = 13;

DISTANCE INTERBOX Y = 13;

In dieser Standardform werden alle Abstände auf den angegebenen Wert gesetzt. DISTANCE InterBox kann aber auch differenziert werden:

Für X gilt: (horizontale Abstände)

DISTANCE INTERBOX X 1 = <Zahl>; : Abstand Labelboxen Y vom linken Rand
DISTANCE INTERBOX X 2 = <Zahl>; . Abstand TOTAL-Boxen

DISTANCE INTERBOX X 3 = <Zahl>; : Abstand der ersten Variablen Y

DISTANCE INTERBOX X 4 = <Zahl>; : Abstand zwischen mehreren Variablenblöcken

DISTANCE INTERBOX X 5 = <Zahl>; : Abstand rechter Rand vom letzten Variablenblock

DISTANCE INTERBOX X 6 = <Zahl>; : Linker und rechter Abstand von TOPTEXT und BOTTOMTEXT zum Rand

Für Y gilt: (vertikale Abstände)

DISTANCE INTERBOX Y 1 = <Zahl>; Abstand vom TABLETITLE zum TOPTEXT

DISTANCE INTERBOX Y 2 = <Zahl>; Abstand vom TOPTEXT zu den Labels X

DISTANCE INTERBOX Y 3 = <Zahl>; Abstand von den Labels X zu den TOTAL-Zeilen (TOTALROW, ABSROW etc.)

DISTANCE INTERBOX Y 4 = <Zahl>; Abstand von den TOTAL-Zeilen zum ersten Datenblock (bzw. dessen VARTITLEBOX)

DISTANCE INTERBOX Y 5 = <Zahl>; Abstand zwischen mehreren Datenblöcken

DISTANCE INTERBOX Y 6 = <Zahl>; Abstand vom letzten Datenblock zum BOTTOMTEXT

DISTANCE INTERBOX Y 7 = <Zahl>; Abstand vom BOTTOMTEXT zum unteren Tabellenrand

Für alle Distanzen gilt: wenn das entsprechende Objekt nicht vorhanden ist, wird der Parameter nicht ausgewertet.

Außerdem gibt es noch die Form DISTANCE INTERCELL. Damit kann man einen vertikalen Mindestabstand zwischen den Datenzellen definieren.

Syntax:

DISTANCE INTERCELL = <Zahl>;

Beispiel:

DISTANCE INTERCELL = 6;