3.3 Ausführbare KASDEF-Kommandos
Folgende Befehle werden wie in einer Programmiersprache sequentiell abgearbeitet:
-
\PAUSE
-
verschiebt die Ausführung der restlichen KASDEF-Befehle an das Ende des
Plots.
-
\INCLUDE
- <filename> [keyword]
übernimmt an dieser Stelle alle KASDEF-Befehle aus dem angegebenen File.
Anderweitige Zeilen werden ignoriert. Bei Angabe eines keywords beginnt die
Suche in der Zeile nach dem angegebenen Keyword und endet bei einer
END-Zeile.
3.3.1 Wechsel von Strichstärke, Farbe oder Font
-
\PEN
- <integer>
Definiert die Strichstärke für nachfolgende Zeichenoperationen (Default bei
Plotbeginn: PEN=1).
-
\FONT
- <font>
mit font = WRPLOT (default), TIMES, HELVETICA (kurz HELVET) oder
COURIER. Definiert den Schriftfont ab dieser Stelle. Beachte: Lokale
Definition ist möglich durch &PW, &PT bzw. &PH am Beginn eines Strings;
nach Ende des Strings gilt dann wieder die KASDEF-Einstellung.
-
\COLOR=i
-
definiert die Zeichenfarbe i (i = 0 ... 9) für nachfolgende Zeichenoperationen
(Default bei Plotbeginn: COLOR=1).
-
\DEFINECOLOR=i r g b
-
Wenn einem die voreingestellten Farben nicht gefallen oder ausreichen, kann
man sie mit diesem Befehl umdefinieren. Die neue Definition gilt ab dieser
Stelle (also für die nachfolgenden KASDEF-Optionen und den Rest des Plots).
Die Werte r, g und b sind die Intensitäten der Farben rot, grün und blau; 0 steht
für Null-Intensität (schwarz), 1 für volle Intensität der betreffenden Farbe bei
additiver Farbmischung.
Die Farben 0 bis 9 sind vor-definiert gemäß folgender Tabelle (siehe auch
Abbildung auf der letzten Seite dieser Anleitung). Für Beamer-Präsentation
gibt es in wrplot.dir/screen.kasdefs einen Satz von vordefinierten Farben
mit dunklem Hintergrund (siehe wrplot.dir/colortest-screen.ps.
|
|
|
|
|
|
|
|
|
|
|
| i | Farbe | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
i | Farbe | weiss | schwarz | rot | grün | dunkelblau | gelb | pink | hellblau | hellgrün | blau |
|
|
|
|
|
|
|
|
|
|
|
| r | rot | 1. | 0. | 1. | 0. | 0. | 1. | 1. | 0. | .5 | 0. |
g | grün | 1. | 0. | 0. | 1. | 0. | 1. | 0. | 1. | 1. | .5 |
b | blau | 1. | 0. | 0. | 0. | 1. | 0. | 1. | 1. | 0. | 1. |
|
|
|
|
|
|
|
|
|
|
|
| |
|
-
\RESETCOLOR
-
Mit diesem Befehl kann man, als Gipfel des Luxus, alle voreingestellten Farbwerte
wieder restaurieren.
-
\LIMITCOLOR = nr ng nb
-
Dieses Kommando begrenzt die Zahl der Farben, die man mit DEFINECOLOR
verbrauchen kann, indem der RGB-Farbwürfel auf nr, ng und nb Stufen vergröbert
wird. Diese Option dient der Anpassung an die Grafikkarte und wirkt natürlich nur auf
das X-Fenster, nicht auf generierte PS-Files.
-
\NCOLORSTEP = nstep
-
Dieses Kommando wirkt nur bei Verwendung von SYMBOL=40 (Falschfarbendarstellung)
und begrenzt die Zahl der Farbstufen, die pro Farbtabelle vergeben werden kann.
Diese Option dient der Anpassung an die Grafikkarte und wirkt natürlich nur auf das
X-Fenster, nicht auf generierte PS-Files.
3.3.2 Ausgabe im Kommandofenster
-
\ECHO
- string
Ausgabe des Strings im Kommandofenster
3.3.3 Zeichenaktionen
-
\LIN
- <x1:cm> <y1:cm> <x2:cm> <y2:cm>
Zeichnet eine Linie von x1, y1 nach x2, y2.
-
\LINREL
- <x:units> <y:units> <
x:cm> <
y:cm> <xoffset:cm> <yoffset:cm>
Zeichnet eine Linie vom Ausgangspunkt (x,y) del Länge (
x,
y). Die Offsets
sind optional.
-
\LINUN
- <x1:units> <y1:units> <x2:units> <y2:units> <xoffset:cm>
<yoffset:cm> [<SIZE=Size> <SYMBOL=Symbol>]
Zeichnet eine Linie von x1, y1 nach x2, y2, wobei die Linie um
xoffset, yoffset verschoben wird. Sind die Keywords SIZE (default=0.2) und
SYMBOL (default=5) angegeben, so können beliebige Symbole, insbesondere
gestrichelte Linien gezeichnet werden.
-
\ARR
- <x:units> <y:units> <Länge:cm> <Winkel:Grad> <Größe
der Pfeilspitze:cm> <xoffset:cm> <yoffset:cm> <Modus:0,1> [<FILLED>
<BAR>]
Zeichnet einen Pfeil (Koordinaten-Punkt ist der Anfang des Pfeiles). Bei
Modus=1 ist yoffset abgeschaltet und der Offset erfolgt in Pfeilrichtung. Die
Verschiebung ist dann xoffset in cm. Ist das Keyword ’FILLED’ gesetzt, dann
wird der Pfeil ausgefüllt. Das Keyword ’BAR’ bewirkt, daß ein Fuß an den
Pfeilanfang gezeichnet wird. ACHTUNG : Dieser Befehl wurde mittlerweile
stark verbessert, aber der Autor ist zu faul, dies im Moment genauer zu
beschreiben!
-
\ARC
- <x:units> <y:units> < xoffset:cm> < yoffset:cm> <Radius:cm> <
>
< 
> [<FILLED>]
Zeichnet einen Kreisbogen mit den angegebenen Koordinaten und Radius,
beginnend beim Winkel
mit Bogenlänge 
. Mit der Option FILLED wird der
Kreis bzw. Sektor ausgefüllt.
-
\ELLI
- <x:units> <y:units> <xoffset:cm> <yoffset:cm> <a:units> <b:units> <
>
<
> < 
> [FILLED] [SYMBOL=i] [SIZE=x]
Zeichnet einen Ausschnitt einer Ellipse mit den Halbachsen a und b, wobei
die große Achse um den Winkel
gedreht ist. Der Ausschnitt beginnt beim
Startwinkel
und hat die Bogenlänge 
- diese Winkel beziehen sich auf
den Kreis mit der großen Halbachse vor der Stauchung zur Ellipse. Mit der
Option FILLED wird die Ellipse bzw. der Sektor ausgefüllt. Mit SYMBOL=i
und SIZE=x können verschiedene Zeichensymbole (z.B. gestrichelt) gewählt
werden.
-
\RECT
- <x1:units> <y1:units> <x2:units> <y2:units> <xoffset:cm> <yoffset:cm>
[<FILLED>]
Zeichnet ein Rechteck mit den engegebenen Eckpunkten, ggfs. alle um den
Offset verschoben.
-
\RECTLUN
- <x:units> <y:units> <xoffset:cm> <yoffset:cm> <Breite> <Höhe>
[FILLED] [ROTATE=
]
Zeichnet ein Rechteck. Die Koordinaten beziehen sich je nach Prefix von
xoffset bzw. yoffset auf den linken, rechten, oberen, unteren Rand oder
die Mitten der Seiten. Breite und Höhe sind defaultmäßig in cm, jedoch
bei nachgestelltem U in den jeweiligen x- bzw. y-Units - alles wie üblich.
ROTATE dreht das Rechteck um
, wobei der Drehpunkt der durch die Prefixe
bezeichnete Referenzpunkt ist.
x[units] und y[units] sind bei Verwendung von SAME mit anderen,
vergleichbaren Kommandos gemeinsam. xoffset bzw. yoffset werden mit SAME
samt ihres Prefix von der LUN-Umgebung uebernommen, d.h. es gilt die
aktuelle Schreibposition, in die z.B. NEXTLUN die nächste Zeile plazieren
würde. Damit eignet sich RECTLUN besonders, um in Textfolien z.B. einen
Merksatz einzukasteln. Umgekehrt beeinflussen bei RECTLUN angegebene
xoffset bzw. yoffset nicht die aktuelle Schreibposition.
-
\SYM
- <x:units> <y:units> <xoffset:cm> <yoffset:cm> <Size:real>
<Symbol:integer> [<CFILL=i>]
Zeichnet das Symbol in der Größe Size an den Ort x + xoffset, y + yoffset.
Symbol ist die Nummer des Plot-Symbols (Abb. 7 - nur diskrete Plotsymbole!).
CFILL=i bewirkt ein Füllen des Symbols mit der Farbe i und eine Umrandung
in der aktuellen Zeichenfarbe.
-
\BAR
- <x:units> <y:units> <xoffset:cm> <yoffset:cm>
Zeichnet einen Fehlerbalken an den spezifizierten Ort.
-
\BARLEN
- <
y,up > <
y,down > <
x,up > <
x,down >
Gibt die Länge des Fehlerbalkens in jeder Richtung an. Default: 0.,0.,0.,0.
-
\BARPAR
- <Space:cm> <edge:cm> Spezifiziert den Platz, der für das Symbol
ausgespart wird, und gibt die Länge der Kanten an. Default: 0.,0.
3.3.4 Ausgabe von Text
-
\GLATEX
- oder \GLATEX ON
schaltet für sämtliches Textausgabe die German-Latex-Syntax ein, d.h. die
Umlaute und ß werden durch vorangestelltes Gänsefüßchen (”) codiert. Die
Anführungszeichen selbst erhält man wie in Latex durch “ und ” oder - deutsch
- durch Gänsefüßchen-Backquote bzw. Gänsefüßchen-Apostroph.
\GLATEX OFF schaltet die German-Latex-Syntax wieder aus.
-
\LAB
- <x:cm> <y:cm> <Size:real> <Text:string> Schreibt den String in der
Größe Size am Ort x, y.
-
\LUN
- <x:units> <y:units> <xoffset:cm> <yoffset:cm> <Size:real> <Text:string>
wie LAB, nur Ort = x + xoffset, y + yoffset. Bei xoffset kann ein L (default), R
oder M vorangestellt werden, dann bezieht sich die angegebene Position auf
das linke Ende, das rechte Ende oder die Mitte des Strings. Entsprechend
kann bei yoffset ein D (default), U oder M vorangestellt werden, dass ist
die angegebene Position die Grundlinie (“Down”) oder die obere (“Up”)
Begrenzung der Charakter-Box bzw. deren Mitte. Diese Optionen erleichtern
sehr das Positionieren von Beschriftung!
-
\LUNA
- <x:units> <y:units> <xoffset:cm>
<yoffset:cm> <Size:real> <angel:real> <Text:string> wie LUN, nur durch die
zusaetzliche Winkelangabe wird die Schrift gedreht. Wie bei \LUN legen die
Präfixe fest, auf welchen Punk (Ecke, Mitte) des Strings sich die Koordinaten
beziehen. Dieser Punkt ist dann auch der Drehpunkt.
-
\LINUNLAB
- < x1:units> < y1:units> < x2:units> < y2:units> < xoffset:cm>
< yoffset:cm> < Soffcenter:cm> <Size> <String> Zeichnet eine Linie von
(x1,y1) nach (x2,y2) und setzt in dabei um Soffcenterversetzt in die Mitte den
String ein.
-
\LUNINC
- <x:units> <y:units> <xoffset:cm>
<yoffset:cm> <Size:real> <File:string> <Prefix:string> <Suchstring:string>
Sucht aus dem FILE die Zeile, die mit dem SUCHSTRING beginnt heraus und
gibt diese, erweitert um das PREFIX, an der angegebenen Stelle aus.
-
\NEWSIZELUN
- <Size:real> Verändert die Schriftgröße der LUN-Befehle auf
den angegeben Wert.
-
\NEXTLUN
- <text>
ermöglicht das leichte Schreiben von mehreren Textzeilen. Die Parameter vom
vorangegengen LUN-Kommando werden beibehalten, jedoch wird der Y-Offset
um einen Lineskip verringert.
-
\SAMELUN
- <text>
arbeitet wie NEXTLUN, schreibt aber in die gleiche Zeile. Die Parameter vom
vorangegengen LUN-Kommando werden beibehalten.
-
\LINESKIP
- <lineskip>
setzt den von NEXTLUN benutzten Lineskip (real, in cm) auf den
angegebenen Wert (Default: 2*SIZE). Bei nachgestelltem S bzw. U (z.B. 0.5S)
wird der angegebene Wert in Einheiten der Symbolsize (S) bzw. in Units (U)
interpretiert.
-
\MEDSKIP
-
erzeugt einen Zeilenvorschub um die Hälfte des in LINESKIP definierten
Wertes.
-
\TABLUN
- <tab>
rückt der linken Anfangspunkt der folgenden mit NEXTLUN geschriebenen
Zeilen um tab (real, in cm) ein oder aus. tab kann auch einen Prefix tragen,
d.h. durch Voranstellen von L, R oder M wird der aktuelle Prefix entsprechend
modifiziert.
-
\TEXT
- [<x:units> <y:units> <
x : cm > <
y : cm > <Size:real>]
Die nachfolgenden Zeilen sind Fließtext bis zu der Zeile \ENDTEXT. Fehlen
die Parameter, wird der Textblock wie NEXTLUN automatisch positioniert.
Silbentrennung erfolgt innerhalb von Fließtext vorerst nur an Trennstellen, die
durch “\-“ (wie bei Tex) von Hand vorgegeben sind.
-
\RIGHTMARGIN
- <x:cm> Bestimmt die Lage des rechten Randes für Fließtext.
-
\BLOCK
- oder BLOCK ON
Schaltet Fließtext auf Blocksatz (Anfangsstellung: ausgeschaltet)
-
\BLOCK OFF
- Schaltet Blocksatz wieder aus
-
\ITEMIZE
- size string
wirkt auf alle nachfolgenden Zeilen (mit LUN bzw. NEXTLUN geschrieben)
und Fließtext-Absätze (mit TEXT geschrieben). Der Text wird eingerückt, und
mit dem string als Item-Symbol markiert (Beispiel für den string: &2\o macht
einen roten Kreis). size gibt die Schriftgröße für das Item-Symbol (auch SAME
möglich).
-
\ITEMIZE OFF
- verläßt die Itemize-Umgebung
-
\BGRLUN
- [<OFF>] [<ON>] [<RESET>] [<COLOR=...>] <L=...:, R=...:, U=...:,
D=...:> Wenn diese Option eingeschaltet ist, wird jede Schrift, die mit \LUN
oder \LUNA ausgegeben wird, mit farbigem (default: weißem) Hintergrund
hinterlegt. Um wieviel die Box größer ist als die Schrift wird in Einheiten
von SIZE angegeben. Durch das Keyword RESET wird auf die Defaultgröße
(0.5*SIZE an jeder Seite) zurückgesetzt. Die Farbnummer kann optional
negativ angegeben werden: dann wird nur die Begrenzung der Fläche
gezeichnet ohne Ausfüllen.
Seit Programmversion vom 2.9.2002 wirkt BGRLUN in analoger Weise
auch auf auf mit EPSF eingebundene Objekte. Damit kann man also z.B.
in Latex geschriebene Formeln hinterlegen, oder eingebundene Grafiken.
Die Hinterlegung gehört nicht zum eingebundenen Objekt, d.h. dessen
BoundingBox und Positionierung wird davon nicht verändert.
-
\TABON
- <Anordnung> [<Prefix>]
startet die Tabellenumgebung. Die Anordnung der Spalten erfolgt ähnlich wie
in Tex. Jeder Spalte wird ein Buchstabe (L, M oder R) zugeordnet. Je nach
Buchstabe wird die Spalte linksbündig (L), zentriert (M) oder rechtsbündig (R)
ausgegeben. Das Prefix wird jedem String vorrangeschrieben und ermöglicht
so die einfache Kontrolle der Farbe oder des Textstyles in der Tabelle.
Die Tabbelle insgesamt beginnt mit der aktuellen Schreibposition (wo auch
NEXTLUN hinschreiben würde). In X-Richtung wird der aktuelle Prefix
angewendet, also bei beispielsweise bei “M” zentriert. Unter der Tabelle kann
mit NEXTLUN usw. einfach weitergeschrieben werden. Die aktuellen Prefixe
sind erhalten geblieben.
-
\TAB
- <Strings>
ist eine Zeile in der Tabellenumgebung. Die Zahl der Strings sollte der Zahl
der Buchstaben der Anordnung im Befehl TABON entsprechen. Abweichungen
werden derzeit restriktiv gehandhabt.
-
\TABOFF
-
schaltet die Tabellenumgebung ab.
-
\DATE
- [<x:units> <y:units> <xoffset:cm> <yoffset:cm>
<Size:real> <angel:real>] zeichnet hochkant an der rechten Seite des Plots
das Datum, falls keine Koordinaten angegeben sind.
-
\FILE
- [<x:units> <y:units> <xoffset:cm> <yoffset:cm> <Size:real> <angel:real>
] zeichnet hochkant an der rechten Seite des Plots den File-Namen, falls keine
Koordinaten angegeben sind.
-
\{Zähler\|Nenner\}
-
Brüche mit automatischer Zentrierung von Zähler und Nenner
3.3.5 Linienidentifikation
-
\LAM
- <x:units> <y:cm> <
y> Zeichnet eine senkrechte Linie (z.B. zur
Linienidentifikation) der Länge
y an den Ort x, y.
-
\TRA
- <x:units> <y:cm> <size:real> <Text:string> Schreibt den String senkrecht
(z.B. zur Linienidentifikation) in der Größe Size an den Ort x, y.
-
\CON
- <x1:units> <x2:units> <y:cm> Zeichnet eine waagerechte Linie von x1 bis
x2 in der Höhe y. (Anwendung: Verbindung Multiplettkomponenten)
-
\IDENT
- <x:units> <Text:string> Schreibt einen Identifikationsstrich und den
String senkrecht an Ort x. Dabei wird automatisch darauf geachtet, daß
die einzelnen Beschriftungen nicht ineinander laufen. Der Default-Wert der
Schriftgroße ist 0.4 und die Default-höhe ist 8cm.
-
\IDY
- <y:cm> Höhe der Identifikations-Beschriftung über der X-Achse (Default:
8cm). Angabe auch in Units möglich durch nachgestelltes U (z.B. \IDY 1.5U)
-
\IDSIZE
- <Size:real> Legt die Schriftgröße der Identifikation fest. (Default=0.4)
-
\IDXOFF
- <Offset:units> Verschiebt die Identifikation um Offset in x-Richtung.
-
\IDSPACE
- <real> Bestimmt den Freiraum zwischen den einzelnen
Identifikationen.
-
\IDLENG
- <real> Bestimmt die Länge des Identifikationsstrichs (Default=2cm).
Angabe auch in Units möglich durch nachgestelltes U (z.B. \IDLENG 0.1U)
-
\IDRESET
- Setzt den Identifikationszähler auf Null.
-
\IDHOR
- Die folgenden Identifikationen werden senkrecht geschrieben.
-
\IDVER
- Die folgenden Identifikationen werden waagerecht geschrieben.
-
\IDBACKWARD
- Die folgenden Identifikationen werden nach links (bzw. unten)
ausgerückt.
-
\IDFORWARD
- Die folgenden Identifikationen werden nach rechts (bzw. oben)
ausgerückt.
-
\ID_START
- Die Identifikationbeschriftung startet bei der angegebenen
Wellenlänge.
-
\ID_CONNECT
- Die Identifikationbeschriftungen werden zusammengehalten.
-
\ID_NOCONNECT
- Schaltet die vorhergehende Option wieder zurück (Default).
-
\IDMULT
- <
1:Å>, <
2:Å>, <
3:Å>, ..., <Text:string> Linienidentifikation für
mehrere Blendkomponenten (Kamm). Der letzte Parameter ist der Textstring.
Enthält dieser Blanks, so muß der String durch Anführungsstriche verbunden
werden.
-
\IDMLENG
- <a:real> <b:real> oder RESET Bestimmt die Aufteilung des
Identifikationsstriches. Bei Angabe von RESET wird die Aufteilung auf den
Default-Wert gesetzt. Der untere sowie der mittlere Teil haben dann die Länge
von jeweils 43%. Dem oberen Teil fällt der Rest zu. Die explizite Angabe von
a und b beeinflusst den mittleren und unteren Teil. Beide Zahlen müssen im
Bereich [0, 1) ligen und deren Summe darf 1. nicht überschreiten.
-
\IDMCOMB
- [<TRUE, FALSE>] Wenn diese Option eingeschaltet ist, dann wird
beim COMMAND IDMULT keine Identifikation in den Plot geschrieben.
-
\IDLOG
- Die Wellenlängen, die
in den einschlägigen Ident-Kommandos angegeben werden, werden vor der
Ausführung logarithmiert. Damit kann man also die Identifikationen über einer
log
-Skala plotten.
-
\IDNOLOG
- macht die IDLOG-Option wieder rückgängig (Default).
3.3.6 Einbinden von PostScript-Files
Andere PostScript-Files können in des ps-output von WRPLOT eingebunden werden. Im
WRPLOT-Fenster wird die Bounding Box des eingebundenen Bildes als gefülltes Rechteck
der aktuellen Farbe dargestellt. Die Positionierung und Skalierung des eingebundenen
Bildes orientiert sich - wie in Latex - an dessen Bounding Box. Das Kommando
ist:
-
\EPSF
- file.ps [options]
Bei Abwesenheit jeglicher Positionierungsangaben wird das einzubindende
Bild nicht skaliert oder verschoben (diese Variante funktioniert deshalb auch
bei abwesender oder kaputter Bounding Box).
[COORD xunits yunits
xcm
ycm]
Positionierung nach Koordinaten. Bei den
x,
y kann - wie bei LUN - durch
vorangestelltes L (Default) oder R bzw. U oder D (Default) spezifiziert werden,
ob sich die angegebene Position auf den linken (L), rechten (R), oberen (U)
oder unteren (D) Rand der Bounding Box des einzubindenden Bildes beziehen
soll.
NEXTLUN
alternativ zu COORD; positioniert das Bild an die Stelle, an die die nächste
Textzeile (mit NEXTLUN) geschrieben werden würde.
EPSFXSIZE = xsize oder EPSFYSIZE = ysize
bewirkt eine Skalierung auf die angegebene Breite bzw. Höhe xsize (Default:
in cm; bei angehängtem U: in Units).
SCALE = x.x
bewirk eine Skalierung um den angegebenen Faktor.
LATEX
ermöglicht das Einbinden von epsf-Files, die mit latex und
dvips -o -E filename
(alias: dvieps) erzeugt worden sind. Die Option versucht, das störende
showpage aus dem PS-File zu eliminieren.
Die Koordinaten der Box werden automatisch in Variablen geschrieben, und
zwar in EPS_X1, EPS_XM, EPS_X2 für die X-Koordinate und EPS_Y1,
EPS_YM, EPS_Y2 für die Y-Koordinate. Diese Angaben sind in units. Die
gleichen Variablen, nur mit einem angehängten CM, also z.B. EPS_X1CM,
geben die Positionen in cm an.
3.3.7 Direktes Erzeugen und Einbinden Objekten aus LaTex-Quellcode
\LATEX [options]
...latex-script ...
...latex-script ...
\ENDLATEX
entspricht ungefähr dem, als würde man mit LaTex aus dem ...latex-script... ein EPS-File
erzeugen und dieses dann mit \EPSF in WRplot einbinden. Der zwischen \LATEX und
\ENDLATEX eingeschlossene LaTex-Code wird in ein Dokument (documentstyle, 12pt)
eingefügt, das einsprechende EPS-File erzeugt und in den WRplot eingebunden. Im
X11-Fenster erscheint natürlich nur die BoundingBox. Der String kann WRplot-Variable
enthalten, aber sonst keine Dollars. Die aktuelle Farbsetzung in WRplot (\COLOR) wird
nach Latex übernommen, aber eine ggfs. in LaTex veränderte Farbe nicht nach WRplot
zurückgegeben.
Die Optionen hinter \LATEX entsprechen denen von \EPSF (Positionierung,
Skalierung, Rotation). Im Unterschied zu EPSF gelten jedoch folgende Defaults:
- Positionierung wie NEXTLUN (also nächste Zeile), falls kein COORD=...
angegeben ist
- Skalierung auf die aktuelle Schriftgröße (SIZELUN), falls keine andere
Skalierung (SCALE, EPSFXSIZE, EPSFYSIZE) angegeben ist.
In den meisten Fällen wird man also ganz ohne Optionen auskommen. Wie bei EPSF
kann mit \BGRLUN hinterlegt oder umrandet werden.
Zum Einfügen von LaTex-Code in beliebige Text-Strings siehe auch Kapitel 5.2.
3.3.8 Variable
Variablen können in WRPLOT in einer ähnlichewn Syntax wie in UNIX zugewiesen und
benutzt werden. Bei der Verwendung muß vor der Variable ein $ stehen, bei der
Zuweisung nicht. Klein- und Großschreibung sowohl des Variablennamens, als auch des
Inhalts sind signifikant. Die Länge, sowohl des Namens als auch des Inhalts, ist 80
Character.
-
\VAR
- A=... Setzt eine Variable auf den angegeben Wert. Dabei kann rechts vom
Gleichheitszeichen sowohl ein String als auch eine Variable stehen. Zwei
Variablen können mit // concatenated werden. Beispiel: \VAR INCNAME =
$PATH // $NAME.
-
\CALC
- A = expression
Ausrechnen arithmetischer Ausdrücke. Die Syntax ist sehr flexibel und robust
und entspricht etwa den arithmetischen Ausdrücken in FORTRAN. Erlaubt sind
die Rechenoperationen +-*/, beliebig geschachtelte Klammern, Exponentiation
mit ** oder
und Funktionsaufrufe (sin, cos, dex, log, exp, sqrt, abs). Groß-
oder Kleinschreibung ist hier egal. Konstanten können im Integer, F- oder auch
E-Format auftreten. Variablen müssen natürlich mit einem vorangestellten
Dollar aufgerufen werden, und von einem Blank gefolgt sein (damit ihr Ende
klar ist). Ansonsten sind Blanks nicht signifikant.
-
\CALC_DEBUG
- oder \CALC_DEBUG ON schaltet einen Debug-Output ein
(nach Stardard-Output), an dem man das schrittweise Auswerten der
arithmetischen Ausdrücke durch \CALC mit den eingesetzten Variablen im
Detail verfolgen kann.
-
\CALC_DEBUG OFF
- schaltet den Debug-Output wieder aus (Default).
-
\EXPR
- A = $var1 OPERATOR $var2
Ermöglicht das Rechnen bzw. das Aneinanderfügen von Strings. Bislang sind
die vier Grundrechenarten verdrahtet, d.h. als Operator dienen die üblichen
Symbole. Dabei ist zu beachten, daß die beiden Strings nur Zahlen enthalten
dürfen. Zum Zusammfügen von Zeichenketten dient der Fortran-Operator //.
Hierbei sind beliebige Strings erlaubt.
-
\VAR-LIST
- Gibt eine Liste der Variablen auf dem Bildschirm aus.
-
\FORMAT
- formatstring $var
ermöglicht das Formatieren einer Variablen, z.B. um nach arithmetischen
Operationen auf eine gewünschte Stellenzahl zu runden. formatstring ist das
Format nach FORTRAN-Syntax, inklusive der Klammern, also z.B. (F5.2). Alle
in FORTRAN vorhandenen FORMAT-Spezifikationen sind erlaubt.
3.3.9 IF-Konstruktionen
Wie in FORTRAN können IF-Bloecke benutzt werden. Als logische Operatoren stehen
bisher .EQ. und .NE. zur Verfügung. Im Unterschied zur FORTRAN-Syntax dürfen keine
Klammern um den logischen Ausdruck stehen und es erübrigt sich das THEN. Zudem
muß der Befehl ELSEIF als ein Wort benutzt werden. Die IF-Blöcke dürfen beliebig
geschachtelt werden, mit der einzigen Ausnahme, daß der Befehl ELSE immer auf das
letzte IF bzw. ELSEIF wirkt. Deshalb kann die Konstruktion IF ..., ELSIF ..., ELSE ... nicht
wie in FORTRAN wirken. Beispiel:
\IF $A .EQ. $B
\LUN ...
\EXPR C = $B // $A
\EXPR D = 7. * $A
\ELSEIF $A .EQ. $C
\ ...
\IF $NAME .EQ. 'TEST'
\ ...
\ENDIF
\ENDIF
|
3.3.10 DO-Loops
Seit neuestem können KASDEF-Befehle auch in geschachtelte
Loops gepackt werden.
\DO LAB I=START, END, INCREMENT
\...
\LABEL LAB
|
Eine Konstruktion mit DO, ..., ENDDO funktioniert noch nicht.
Warnung: Die Loop ist z.Z. noch im alten Fortran-66 Stil programmiert, d.h. die Loop
wird immer mindestens 1-mal durchlaufen!!!