Symbole sind benutzerdefinierte inhaltsleere Variablen, welche sich durch das Kommando !set und beim Aufruf von UDO durch die Kommandozeilenoption -D setzen und mit dem Kommando !unset auch wieder entfernen lassen. Ob ein Symbol gesetzt oder nicht gesetzt ist, lässt sich mit den Abfrage-Befehlen !ifset bzw. !ifnset testen.
Die Einsatzmöglichkeiten von Symbolen sind vielfältig. Das folgende Beispiel zeigt Ihnen ein typisches Anwendungsgebiet, bei dem man je nach gesetzten Symbolen eine Zieldatei mit unterschiedlichem Inhalt erhält.
Gehen wir einmal davon aus, dass wir einen Quelltext geschrieben
haben, der drei Kapitel enthält. Die ersten beiden Kapitel sind
bereits fertig, am letzten Kapitel wird noch eifgrig herumgebastelt.
Um nun die Turn-Around-Zeiten zu minimieren, wollen wir eine Zieldatei
erzeugen, die nur das dritte Kapitel enthält. Nur wenn das Symbol
AlleKapitel
gesetzt ist, soll die Zieldatei alle Kapitel
enthalten:
!begin_document !tableofcontents !ifset [AlleKapitel] !include kapitel1.ui !include kapitel2.ui !endif !include kapitel3.ui !end_document
Starten Sie UDO nun normal
, wird eine Zieldatei erstellt,
die nur das dritte Kapitel enthält. Starten Sie UDO hingegen mit der
Kommandozeilenoption -D AlleKapitel
, werden
alle Kapitel umgewandelt.
Das Spielchen kann man natürlich noch etwas ausbauen. Durch
Verwendung weiterer Symbole kann man gezielt nur einzelne Kapitel oder
alle zusammen in die Zieldatei aufnehmen. Im folgenden Beispiel wird
bei Übergabe der Option -D Kapitel1
nur das
erste Kapitel in die Zieldatei aufgenommen. Übergibt man
-D Kapitel1
und
-D Kapitel2
, so werden das erste und das zweite
Kapitel eingebunden. Übergibt man hingegen
-D AlleKapitel
, wird die Zieldatei komplett
dargestellt:
!begin_document !tableofcontents !ifset [Kapitel1, AlleKapitel] !include kapitel1.ui !endif !ifset [Kapitel2, AlleKapitel] !include kapitel2.ui !endif !ifset [Kapitel3, AlleKapitel] !include kapitel3.ui !endif !end_document
Ihrer Phantasie sind hier kaum Grenzen gesetzt!
Wie in der Einführung zu diesem Abschnitt beschrieben, lassen sich Symbole auch wieder löschen. Dazu bedient man sich des Befehls !unset.
Wollen Sie in obigem Beispiel partout verhindern, dass alle Kapitel in die Zieldatei eingebunden werden, können Sie zuvor das Symbol AlleKapitel löschen, sofern es gesetzt wurde. Dies funktioniert so:
In diesem Beispiel wird also zunächst abgefragt, ob das Symbol
AlleKapitel
gesetzt ist. In dem Falle wird es
durch den Befehl !unset gelöscht. Die vorherige
Abfrage ist deshalb notwendig, damit man eine Fehlermeldung durch UDO
vermeidet, falls das Symbol AlleKapitel
einmal
nicht gesetzt ist.
Hinweise: