prevnext   » Startseite » MakeDoc V3.36c » Ideen und Konzepte von MakeDoc

Ideen und Konzepte von MakeDoc

Inhaltsverzeichnis

Auf dieser Seite werden die wichtigsten Ideen und Konzepte von MakeDoc beschrieben.

  DEBUG-INFO: Text unvollständig/fehlerhaft  


1.   #START und #STOP

MakeDoc verwaltet einen speziellen Zähler, der mit dem Wert '0' initialisiert wird. Durch #STOP wird dieser Wert um '1' erniedrigt und durch #START um '1' erhöht. Bei Verwendung von #START mit einem Parameter kann diesem Zähler direkt ein Wert zugewiesen werden.

Ausgaben in die Zieldatei werden nur dann vorgenommen, wenn dieser Zähler einen Wert größer Null hat. Andernfalls werden die Ausgaben ignoriert. Damit können ungewollte Ausgaben unterdrückt werden.

Das Konzept sieht nun wie folgt aus: Bereiche, die eine Textausgabe erzeugen sollen, werden durch #START und #STOP geklammert.

Der aktuelle Wert wert kann durch die Funktion 'INFO("START")' abgefragt werden.


2.   #HTML und #SEVENBIT

Normalerweise werden die Zeichen unverändert in die Ausgabedateien geschrieben.

Mit dem Kommando #HTML kann festgelegt werden, ob Sonderzeichen, wie z.B. Umlaute und das 'ß', automatisch in die HTML konforme Darstellung konvertiert werden.

Mit dem Kommando #SEVENBIT kann festgelegt werden, dass die Ausgabedatei nur echte ASCII Zeichen mit Wert < 128 enthält. Umlaute und das 'ß', werden automatisch in 'ae', 'oe', 'ue' und 'ss' gewandelt.


3.   #RESTART

Um Inhaltsverzeichnisse, Kapitelnumerierungen, Indexregister oder Querreferenzen zu berechnen, muss der Quelltext mindestens zweimal analysiert werden:
  1. Die Referenzen müssen berechnet werden.
  2. Der Text muss gesetzt werden.
Durch #RESTART erfolgt eine erneute Auswertung des Quelltextes. Globale Variablen bleiben dabei erhalten. Um eine Unterscheidung zwischen den einzelnen Durchläufen vornehmen zu können, existiert die Variable 'RESTART$COUNT'. Sie wird mit '0' initialisiert und mit jedem #RESTART um '1' erhöht.

Falls dem Kommando #RESTART ein Ausdruck folgt, wird dieser berechnet und das Ergebnis der Variablen RESTART$VALUE zugewiesen.


4.   #INDENT und #SETINDENT

Um strukturierten, dh. eingerückten Text zu ermöglichen, gibt es die Kommandos #INDENT, #SETINDENT, #MININDENT und #MAXINDENT.

Es existiert ein interner Zähler 'INDENT', mit dem die Einrücktiefe des Textes festgelegt wird. Mittels #INDENT werden relative Einrückungen vorgenommen: Der Angegebene Wert (oder Ausdrück) werden zum internen Zähler addiert. Mittels #SETINDENT absolute Einrückungen angegeben: Der Angegebene Wert (oder Ausdrück) wird dem internen Zähler zugewiesen.

Dieser interne Zähler kann jeden beliebigen Wert annehmen. Eine weitere interne Variable 'ACTIVEINDENT' enthält die im Moment tatsächliche Einrücktiefe. Diese beträgt minimal '$MININDENT' und maximal '$MAXINDENT'. Diese Werte können durch die Kommandos #MININDENT und #MAXINDENT gesetzt werden.

Aus Optimierungsgründen können die aktuellen Werte der beiden internen Variablen nicht über eine Variable, die jedesmal aktualisiert werden müßte, abgefragt werden, sondern nur durch die Funktionen 'md$getIndent()' und 'md$getActiveIndent()'.


4.0.1   Zusammenfassung der Variablen

Zusammenfassung der Variablen
Variable Beschreibung
min$indent Minimal mögliche Einrücktiefe
max$indent Maximal mögliche Einrücktiefe
std$minindent MakeDoc Standardwert der minimalen Einrücktiefe
std$maxindent MakeDoc Standardwert der maximalen Einrücktiefe
option$minindent Durch die Option --min-indent modifizierter Standardwert der minimalen Einrücktiefe
option$maxindent Durch die Option --max-indent modifizierter Standardwert der maximalen Einrücktiefe
$minindent Aktuelle minimale Einrücktiefe
$maxindent Aktuelle maximale Einrücktiefe