..Dies ist die Dokumentation im HyperMake (MakeIPF)-Format.
..Aus dieser Datei kann eine HTML oder IPF-Datei
..erzeugt werden. Lesen Sie bitte README.1ST.

..   In diesem Quelltext der Doku sind viele IF-Bedingungen. Der in diesen
..   Bedingungen enthaltene Text wird nur in der Doku aufgenommen, wenn
..   die Bedingung beim Erstellen mit HMAKE als Kommandozeilenparamter
..   eingegeben wird:

..   #HTMLDOC      erzeugt spezifische Doku fr die Erstellung von 
..                 HTML-Texten
..   #IPFDOC       fr IBM IPF
..   #HLPDOC       fr kontext-sensitives IBM IPF (HLP)
..   #WORDSTARDOC  wenn fr den Quelltext der alte DOS WordStar 4.0
..                 benutzt wird

..Falls Sie trotzdem den Rohtext als "Anfnger" anschauen mchten,
..folgende Hinweise:
..Punktbefehle beginnen mit einem Punkt und werden nur interpretiert,
..wenn sie unmittelbar am Anfang der Zeile stehen. In diesem Text werden
..viele Punktbefehle absichtlich ausgedruckt und nicht interpretiert,
..weil davor noch ein Leerzeichen steht.
..Kapitelberschriften wird ein .n vorangestellt, wobei n die Hierarchie
..angibt (1 bis 6). Das Zeichen  markiert Wrter fr den Index und als
..Querverweis-Ziel, :Wort1 Wort2: markiert einen Ausdruck.
..Die restlichen Sonderzeichen sind Umschalter (Toggles), z. B. fr
..fette Schrift.

.TI Dokumentation HyperMake 3.0
.fu[]
.bt reddot
.ft
.st
.1
Einfhrung

HyperMake (frher MakeIPF) dient der einfachen Erstellung von Dateien im HTML- und IPF-Format. Statt direkt HTML-Dateien oder IPF-Dateien zu editieren, wird ein ASCII-Rohtext erstellt, der weitaus weniger Kommandos erhlt. Querverweise werden automatisch gezogen, mit nur einem Befehl werden Fenster verschiedener Gliederungsebenen gleichzeitig angezeigt ("Frames"), am Ende eines Kapitels wird automatisch auf Unterkapitel verwiesen und vieles mehr.

Die Version 3.0 ist das erste "major release", , das auch HTML-Dateien erzeugen kann. Aus nur einem Quelltext lassen sich sowohl HTML- als auch wie bisher IPF-Dateien erzeugen.

Neu sind auerdem Tables (Tabellen) als auch eine Rckwrts-Konvertierung von IPF nach HyperMake. Dies ist dann sinnvoll, wenn eine Dokumentation schon im IPF-Format vorliegt.

HyperMake existiert derzeit als Win32 (Windows 95 und NT) und als OS/2-Versionen. Knftige Versionen wird es unter weiteren Betriebssystemen geben.

HyperMake ist nicht in erster Linie dafr gedacht, eine einzelne kleine Homepage zu schreiben. Seine Strke liegt in der Erstellung grerer Dokumente wie komples Homepages, wissenschaftliche Arbeiten oder Programmdokumentationen mit Inhaltsverzeichnis und Stichwortverzeichnis (Index).

Wenn Sie HyperMake verwenden, mssen Sie lediglich das vergleichsweise einfache HyperMake-Format erlernen. Sie knnen HyperMake Quelltexte erstellen mit
 einem ASCII-Editor mit autom. Zeilenumbruch
 einem ASCII-Editor ohne autom. Zeilenumbruch
 oder einem alten DOS WordStar Version 3.4 oder 4.

HyperMake hat einige leistungsstarke Features zu bieten:

 Automatische Querverweis- und Index-Erstellung
Das Markieren eines Wortes oder eines Ausdrucks mehrerer Wrter mit einem speziellen Zeichen hat zur Folge:
- Querverweise (engl. links) von allen gleichlautenden Ausdrcken im Text zur markierten Textstelle hin
- einen entsprechenden Eintrag im Index (zu deutsch Stichwortverzeichnis).

.IF HTMLDOC
 Automatische Zerlegung in zahlreiche HTML-Dateien
Beim Erzeugen von HTML-Dateien wird eine Quelldatei in zahlreiche einzelne HTML-Dateien zerlegt. Dies fhrt zu hherer Performance bei der Benutzung von Browsern. Weder der Autor des Textes noch der Betrachter merkt etwas davon.
.END

.IF IPFDOC
 Automatische Erstellung von Helptables
Fr OS/2 HLP-Dateien drfen in den HyperMake ASCII-Quelltext direkt ID Konstanten wie "ID_buttonOK" eingetragen werden, um eine Verbindung zwischen dem Knopf und der erluternden Textpassage herzustellen. HyperMake generiert eine Helptable-Datei, die in die RC-Datei eingebunden werden kann.
.END

 Automatische Erstellung von Querverweisen zu Unterkapiteln
.sno
Am Ende eines Hauptkapitels, vor dem ersten Unterkapitel, werden Querverweise zu allen Unterkapiteln und zum nchsten Hauptkapitel erstellt.
.sn

 Automatische Anordnung von Kapiteln verschiedener Gliederungsebenen am Bildschirm
Mit nur einem kurzen Befehl erhalten die folgenden Kapitel je nach Gliederungsebene verschiedene Positionen und Gren am Bildschirm - es werden also Kindfenster (engl. Frames) generiert. Zwei oder gar drei Fenster verschiedener Gliederungsebenen, also Kapitel, Unterkapitel, Unterunterkapitel, erscheinen so gleichzeitig, vgl. Beispiel Fensteranordnung.

 Einfache Erstellung von Funoten
Bei HTML werden Funoten ber Frames realisiert, bei IPF ffnet sich pro Funote ein kleines Funotenfenster.

 Tables (Tabellen)
Tabellen werden wie bei einer ASCII-Datei mit festen Schritten eingegeben. HyperMake setzt dies in HTML- bzw. IPF-Tabellen um.

 Automatisches Linienziehen, um Kstchen zu erstellen

 Kurze, einfache Befehle
- fr Kapitelberschriften und deren Gliederungsebene
- um Schriften auszuwhlen
- um Grafiken allein oder im Flietext auszugeben
- um unsortierte Listen / sortierte Listen (engl. unordered lists / ordered lists) zu generieren. (Dies hier ist eine zweistufige unsortierte Liste.)

In dieser Version 2.9 fehlt noch die Untersttzung von Tabellen (Tables) sowohl fr HTML als auch fr IPF. Dies ist fr 3.0 vorgesehen.

.2
HTML-Dateien, Web-Browser und Internet

.in Dateiformat HTML
.in HTML-Datei
Die :Hypertext-Markup-Language HTML: ist ein plattformbergreifendes Dateiformat fr Texte. Es handelt sich um einen ASCII-Text, in den mit spitzen Klammern <> Kommandos eingestreut sind. Wichtigstes Merkmal sind die Querverweise, sog. Links. Um HTML-Dateien zu betrachten, bentigt man Browser.

In der Regel befinden sich die Dateien nicht lokal auf dem eigenen Rechner, sondern im Internet. Trotzdem aber lt sich das HTML-Format dazu benutzen, lokal gespeicherte Daten wie Programmdokumentationen oder Nachschlagewerke anzuschauen.

Der aktuelle Entwicklungsstand von HTML ist 3.2. Dieser Stand wird von HyperMake untersttzt. Die wichtigste Neuerung sind Frames (Fensteranordnung). Mit HyperMake erzeugte HTML-Dateien, die Frames enthalten, knnen auch mit lteren Browsern betrachtet werden, dann natrlich ohne Frames.

.2
IPF, INF und HLP-Dateien

.in Dateiformat IBM INF
.in Dateiformat IBM HLP
.in Dateiformat IBM IPF
.in IPF-Datei
HTML Browser sind langsam und schwerfllig. IBM INF und HLP Dateien sind kompakte Binrdateien. Der Viewer (Betrachter) ist klein und sehr schnell. IBM INF Viewer gibt es fr OS/2 (das Format aller OS/2-Programmdokumentationen), fr Win16 und fr DOS. Der Win16 Viewer ist Teil des Pakets "Just add Warp"; es werden die Dateien LIBIPFX.DLL, VIEW.EXE und VIEWH.HLP bentigt. Der DOS Viewer ist in IBM DOS 7 enthalten und es gibt auch ein Freewareprogramm (VIEW01.ZIP Compuserve OS2DF1).

Um IBM INF-Dateien zu erstellen, bentigen Sie den IBM IPFC Compiler (von IPF nach INF). Dieser ist Bestandteil von OS/2-Entwicklungssystemen, es soll ihn aber auch fr Windows geben.[Die Windows-Version ist Bestandteil des IBM Visual Age C++ Entwicklungssystems.]

Im Vergleich zu HTML-Browsern haben die IBM INF Viewer einige leistungsstarke Features, die vor allem bei groen Dokumenten zum Tragen kommen:

 der Index ist Bestandteil des binren INF Formates
 ebenso das Inhaltsverzeichnis, Kapitelberschriften lassen sich wie Verzeichnisbume auf- und zuklappen
 sehr schnelle Such-Funktion: Da intern jedes Wort nur einmal gespeichert ist und Zeiger auf die tatschlichen Textstellen zeigen, knnen mehrere MB pro Sekunde nach bestimmten Wrtern abgesucht werden. Der Benutzer erhlt dann ein Auswahlfenster mit allen Kapiteln, in denen der Suchbegriff vorkommt.
 Mehrere INF-Dateien knnen per Kommandozeilenparameter "zusammengehngt" werden, so da fr den Benutzer eine groe Hilfedatei mit entsprechend vergrertem Inhaltsverzeichnis und Index entsteht.

Die wichtigen HTML-Features wie Tables, Frames, Bilder usw. sind alle auch im IBM INF-Format enthalten.

Der Inhalt von IBM INF- und HLP-Dateien wird in einer Sprache namens IPF eingegeben, hnlich HTML. Es ist ein mchtiges Werkzeug, mit dem praktisch alles machbar ist, was in einem solchen Hypertext denkbar ist. Allerdings ist diese Eingabesprache ziemlich umstndlich und hat kaum eine Eigenintelligenz. Deshalb findet man als OS/2-Anwender hufig farblose Hypertexte, die z. B. fast keine Querverweise enthalten.

Die Dokumentation zum IPF-Format gibt es nur in englischer Sprache, so da manche Benutzer dabei ihre Schwierigkeiten haben.

HyperMake erleichtert Ihnen die Erstellung von IBM INF-Dateien[Das IBM information format ist ein Hypertext-Format, insbesondere fr Programmdokumentationen.] und HLP-Dateien[Das HLP-Format ist hnlich dem INF-Format, ermglicht aber Verbindungen zwischen dem zu beschreibenden Programm und dem Hypertext. HLP-Dateien sind sozusagen Bestandteil des Anwenderprogramms.]. HyperMake generiert IPF[Das IPF Format (Information Presentation Facility) ist der Ausgangstext, um INF- oder HLP-Dateien zu erstellen.] Dateien von einem speziellen HyperMake ASCII-Format. Aus einer solch automatisch erstellten IPF-Datei wird dann mit dem IBM-Programm IPFC[IPFC ist Bestandteil jedes OS/2 Programm-Entwicklungssystems. Auf meinem Rechner sind es die Dateien IPFC.EXE, IPFC20.INF und IPFCEXMP.INF sowie ein Verzeichnis IPFC mit lnderspezifischen Informationen.] die INF- oder HLP-Datei erzeugt.


.1
Erstellen eines HyperMake Quelltextes
.in Erstellen eines HyperMake Quelltextes

.FA verti 25
.2
Grundlagen

.3
Punktbefehle 

Das HyperMake-Format verwendet :Punktbefehl:e wie der gute alte DOS WordStar. Ein Punktbefehl bentigt eine eigene Zeile und beginnt mit einem Punkt, zum Beispiel

.snb
 .SN
.sn

stellt die Normalschrift auf den Standardwert (engl. default). Punktbefehle knnen sowohl mit Klein- als auch mit Grobuchstaben geschrieben werden. Viele Punktbefehle erwarten die Eingabe von Parametern, z. B.

.snb
 .LM10
.sn

verstellt den linken Rand auf 10. Dabei darf auch ein Leerzeichen zwischen Punktbefehl und Parameter stehen.

Die Zeile

.snb
 ..Kommentar
.sn

wird ignoriert.

Wenn Punktbefehle aus mehr als zwei Buchstaben bestehen, mssen Sie nur die ersten zwei Buchstaben unbedingt schreiben.

Beginnt ein Punktbefehl nicht in der ersten Spalte, so wird er nicht interpretiert, sondern erscheint im Flietext.

In diesem Hypertext befindet sich ein Verzeichnis aller Punktbefehle.

.IF IPFDOC
.3
IPF-Befehle

.snb
 .:IPFbefehl.
 .:IPFbefehl. Ausdruck
.sn

Sie knnen IPF-Befehle direkt eingeben (was jedoch eher die Ausnahme ist, da alle wichtigen Kommandos Bestandteil des einfacheren HyperMake Formates sind.)
.END IPFDOC

.sab
.IF HTMLDOC
.3
HTML-Befehle

Die folgenden zwei Befehle sind dann fr Sie sinnvoll, wenn Sie mit HTML-Befehlen vertraut sind und fr einzelne Teilaufgaben diese den HyperMake-Befehlen vorziehen.

.snb
 .HTML

 <HTML-Kommandos> Flietext usw.

 .HYPERMAKE
.sn

Sie knnen auch direkt HTML-Text und -Kommandos schreiben - z. B. fr :Java-Skript:s, er wird ohne nderung bernommen.

Als weitere Mglichkeit bietet HyperMake die direkte Verwendung von <HTML-Befehlen> in spitzen Klammern direkt im Flietext: Mit dem Punktbefehl HTML command

.snb
 .HC an  (on)
 .HC aus  (off)
.sn

knnen im Flietext HTML-Kommandos in den HTML-blichen spitzen Klammern <Kommando> eingegeben werden. Innerhalb der spitzen Klammern werden die Zeichen so ausgegeben, wie sie im Quelltext stehen. Standardmig ist ~.HC~ ausgeschaltet, d.h. die spitzen Klammern stellen normale Zeichen dar, die in der HTML-Datei ausgedruckt werden. Wenn Sie mit HTML vertraut sind, knnen Sie ~.HC an~ einmal aktivieren und eingeschaltet lassen, so lange Sie im Flietext keine spitzen Klammern verwenden mchten.
.END HTMLDOC

.3
Umschaltzeichen

.in Umschaltzeichen
.in toggle
.in Zeichen fr Umschalter
In der Ini-Datei knnen Sie einige Umschaltzeichen (engl. toggle char) definieren. Zwischen zwei identischen Umschaltzeichen wird eine bestimmte Funktion aktiviert, beispielsweise "fett". Wenn Sie in der Ini-Datei "*" fr "fett" und " @" fr "italic" (d. h. schrg) eingestellt haben, knnen Sie schreiben:

.snb
Dieser *Teil des Satzes* ist besonders wichtig.
.sn

Sie erhalten dann:

Dieser Teil des Satzes ist besonders wichtig.

Sie knnen Umschaltzeichen auch berlagert verwenden:

.snb
Das ist *fett und @gleichzeitig italic* und nur italic@.
.sn

Das ist fett und gleichzeitig italic und nur italic.

Sinnvoll sind bei der Verwendung der IBM Codepage die Steuerzeichen unter ASCII dezimal 32, wenn der verwendete Editor diese untersttzt,[natrlich ohne 0x0A, 0x0D, 0x1A (dezimal 10, 13, 26)] und bei HTML die Zeichen oberhalb von ASCII dezimal 127.

Umschaltzeichen sollten nur selten anderweitig im Text verwendet werden. Wenn Sie ein Umschaltzeichen ausdrucken und nicht interpretiert haben wollen, mssen Sie es zweimal hintereinander schreiben:

.snb
@Meine Email-Adresse:@

100661.626@@compuserve.com
.sn

.3
Bedeutung von Returns

.in Bedeutung von Returns
.in ASCIIHARDRET
.in ASCIISOFTRET
Wenn Sie einen HyperMake-Quelltext mit einem ASCII Editor schreiben, knnen Sie zwischen zwei verschiedenen Arten whlen, wie Returns (Zeilenvorschbe) interpretiert werden sollen. Mit der ASCIIHARDRET Einstellung in der Ini-Datei, Abschnitt source format, wird jeder Return auch tatschlich als eine neue Zeile verstanden. Whlen Sie diese Einstellung, wenn Ihr Editor zu lange Zeilen automatisch in die neue Zeile umbricht, ohne aber selbstndig Return-Steuerzeichen in den Text zu schreiben. Der OS/2 E und EPM Editor untersttzen dies ("Optionen - Zeilenumbruch ein").

Andernfalls verwenden Sie besser ASCIISOFTRET. Das interpretiert ein Return-Steuerzeichen nur dann als wirkliche neue Zeile, wenn
 zwei Returns direkt aufeinander folgen (also eine Leerzeile eingefgt ist)
 das letzte Zeichen in der vorangegangenen Zeile . ! ? : ; ist.

.IF WORDSTARDOC
Wenn Sie den Quelltext mit einem DOS WordStar schreiben, gibt es solche Probleme nicht, weil WordStar zwischen harten und weichen Returns unterscheidet.
.END

Auf meiner Homepage finden Sie demnchst Makro-Dateien fr Winword zur leichten Konvertierung von Winword-Textdateien in den HyperMake Quelltext.

.2
Textanfang

Jedes Dokument hat einen Titel. Dieser erscheint als Titel des Hauptfensters und auch in der Fensterliste.

.snb
 .TI Dokumentation von meinem Programm
.sn

legt den Titel der HTML-Datei bzw. INF-Datei fest. Jeder HyperMake-Quelltext, mit dem eine INF-Datei erstellt wird, mu mit einem solchen Titel beginnen, noch vor der ersten Kapitelberschrift.

.IF HTMLDOC
HyperMake erzeugt aus nur einer Quelldatei mehrere HTML-Dateien. Jede HTML-Datei erhlt den selben Titel.
.END

.IF IPFDOC
Bei HLP-Dateien wird der Titel ber den Programm-Quelltext festgelegt (siehe function InitHelp). Der Titel-Punktbefehl im HyperMake-Quelltext wird ignoriert.

In HLP-Dateien werden standardmig die Tasten "Inhalt", "Zurck" und "Vorwrts" ausgeblendet. Wenn Sie die gleichen Tasten wie bei INF-Dateien haben wollen, so verwenden Sie am Textanfang den folgenden Punktbefehl:

.snb
 .<>
.sn
.END

.2
Kapitel

Die mit HyperMake erzeugten HTML-Dateien und IBM INF-Dateien verfgen ber ein Inhaltsverzeichnis.

.IF IPFDOC
Wenn man eine INF-Datei aufruft, erhlt man zu Beginn ein Inhaltsverzeichnis, bei dem man wie in einem Verzeichnisbaum Kapitelberschriften auf- und zuklappen kann. Der Text, der unter jeder Kapitelberschrift steht, erhlt ein eigenes Fenster.
.END

.IF HTMLDOC
Erzeugt HyperMake HTML-Dateien, dann erhlt man unter dem Dateinamen INDEX.HTML ein Inhaltsverzeichnis.
.END

Es lassen sich Kapitel und Unterkapitel wie in einer wissenschaftlichen Arbeit gliedern:

.snA
Hauptberschrift
    Erste Unterberschrift
    Zweite Unterberschrift
         Erste Unterunterberschrift
         Zweite Unterunterberschrift
    Dritte Unterberschrift
.sn

Im HyperMake Quelltext schreiben Sie Kapitelberschriften wie folgt:

.snb
 .1
 Erste Hauptberschrift

 .2
 Erste Unterberschrift

 .2
 Zweite Unterberschrift

 .3
 Erste Unterunterberschrift

 .3
 Zweite Unterunterberschrift

 .2
 Dritte Unterberschrift

 .1
 Zweite Hauptberschrift   
.sn

Unter dem Punktbefehl, in dem sie die Gliederungsebene angeben, schreiben Sie den Text der Kapitelberschrift.

Der Text darf mehr als eine Zeile lang sein. Wenn Sie als Quelltextformat ASCIISOFTRET gewhlt haben, mssen Sie zwei Returns (also eine Leerzeile) nach der Kapitelberschrift eingeben.

In einem normalen, ausgedruckten Schriftstck wrde man stattdessen z. B. Dezimalklassifiation verwenden:

1. Erste Hauptberschrift
   1.1 Erste Unterberschrift
   1.2 Zweite Unterberschrift
           1.2.1 Erste Unterunterberschrift
           1.2.2 Zweite Unterunterberschrift
   1.3 Dritte Unterberschrift
2. Zweite Hauptberschrift

.IF IPFDOC
Der Text hinter dem Gliederungsebenen-Punktbefehl ist auf etwa 200 Buchstaben begrenzt[Der IPFC Compiler wrde eine Fehlermeldung erzeugen.], aber man sieht im Fenstertitel nur etwa 70 bis 120 Buchstaben, abhngig von der Breite des Fensters auf dem Bildschirm.
.END

Zu Beginn des HyperMake-Quelltextes kann normaler Text erst nach der ersten Kapitelberschrift eingegeben werden.[Jede Kapitelberschrift steht fr ein Fenster. Ohne Fenster kann kein normaler Text dargestellt werden, der IPFC Compiler wrde Fehlermeldungen erzeugen.]

Es drfen bis zu 6 Gliederungsebenen verwendet werden.

.IF HTMLDOC
Mit dem Schalter content level in der Ini-Datei knnen Sie angeben, wieviele Gliederungsebenen im Inhaltsverzeichnis erscheinen sollen.

Die meisten HTML-Browser zeigen berschriften hoher Ordnung (5. und 6. Ebene) mit einer kleineren Schrift als der Flietext. Das ist natrlich nicht akzeptabel. Wenn Sie HTML-Dateien mit 5. und 6. Gliederungsebene erstellen mchten, sollten Sie den berschriften der Ebenen 4 bis 6 oder zumindest 5 und 6 grere Schriften zuweisen.

~.HS 123234~

oder etwa

~.HS 112233~

ordnet berschriften einer bestimmten Ordnung eine andere Gre der berschrift zu.

Standardwert ist

~.HS 123456~
.END

.3
Querverweise zu Unterkapitel

.in Querverweise zu Unterkapitel
Wenn ein Kapitel Unterkapitel hat, werden automatisch Verweise zu Unterkapiteln und ein Verweis auf das nchste Hauptkapitel generiert. In der Ini-Datei knnen mit ~text for link to...~ die  Erklrungstexte "nchstes Hauptkapitel" usw. verndert werden.

blicherweise werden die berschrifts-Texte der Unterkapitel einfach untereinandergeschrieben. Etwa in einer Homepage kann es sinnvoll sein, vertikal Platz zu sparen (Laut c't 3/97 sollen 90% aller Surfer keine Scrollbars benutzen) und stattdessen die Unterkapitel nebeneinander zu schreiben.

Mit dem Punktbefehl ~.SC~ (Subchapter seperation characters) knnen Sie die Darstellung der automatischen Querverweise zu Unterkapiteln verndern.

Mit

~.sc trenntext~

wird dann die Zeichenfolge "trenntext" zwischen die einzelnen Unterkapitel-berschriften geschrieben statt ein RETURN. Mit

~.sc RETURN~

wird wieder das normale RETURN-Zeichen als Trennung zwischen Unterkapitel-berschriften verwendet.

Hiermit knnen Sie auch Grafiken zwischen den berschriften verwenden:

.snb
 .btx blackdot
 .sc  x 
 .2
 Erste Unterkapitelberschrift

 .sc RETURN
.sn

(x steht fr ein beliebiges unbentigtes Sonderzeichen)
Die Unterkapitel werden nebeneinander geschrieben, optisch getrennt durch BLACKDOT.GIF.

.snb
 .sc RETURN RETURN
 .sc PARAGRAPH
.sn

sind zwei mgliche Schreibweisen zur Einfgung einer Leerzeile.

.snb
 .sc LIST
.sn

schreibt die Unterkapitel in der Listen-Schreibweise (unsortierte Liste).

.3
Gleichzeitiges Anzeigen mehrerer Fenster

.in Fensteranordnung
.in Frames
Mit nur einem einmalig zu verwendenden Punktbefehl sind Sie in der Lage, das Hypertext-Fenster in zwei oder drei Abschnitte zu teilen, so da zwei oder drei Kapitel verschiedener Gliederungsebenen gleichzeitig angezeigt werden.

.snL
Gleichzeitiges Anzeigen zweier Gliederungsebenen
.sn

Wenn Sie den Punktbefehl Fensteranordnung

.snb
 .FA verti 30
.sn

vor einem normalen Gliederungsebenen-Punktbefehl schreiben, wird das Hauptfenster vertikal in ein linkes Fenster (30% der Bildschirmbreite) und ein rechtes Fenster (die verbleibenden 70%) unterteilt. Im linken Fenster erscheint das Fenster, dessen Kapitelberschrift nach dem FA Punktbefehl geschrieben wurde (im folgenden "Hauptkapitel" genannt); im rechten Fenster erscheint das Unterkapitel.

Geben Sie bitte zwischen den Parametern des FA Punktbefehls ein Leerzeichen ein.

Wenn Sie die Fensteranordnungs-Funktion verwenden, empfehle ich dringend, die automatischen Querverweise zu Unterkapitel nicht auszuschalten.

.snb
 .FA hori 40
.sn

unterteilt das Hypertext-Hauptfenster horizontal. Das Hauptkapitel erhlt das obere Fenster (40% der Gesamthhe), das Unterkapitel das untere Fenster (die verbleibenden 60%).

Sie drfen Prozentwerte von 10 bis 90 eingeben.

Mit dem Kommandozeilenparameter ~/NOFRAMES~ wird dieser Punktbefehl unterdrckt.

Fr ein Beispiel zur zweiteiligen Fensteranordnung siehe Verzeichnis aller Punktbefehle und Ini-Datei.


.snL
Gleichzeitiges Anzeigen dreier Gliederungsebenen
.sn

Diese Funktion steht bislang nur bei der Erstellung von IPF-Dateien zur Verfgung.

.IF IPFDOC
In gleicher Art und Weise knnen Sie auch drei Gliederungsebenen gleichzeitig anzeigen lassen. Dabei mssen Sie eine Angabe zu hori und zu verti machen:

.snb
 .FA hori 40 verti 30 III
.sn

.sab
Die erste hori/verti-Angabe unterteilt das Hauptfenster auf ganzer Lnge von links nach rechts bzw. von oben nach unten. Die zweite Angabe unterteilt einen der Teile wiederum in zwei Teile, so da Sie drei Fenster erhalten: zwei kleinere und ein greres. Sie knnen whlen, welche Gliederungsebene das grere Fenster bekommt, wobei Sie zwischen ~I~ und ~III~ einstellen knnen. So knnen Sie zwischen insgesamt vier Arten der Fensteranordnung whlen:

.liXY

            verti hori           hori verti
       
        Ŀ   Ŀ
                II               I        
  I       I  Ĵ   Ĵ 
                III        II     III    
                                         
           
       
        Ŀ   Ŀ
          I                 I     II     
        Ĵ             Ĵ 
 III            III                       
         II                     III       
                                           
           
.li

~I~ ist das Hauptkapitel, ~II~ das Unterkapitel, ~III~ das Unterunterkapitel.

Der Punktbefehl Fensteranordnung gilt nur ber ein Hauptkapitel mit seinen Unter- und Unterunterkapiteln.

Die Fensteranordnung arbeitet nur, wenn der Benutzer direkt das Hauptkapitel aufruft. Wenn ber einen Querverweis direkt ins Unterunterkapitel gesprungen wird (~III~), wird das Hauptfenster nicht entsprechend unterteilt. Bei einem Querverweis ins Unterkapitel (~II~) erscheint zwar auch die Ebene ~III~, jedoch bleibt der fr ~I~ reservierte Platz ungenutzt. 

Wenn Sie drei Gliederungsebenen gleichzeitig angezeigt haben wollen, aber nicht jedes Kapitel ber die dritte Gliederungsebene verfgt, sollte immer Ebene ~I~ das grte Fenster erhalten, also ~I~ und nicht ~III~ im FA-Punktbefehl stehen. Dann nimmt das Kapitel der Ebene II den sonst fr III reservierten Platz mit ein.

.4
Beispiel Fensteranordnung - Quelltext

.snz
 .FA verti 50 hori 40 I
 .4
Beispiel Fensteranordnung - Ergebnis

Das Hauptkapitel mit Querverweisen zu Unterkapiteln.

 .5
Erstes Unterkapitel

Das erste Unterkapitel. 

3-fach-Unterteilung fr HTML wird in HyperMake 3.0 noch nicht untersttzt.

 .6
Erstes Unterunterkapitel

Das erste Unterunterkapitel vom ersten Unterkapitel.

 .6
Zweites Unterunterkapitel

Das zweite Unterunterkapitel vom ersten Unterkapitel.

 .5
Zweites Unterkapitel

Das zweite Unterkapitel.

 .6
Erstes Unterunterkapitel

Das erste Unterunterkapitel vom zweiten Unterkapitel.

 .6
Zweites Unterunterkapitel

Das zweite Unterunterkapitel vom zweiten Unterkapitel.
.sn

.FA verti 40 hori 50 I
.4
Beispiel Fensteranordnung - Ergebnis

.in Beispiel Fensteranordnung
Das Hauptkapitel mit Querverweisen zu Unterkapiteln.

.5
Erstes Unterkapitel

Das erste Unterkapitel.
3-fach-Unterteilung fr HTML wird in HyperMake 3.0 noch nicht untersttzt.

.6
Erstes Unterunterkapitel

Das erste Unterunterkapitel vom ersten Unterkapitel.

.6
Zweites Unterunterkapitel

Das zweite Unterunterkapitel vom ersten Unterkapitel.

.5
Zweites Unterkapitel

Das zweite Unterkapitel.

.6
Erstes Unterunterkapitel

Das erste Unterunterkapitel vom zweiten Unterkapitel.

.6
Zweites Unterunterkapitel

Das zweite Unterunterkapitel vom zweiten Unterkapitel.
.END IPFDOC

.FA verti 75
.2
Schriften

.in Schrift
.in font

.snL
:Schrift Normal:
.sn

Mit dem Punktbefehl Schrift Normal

.sab

~.SNX~

knnen Sie eine Schrift auswhlen, wobei ~X~ fr einen Schrift-Buchstaben (A bis Z und a bis z) steht; Gro- und Kleinbuchstaben werden unterschieden! Ein Schrift-Buchstabe steht fr eine bestimmte

 Schrifttyp (nur IPF) (Courier, Tms Rmn, Helv usw.)
 Size (Schriftgre)
 Codepage (nur IPF)
 Phrase Element (nur HTML)
 Vordergrundfarbe
 Hintergrundfarbe (nur IPF).

Sie knnen jedem der 2 x 26 Schrift-Buchstaben in der Ini-Datei verschiedene Schriften, Gren und Farben zuordnen.

Es gibt noch zwei andere Schrift-Einstellungen in der Ini-Datei: ~OmitLinks~ ist beschrieben in Querverweise, Unterdrcken von Querverweisen, ~LineStandard~ in Linienziehen.

Um Schrift Normal auf den Standardwert (default) zu setzen, schreiben Sie einfach den Punktbefehl ohne weitere Parameter:

~.SN~

.IF HTMLDOC
.snL
:Phrase Element und Schriftart bei HTML:
.sn

Eine besondere Erluterung bentigen die Schriftarten und Phrase Elements von HTML.
Bei "klassischem" HTML geben Sie nicht direkt die Schriftart "Courier", "Helvetica" usw. ein, denn das zugrundeliegende Konzept ist ein anderes - schlielich wird vielleicht der Text auf einem Rechner angeschaut, der gar keine "Courier" Schrift verwendet. Die Schrift soll der Benutzer einstellen knnen. Als Autor des HTML-Textes knnen Sie stattdessen mittels Phrase Elements den Zweck des Textes angeben: etwa CODE fr Programmcode (es wird Schrift in festen Schritten verwendet). Der Browser whlt dann eine passende Schrift dazu aus.

Trotzdem knnen Sie aber Schriftarten definieren. Diese werden jedoch nicht von allen Browsern untersttzt und Sie knnen nicht sicher sein, ob eine bestimmte Schrift vom einem bestimmten Betriebssystem auch untersttzt wird. Damit die "Trefferwahrscheinlichkeit" mglichst gro ist, mssen Sie mehrere Schriftarten angeben. Also etwa ~Arial,Helv,Helvetica,Univers~. HyperMake erfordert, da Sie wenigstens zwei Schriftarten angeben, die nur durch ein Komma ohne Leerzeichen voneinander getrennt sind. Wenn Sie eine Schriftart eingeben wollen, die wie "Tms Rmn" ein Leerzeichen enthlt, mssen Sie statt dem Leerzeichen einen Unterstrich _ eingeben.

Ich persnlich mchte Ihnen raten, von dieser Mglichkeit nicht Gebrauch zu machen, da Sie nicht mit Sicherheit wissen, ber welche Fhigkeiten der Browser und das Betriebssystem verfgt. Auerdem ist es eine gewisse Bevormundung des Benutzers, ihm seine "Lieblingsschrift" zu verwehren.

Es gibt die folgenden Phrase Elements:
PRE ADDRESS EM STRONG DFN CODE SAMP VAR CITE

PRE spielt dabei eine Sonderrolle: Wenn eine Schrift mit Phrase Element PRE gewhlt ist, bleiben die Zeilenumbrche aus dem Rohtext alle erhalten - die automatische Formatierung von Flietext ist dann ausgeschaltet.

Die restlichen Phrase elements haben die folgende Bedeutung:

~EM~ Standard-Hervorhebung, meist kursiv dargestellt
~STRONG~ starke Hervorhebung, meist fett dargestellt 
~DFN~ fr Definitionen 
~CODE~ fr Programm-Quellcode 
~SAMP~ fr Programm-Beispielsausgaben
~VAR~ fr Variablen oder Parameter von Befehlen
~CITE~ fr Zitate
.END

.snL
Formatier-Attribute
.sn

Mit dem ~center~ Attribut in der Ini-Datei wird eine Schrift immer zentriert ausgegeben. Der Punktbefehl Output Centered lt sich so sparen.

.IF IPFDOC
Fr IPF lt sich mit dem Attribut ~PRE~ die automatische Formatierung abstellen, beispielsweise fr Quelltexte.
Der entsprechende Punktbefehl Formatierung ist in diesem Fall nicht mehr ntig.
.END

.snL
:Schrift Alternativ:
.sn

.in Zeichen fr Schrift Alternativ
hnlich ~.SN~ ist der Befehl ~.SA~ Schrift Alternativ zu verwenden. Die alternative Schrift wird mit Hilfe des Umschaltzeichens (Toggle) "Alternativ" gesetzt. Das Alternativ-Umschaltzeichen wird in der Ini-Datei gesetzt.

So lassen sich Schrift und Farbe innerhalb des Flietextes umschalten:

.saZ
Das schaut ziemlich ~d~~m~l~i~c~h~ aus.
.sab

.IF IPFDOC
Der IPFC Compiler erlaubt nicht mehr als 14 Schriften in einer Datei.

Ich empfehle, nicht mehr als 3 oder 4 verschiedene Schriften zu verwenden. Auerdem mchte ich Ihnen nahelegen, den Standardwert auch wirklich fr den berwiegenden Teil des normalen Flietextes zu verwenden. weil der Standardwert eine vernnftig lesbare Schrift auf jedem Bildschirm ist.
.END

Eine ausgewhlte Schrift ist bis zum nchsten Schrift-Punktbefehl aktiv, selbst ber Kapitel hinweg.

Alternative Schriften sollten nur innerhalb eines Absatzes verwendet werden. Wenn Sie mehrere Abstze mit einer anderen Schrift schreiben wollen, verwenden Sie besser den ~.SN~-Befehl.

.IF HTML
.3
Phrase element Beispiele

Phrase element Befehle werden von Browser zu Browser unterschiedlich dargestellt.

.HTML
<ADDRESS>Beispielstext mit Phrase element ADDRESS</ADDRESS><br>
<PRE>Beispielstext mit Phrase element PRE</PRE><br>
<EM>Beispielstext mit Phrase element EM</EM><br>
<STRONG>Beispielstext mit Phrase element STRONG</STRONG><br>
<DFN>Beispielstext mit Phrase element DFN</DFN><br>
<CODE>Beispielstext mit Phrase element CODE</CODE><br>
<SAMP>Beispielstext mit Phrase element SAMP</SAMP><br>
<VAR>Beispielstext mit Phrase element VAR</VAR><br>
<CITE>Beispielstext mit Phrase element CITE</CITE><br>
.HYPERMAKE 
.END

.3
Schrift-Beispiele

.in Schrift-Beispiele
.IF HTMLDOC
HTML untersttzt nur Size (Schriftgre), nicht direkt Font (Schrifttyp).
.END

.fm aus
.snc
Tms_Rmn 12
.snd
Tms_Rmn 17
.sne
Tms_Rmn 25

.snf
Helv 12
.sng
Helv 17
.snh
Helv 25

.snb
Courier 12
.snA
Courier 15
.snk
Courier 25
.sn
.fm an
.END IPFDOC

.3
Farb-Beispiele

.in Farb-Beispiele
.IF IPF

Farben bei IPF:

Vordergrund

.:color fc=default.
default
.:color fc=blue.
blue
.:color fc=cyan.
cyan
.:color fc=green.
green
.:color fc=neutral.
neutral
.:color fc=red.
red
.:color fc=yellow.
yellow
.:color fc=black.
black
.:color fc=default.

Hintergrund

DEFAULT
.:COLOR BC=BLUE.
BLUE
.:COLOR BC=CYAN.
CYAN
.:COLOR BC=GREEN.
GREEN
.:COLOR BC=NEUTRAL.
NEUTRAL
.:COLOR BC=RED.
RED
.:COLOR BC=YELLOW.
YELLOW
.:COLOR BC=BLACK.
BLACK
.:color bc=default.
.END IPF

.IF HTML
Farben bei HTML:
.END

.HTML

</font><br>
<font size=4 color=Black>Black<br></font>
<font size=4 color=Silver>Silver<br></font>
<font size=4 color=Gray>Gray<br></font>
<font size=4 color=White>White<br></font>

<font size=4 color=Maroon>Maroon<br></font>
<font size=4 color=Red>Red<br></font>
<font size=4 color=Purple>Purple<br></font>

<font size=4 color=Fuchsia>Fuchsia<br></font>
<font size=4 color=Green>Green<br></font>
<font size=4 color=Lime>Lime<br></font>

<font size=4 color=Olive>Olive<br></font>
<font size=4 color=Yellow>Yellow<br></font>
<font size=4 color=Navy>Navy<br></font>

<font size=4 color=Blue>Blue<br></font>
<font size=4 color=Teal>Teal<br></font>
<font size=4 color=Aqua><br></font><font>
.HYPERMAKE

ltere Browser untersttzen noch keine Farben.

.2
Unsortierte und sortierte Listen

.in Auflistung
.sv unsortierte Liste
.sv unordered list
Das folgende Beispiel ist eine unsortiere Liste:

 Schriftstil
- Schrift (default, Tms_Rmn, Helv, Courier, System_VIO)
- Schriftgre
 Schriftfarbe
- Vordergrundfarbe (default, blue, cyan, green, neutral, red, yellow, black)
- Hintergrundfarbe (gleiche Farben wie bei Vordergrundfarben).

Verndern Sie einmal die Breite des Fensters und beobachten Sie die Textformatierung. Ein solches Ergebnis lt sich nicht mit normalen Zeichen erzielen.

Die hier sichtbaren Auflistungszeichen knnen nicht beeinflut werden, da sie im IPFC Compiler bzw. im HTML-Browser festgelegt sind.

Bei sortierten Listen wird hnlich wie bei unsortierte Listen vorgegangen.

Die HTML- und IPF-Funktion Definition List wird nicht untersttzt; sie knnen es aber mit Hilfe des Befehls automatischer Rand simulieren.

.IF WORDSTARDOC
.3
Eingabe mit DOS WordStar

.sab
WordStar verfgt ber ":weiche Leerzeichen;" ~~. Sie knnen im WordStar mit ^OG erzeugt werden.[Weiche Leerzeichen werden im WordStar entweder als ~~, oder einem mittigen Punkt oder einem anderen Sonderzeichen dargestellt. Wenn ein Absatz mit ^B neu formatiert wird, werden weiche Leerzeichen gelscht. Mit Tab (^I) lassen sich keine weichen Leerzeichen erzeugen.]

Es gibt keine bestimmten Auflistungszeichen fr die verschiedenen Auflistungsebenen wie bei der Eingabe mit einem ASCII Editor. Stattdessen mssen weiche Leerzeichen verwendet werden.

.snb
Schriftstil
-Schrift (default, Tms_Rmn, Helv, Courier, System_VIO)
-Schriftgre
Schriftfarbe
-Vordergrundfarbe (default, blue, cyan, green, neutral,
red, yellow, black)
-Hintergrundfarbe (gleiche Farben wie bei Vordergrundfarben).
.sn

Mit Ausnahme der ersten Auflistungsebene mssen sich alle Auflistungszeichen zwischen weichen Leerzeichen befinden; in der ersten Ebene mu dem Auflistungszeichen mindestens ein weiches Leerzeichen folgen. Wenn einmal die Position und das Zeichen des Auflistungszeichens einer Ebene gewhlt worden ist, darf innerhalb der gleichen Liste dies nicht mehr gendert werden. Beim folgenden Beispiel wrde HyperMake Fehlermeldungen erzeugen:

.snb
Schriftstil
-Schrift (default, Tms_Rmn, Helv, Courier, System_VIO)
-Schriftgre (falsche Position)
Schriftfarbe
-Vordergrundfarbe (default, blue, cyan, green, neutral,
red, yellow, black)
*Hintergrundfarbe (falsches Zeichen)
.sn

Nachdem Sie einen normalen Abstatz ohne Listen-Funktion geschrieben haben, drfen Sie fr die nchste unsortierte Liste wieder andere Auflistungszeichen-Positionen und -Zeichen verwenden.

.3
Eingabe mit einem ASCII-Editor

.END WORDSTARDOC
.in Auflistungen mit einem ASCII-Editor
.in Zeichen fr Auflistungsebenen
In der Ini-Datei knnen Sie Auflistungszeichen definieren. Auflistungszeichen stehen am Anfang einer Zeile. Angenommen, in der Ini-Datei sind folgende Auflistungszeichen festgelegt: * fr die erste und = fr die zweite Auflistungsebene.

Um die unsortiere Liste von der letzten Seite zu erstellen, geben Sie ein:

.snb
* Schriftstil
= Schrift (default, Tms_Rmn, Helv, Courier, System_VIO)
= Schriftgre
* Schriftfarbe
= Vordergrundfarbe (default, blue, cyan, green, neutral, red, yellow, black)
= Hintergrundfarbe (gleiche Farben wie bei Vordergrundfarben).
.sn

Sie knnen auch noch Auflistungszeichen fr weitere Ebenen definieren. Brauchbare Zeichen sind das Quadrat Alt-254, der Graphik-Doppelstrich Alt-205 und -Einfachstrich Alt-196 und der normale Strich -. 

Es ist zulssig, zur eigenen bersicht weitere Leerzeichen zu verwenden. Das gleiche Ergebnis wie oben erhlt man deshalb mit der folgenden Eingabe:

.snb
  *   Schriftstil
      =   Schrift (default, Tms_Rmn, Helv, Courier, System_VIO)
      =   Schriftgre
.sn

.3
Sortierte Listen

.sv ordered list
.sv sortierte Liste
.sao
Eine sortierte Liste zhlt in der ersten Auflistungsebene mit 1., 2., 3., und in der zweiten Ebene mit a., b., c. Die dritte Ebene ist dann wieder numerisch usw. Dies lt sich nicht beeinflussen.

Um eine sortierte Liste zu erstellen, geht man erst einmal genauso vor wie bei unsortierten Listen. ~Mit den Punktbefehlen sortierte Liste und unsortierte Liste~

.snb
 .SL
 .UL
.sn

lt sich zwischen sortierten und unsortierten Listen hin- und herschalten. Um einmalig eine sortierte Liste zu erhalten, wird diese mit dem SL und UL-Punktbefehl quasi eingeklammert. Die Voreinstellung ist ~unsortiere Liste.~

.2
Einbindung von Grafiken

.in Zeichen fr Grafiken
Um eine Grafik (Bitmap) zentriert erscheinen zu lassen, verwenden Sie den Punktbefehl bitmap

.snb
 .BM Dateiname
.sn

.IF IPFDOC
Wenn der Dateiname ohne Erweiterung geschrieben wird, wird bei IPF automatisch ".BMP" angehngt. IPFC untersttzt auerdem OS/2-MET-Dateien. [Um von GIF nach BMP zu konvertieren, bietet sich das Freeware-Tool GIF2BMP an (Graham Welland, September 1989, OS/2 16 bit).]
.END

.IF HTMLDOC
Bei der Erstellung von HTML-Dateien wird automatisch ".GIF" angehngt, wenn der Grafikdateiname ohne Erweiterung angegeben wird.
.END

.sab
Statt eines Dateinamens knnen Sie mit den Schlsselwrtern ~LINKS~ ~RECHTS~ ~MITTE~ (MITTE nur IPF) die Grafik ausrichten. Standardwert ist ~LINKS~. Die Ausrichtung der Grafik gilt so lange, bis diese erneut gendert wird. Um eine Grafik rechtsbndig zu bekommen, schreiben Sie also

.snb
 .BM RECHTS
 .BM Dateiname
.sn

Mit einem zweiten Punktbefehl :bitmap text: lassen sich Grafiken in den Flietext integrieren:


.snb
 .BTX Dateiname
.sn

.bt box
.in Grafikzeichen
~X~ steht stellvertretend fr ein Sonderzeichen, das sonst nicht im Text verwendet wird (sog. Grafikzeichen). Dieses Sonderzeichen wird ersetzt durch die Grafik "Dateiname". Beachten Sie, da Grafiken  hher sind als Buchstaben, so da sich ein grerer Zeilenabstand ergibt, selbst wenn die Grafik so klein wie ein Buchstabe ist. Block-Zeichen wie  (Alt-219),  (Alt-220),  (Alt-223) sind besonders geeignet (bei IBM codepage).

Es ist zulssig, verschiedene Grafikzeichen gleichzeitig zu definieren.

Um eine Grafikzeichen-Definition wieder aufzuheben, wird eingegeben:

.snb
 .BTX
.sn

ohne Dateiname.

.fa hori 35
.2
Querverweise und Index

.in Querverweis
.in Index
.in Zeichen fr Index- und Querverweismarkierung

.3
Automatische Erstellung von Querverweisen und Indexeintrgen

Die Erstellung von Querverweisen ist die mchtigste Funktion von HyperMake. Wenn man eine HTML-Datei oder IPF-Datei direkt schreiben wrde, so mte man jeden Querverweis selbst ziehen - wenn also z. B. ein 1 MB langer Hypertext ber Workgroup Computing geschrieben werden soll, und der Ausdruck "Workgroup Computing" tausend mal vorkommt, so mte man selbst 1000 mal einen Querverweis programmieren... Letztlich wird dann auf sinnvolle Querverweise ganz verzichtet.

Mit HyperMake mssen Sie lediglich einmal einen gewnschten Ausdruck (ein Wort oder mehrere Wrter) mit einem bestimmten Zeichen (dem Indexzeichen) markieren, und zwar an der Stelle, wo der Ausdruck erklrt wird bzw. wo es im Text um den Ausdruck geht (:Querverweis-Ziel:). Alle anderen Vorkommnisse des Ausdrucks im gesamten Hypertext erhalten automatisch einen Querverweis zu diesem Kapitel, wo der Ausdruck markiert wurde. Gleichzeitig wird der Ausdruck im Index (Stichwortverzeichnis) aufgenommen.

.IF HTMLDOC
.iv groe Stichwortverzeichnis
Fr HTML wird ein alphabetischer Index in einer eigenen Datei erzeugt. Dieses Stichwortverzeichnis gibt es in einer groen und einer kleinen Ausgabe, abhngig von der Anzahl der Eintrge. Das groe Stichwortverzeichnis verfgt ber Querverweise zu den Anfangsbuchstaben A bis Z. Ab wann das groe und bis wann das kleine Stichwortverzeichnis angelegt werden soll, kann in der Ini-Datei unter extended index angegeben werden.
.END

.3
Markieren eines einzelnen Wortes, ndern des Indexzeichens

.in Indexzeichen
.snL
Markieren eines einzelnen Wortes
.sn

Um ein einzelnes Wort fr die Querverweis- und Index-Erstellung zu markieren, wird das Indexzeichen vorangestellt:

.snb
Eine #Workgroup ist eine Gruppe von Personen, die...
.sn

Achtung: verwenden Sie Indexzeichen nicht in Kapitelberschriften, benutzen Sie hierfr die Duplizierung von Kapitelberschriften.

.snL
ndern des Indexzeichens
.sn

Mit dem Punktbefehl Indexzeichen

.snb
 .IZ@
.sn

.sab
wird die aktuelle Einstellung fr das Indexzeichen aus der Ini-Datei, z. B. ~#~, in ~@~ gendert.

.3
Markieren eines Ausdrucks

Wenn Sie ein Wort mit dem Indexzeichen markieren, wird nur das eine Wort gekennzeichnet. Ein Wort endet mit dem ersten Zeichen, das kein Buchstabe ist. (Zeichen, die als Buchstaben behandelt werden sollen, knnen in der Ini-Datei unter extended letters definiert werden.)

Um einen Ausdruck mehrerer Wrter zu markieren, werden zustzlich zum Indexzeichen Doppelpunkte wie Klammern verwendet:

.snb
Heutzutage ist die #:Sicherheit von Computern: fast schon...
 ...
Trotzdem kann die #:Sicherheit von Grorechnern: nicht als...
 ...
Dafr hat die #:Benutzerfreundlichkeit von Computern; doch...
.sn

Im Index wird folgendes erscheinen:

.snC
Sicherheit
    von Computern
    von Grorechnern
Computern, Benutzerfreundlichkeit von
.sn

Achten Sie auf den feinen Unterschied zwischen dem ersten/zweiten und dem dritten Beispiel: Die Eingabe von "#:XXXX:" verwendet das erste Wort des Ausdrucks als das :fhrende Wort:, ein "#:XXXX;" das letzte Wort. Das fhrende Wort wird im Index zuerst genannt und bestimmt somit die alphabetische Reihenfolge im Index. Die Wahl des fhrenden Wortes hat keine Auswirkung auf Querverweise.

Wenn ein fhrendes Wort im Index nur einmal vorkommt wie 

.snC
Computern
    Benutzerfreundlichkeit von
.sn

schreibt HyperMake im Index

.snC
Computern, Benutzerfreundlichkeit von
.sn

Ihnen wird schon aufgefallen sein, da die Endung "Computern" nicht sehr schn ausschaut. Solche unschnen Endungen drfen Sie ausklammern:

.snb
Dafr hat die #:Benutzerfreundlichkeit von Computer;n doch...
 ...
hat gezeigt, da bei #:Computer:n
.sn

.3
Markieren eines Ausdruckes auerhalb des Flietextes

Mit dem Punktbefehl INdex

.snb
 .IN Ausdruck
.sn

knnen Sie ein Wort oder einen Ausdruck mehrerer Wrter im Index ablegen und Querverweise von gleichlautenden Ausdrcken anderer Textstellen zu dieser Stelle hin erzeugen. Das hat den Vorteil, da der Indexeintrag bzw. das Querverweis-Ziel nicht wortwrtlich im Flietext vorkommen mu. Manchmal kann die Verwendung eines Punktbefehls statt dem Indexzeichen mit Doppelpunkt-Klammern auch bersichtlicher sein.

.in Index vertauscht
Normalerweise ist das erste Wort des Ausdrucks das fhrende Wort. Wenn dagegen das letzte Wort das fhrende Wort sein soll wie bei der Verwendung der Doppelpunkt-Strichpunkt-Klammerung, verwenden Sie den Punktbefehl Index Vertauscht.

.snb
 .IV Benutzerfreundlichkeit von Computer
.sn

Wenn der Ausdruck in den Punktbefehlen IN und IV mit einem Leerzeichen endet, wird der Ausdruck zwar in den Index aufgenommen, Querverweise werden aber nicht gezogen. Sie knnen sich dies ggf. zunutze machen.

.3
Querverweise bei leicht abweichenden Wrtern

.snL
:Verfahrensweise bei Wortendungen;
.sn

Was macht HyperMake, wenn das Wort "Maschinen" gefunden wird und an anderer Stelle das Wort "Maschine" ohne "n" markiert ist? Er zieht den Querverweis trotzdem, weil die Endung "n" in der Ini-Datei unter "endings of words" eingetragen ist (bzw. sein sollte). Dieser Eintrag ist sprachspezifisch.

Wenn umgekehrt "Maschinen" markiert wurde, so wird bei "Maschine" kein Querverweis gezogen. Markieren Sie deshalb die Wrter in schlichter Form (Singular, 1. Fall).

Um bei Wrtern, die mit Vokalen[Buchstaben a e i o u y] enden wie "Konto" "Konten" trotzdem die Gleichheit zu finden, krzt HyperMake vor dem Vergleich die Wrter erst einmal um den letzten Buchstaben, wenn er ein Vokal ist.

.snL
Gro- und Kleinschreibung
.sn

Querverweise werden unabhngig von der Gro- bzw. Kleinschreibung des Anfangsbuchstabens gezogen. Wenn dagegen weitere Buchstaben in ihrer Gro- bzw. Kleinschreibung abweichen, wird der Querverweis nicht erstellt. Beispiel:

.sab
~.IN Wort~
.sn

Querverweise werden erstellt nach ~Wort~, ~wort~, aber nicht nach ~WORT~.

.3
Mehrmalige Markierung eines Wortes

HyperMake geht davon aus, da Sie in einem Hypertext jedes Wort/jeden Ausdruck nur einmal markieren. Wenn er mehrmals markiert ist, erscheint er mehrmals im Index direkt untereinander und Querverweise werden an die erste markierte Stelle hin gezogen.

.3
Unterdrcken von Querverweisen

.in omitting links
.in Unterdrcken von Querverweisen
Querverweise werden natrlich nicht gezogen, wenn sie auf das selbe Fenster (Kapitel) zeigen wrden. Querverweise werden auerdem nicht gezogen, wenn der Ausdruck mehrmals im gleichen Absatz vorkommt. Also beispielsweise Punktbefehl Punktbefehl Punktbefehl - nur das erste Vorkommen von "Punktbefehl" im Absatz erhlt den Querverweis.

Wenn Sie lieber mehrfache Querverweise vom gleichen Ausdruck nicht nur in einem Absatz, sondern gleich im gesamten Fenster (Kapitel) unterdrcken wollen, mssen Sie in der Ini-Datei den Schalter "no more links in" von PARAGRAPH in WINDOW ndern.

Es kann hin und wieder ntzlich sein, bei bestimmten Schriften - etwa Beispielstext - Querverweise grundstzlich zu unterdrcken. Das erreichen Sie in der Ini-Datei mit dem Schalter Font, Parameter ~OmitLinks~.

Natrlich ist es erlaubt, eine andere Schrift mit gleichen Einstellungen auer dem OmitLinks-Parameter zu definieren. Mit diesem Trick knnen Sie Querverweise unterdrcken, ohne wirklich die Schrift zu wechseln.

.IF IPFDOC
.3
Externe Querverweise bei IPF (external links)

:Externe Querverweise: sind Querverweise, die zu einem Kapitel eines anderen INF- oder HLP-Dokuments hin zeigen. Um solche externen Querverweise (external links) zu erzeugen, sind

 die Ini-Datei
 die Datei, zu deren Kapitel hin gesprungen werden soll (Sprungziel-Datei)
 die Datei, aus der heraus gesprungen werden soll (Sprungstart-Datei)
zu editieren.

Externe Querverweise nutzen die HyperMake Funktion der Erstellung von Panel ID's. Das Kapitel ber Panel ID's mssen Sie aber nicht extra lesen.

.snL
1. Ini-Datei
.sn

In der Ini-Datei mu unter "Panel ID filename =" eine Bezeichnung beginnend mit *. eingetragen werden, also etwa

.snb
Panel ID filename  = *.PAN
.sn

Der Dateiname der Quelldatei mit der Erweiterung PAN wird so zur Panel ID Datei, die HyperMake beim Kompilieren der Sprungziel-Datei automatisch erstellt. Diese Panel ID Datei verwendet HyperMake dann wiederum beim Kompilieren der Sprungstart-Datei.

.snL
2. Sprungziel-Datei
.sn

Beim Indizieren der berschriften numeriert HyperMake die Kapitelberschriften von eins fortlaufend durch. Da es unpraktisch wre, sich eine Nummer wie 237 zu merken und sich die Nummer eines bestimmten Kapitels schlielich ndert, wenn davor ein neues Kapitel eingeschoben wird, werden diese ID's (Identifikationsnummern) der Kapitelberschriften durch verstndlichere Bezeichnungen wie Kapitel_Einleitung ersetzt. Mit dem Befehl

.snb
 .ID Kapitel_Einleitung
.sn

in der Sprungziel-Datei erhlt das Kapitel, wo der Punktbefehl steht, die Kurzbezeichnung "Kapitel_Einleitung", vgl. Datei BEISPIEL. Alle durch den ID-Punktbefehl deklarierten Kurzbezeichnungen speichert HyperMake in der Datei Quelldateiname.PAN oder einer anderen Erweiterung, je nach Eintrag in der Ini-Datei, ab. Auf diese Datei greift HyperMake dann zu, wenn die Sprungstart-Datei kompiliert wird.

.snL
3. Sprungstart-Datei
.sn

In der Datei, aus der gesprungen werden soll, wird der ID-Punktbefehl aus der Sprungziel-Datei wiederholt und darunter werden die gewohnten IN- und IV- (Index vertauscht) Punktbefehle gesetzt. Das ganze wird zwischen zwei neue EX-Punktbefehle plaziert.

.snb
 .EX Dateiname.inf
 .ID Kapitel_Einleitung
 .IN Ausdruck
 .EX
.sn

Hinter dem EXtern-Punktbefehl wird ein Dateiname angegeben, wobei sowohl die Erweiterung INF als auch HLP mglich ist. Alle folgenden ID, IN und IV-Befehle beziehen sich jetzt auf die externe Datei, bis .EX mit einem anderen Dateinamen oder ganz ohne Parameter dahinter geschrieben wird. Zwischen den beiden EX-Befehlen sollte kein Flietext stehen.

Alle in der Sprungstart-Datei gefundenen Ausdrcke "Ausdruck" erhalten einen externen Querverweis zu dem Kapitel der Datei Dateiname.inf, das mit dem ID Punktbefehl ".ID Kapitel_Einleitung" gekennzeichnet ist.

Wo der .EX - .EX -Block in der Sprungstart-Datei steht, spielt berhaupt keine Rolle.

Pascal-Programmierer aufgepat! Bei der Kurzbezeichnung hinter dem ID-Befehl wird Gro- und Kleinschreibung unterschieden!

Beachten Sie die Aktualitt der IPF-Dateien im Auge: bei einer nderung der Sprungziel-Datei mu HyperMake erst die Sprungziel-Datei bearbeiten, so da die Panel ID Datei den aktuellen Stand erhlt. Erst dann kann die Sprungstart-Datei kompiliert werden.

Bei der Angabe des Dateinamens

.snb
 .EX Dateiname.inf
.sn

noch Pfade anzugeben, macht meist keinen Sinn, da sich die Datei bei verschiedenen Computern auf verschiedenen Pfaden und Laufwerken befinden kann. Wenn die Datei sich im gerade angemeldeten Pfad befindet, gibt es keine Probleme, auch nicht, wenn der Pfad bei SET BOOKSHELF der Datei CONFIG.SYS enthalten ist. Ist das jeweils nicht der Fall, sollten Sie Umgebungsvariablen verwenden.

Als Beispiel fr externe Querverweise knnen Sie Beispiel Externe Querverweise ausprobieren oder gleich hier auf die Worte Kanzler, SPD und CDU drcken. Beim Erstellen dieses Hypertextes (also der Sprungstart-Datei) habe ich an einer beliebigen Stelle den folgenden Befehlsblock geschrieben:

.snb
 .EX Beispiel.inf
 .ID Kapitel_Kanzler
 .IN Kanzler
 .ID Kapitel_Parteien
 .IN SPD
 .IN CDU
 .EX
.sn

.EX Beispiel.inf
.ID Kapitel_Kanzler
.IN Kanzler
.ID Kapitel_Parteien
.IN SPD
.IN CDU
.EX

In der Sprungziel Datei BEISPIEL finden sich in den Kapiteln ber Kanzler und Parteien die zwei ID-Punktbefehle ebenfalls.
.END IPFDOC

.IF HTMLDOC
.3
Externe Querverweise bei HTML (external links)

Mit HyperMake knnen Sie bestimmte Wrter definieren, die grundstzlich zu einer bestimmten URL, also einer beliebigen Adresse im Internet, zeigen sollen. Wenn etwa alle Wrter "Netscape" und "Netscape-Browser" auf die Netscape-Seite im Internet zeigen sollen, dann geben Sie dies wie folgt ein:

.snb
 .URL http://home.netscape.com
 .IN Netscape
 .IN Netscape-Browser
 .LOCAL
.sn

.URL http://home.netscape.com
.IN Netscape
.IN Netscape-Browser
.LOCAL

Achten Sie darauf, da die gewohnten IN-Befehle zwischen einem URL-Befehl und einem LOCAL-Befehl quasi eingeklammert werden: Bevor normaler Text folgt, mu also ein LOCAL-Befehl geschrieben werden. Es ist sinnvoll, z. B. am Anfang des Textes smtliche externe Links zu konzentrieren.
.END HTMLDOC
.IF IPFDOC
.3
Programme per Querverweis starten (launching programs, nur IPF)

.in Programme starten
.in Starten von Programmen
.in launching programs
hnlich wie externe Querverweise kann auf externe Programme verwiesen werden, knnen also externe Programme gestartet werden.

.snb
 .EX mppm.exe c:\mmos2\movies\macaw.avi
 .IN Papagei
 .EX e.exe BEISPIEL.TXT
 .IN Datei BEISPIEL
 .EX
.sn

.EX mppm.exe c:\mmos2\movies\macaw.avi
.IN Papagei
.EX e.exe BEISPIEL.TXT
.IN Datei BEISPIEL
.EX
.sao
Der Papagei ist ein Vogel. (Der Querverweis "Papagei" ist nur dann aktiv, wenn Sie OS/2 Multimedia installiert haben.) Der Querverweis zur Datei BEISPIEL, bei dem der Systemeditor gestartet wird, ist Ihnen vielleicht schon im vorangegangenen ~Kapitel~ aufgefallen.

Drckt der Benutzer auf "Papagei" oder "Datei BEISPIEL", wird das entsprechende externe Programm gestartet. Im EX-Punktbefehl sind die Parameter hinter dem Programmnamen optional. Programmname und Parameter sind durch ein Leerzeichen getrennt. Die Erweiterung ~.EXE~ mu angegeben werden! Es knnen natrlich auch Batchdateien mit der Endung ~.CMD~ oder DOS-Dateien mit der Endung ~.BAT~ oder ~.COM~ gestartet werden.

Wenn Daten nicht bei jedem Benutzer in einem bestimmten Pfad, z. B. C:\MMOS2\MOVIES, zu finden sind, mssen Umgebungsvariablen verwendet werden.

Sie knnen einem EX-Punktbefehl auch mehrere IN-Punktbefehle folgen lassen, etwa um sowohl bei "Papagei" als auch bei "Papageienfilm" den Film starten zu lassen.

Damit eine Bezeichnung wie "CONFIG.SYS" oder "Eule (Film)" einen Querverweis bekommt, mssen Punkt bzw. Klammern in der Ini-Datei unter extended letters aufgefhrt sein.

.4
Umgebungsvariablen

.in Umgebungsvariable
Bei externen Querverweisen und beim Starten von Programmen knnen Umgebungsvariablen sehr ratsam sein.

Beim Verwenden einer INF-Datei auf verschiedenen Rechnern sollten bestimmte Datenpfade durch Umgebungsvariablen ersetzt werden, etwa %MMVIDEO%. Jeder Rechner, der Ihren Hypertext benutzt, sollte dann in der Datei CONFIG.SYS z. B. folgenden Eintrag haben:

.snb
SET MMVIDEO=C:\MMOS2\MOVIES
.sn

Im HyperMake-Quelltext schreiben Sie dann:

.snb
 .EX mppm.exe %MMVIDEO%\macaw.avi
 .IN Papagei
 .EX
.sn

OS/2 ersetzt dann den Ausdruck %MMVIDEO% gegen den in der CONFIG.SYS angegebenen Laufwerks- und Pfadnamen.

Genauso knnen Sie bei externen Querverweisen verfahren.

In den Fllen, wo die Pfadbezeichnung mit einem Strichpunkt endet, etwa 

.snb
SET MMBASE=C:\MMOS2;
.sn

funktioniert allerdings die Umgebungsvariable nicht mehr und der Querverweis wird nicht gezogen.

.EX view.exe cmdref.inf
.IN OS/2-Referenzhandbuch
.EX
Zum Thema Umgebungsvariablen knnen Sie auch unter "SET" im OS/2-Referenzhandbuch nachschlagen.
.END IPFDOC

.2
Duplizierung von Kapitelberschriften

.in Duplizierung von Kapitelberschriften

Es ist hufig erforderlich, die Kapitelberschrift als Querverweis-Ziel zu deklarieren, in den Index aufzunehmen und - insbesondere bei IPF relevant - im Textfenster mit grerer oder farbiger Schrift zu wiederholen:

.snb
 .3
Kapitelberschrift

 .IN Kapitelberschrift
 .snX
Kapitelberschrift
 .sn
.sn

Diese Tipparbeit kann man sich sparen. Mit dem Punktbefehl DuPliziere

.snb
 .dpX
.sn

wird die Kapitelberschrift zu Beginn des Flietextes in Schrift C dupliziert, d.h. wiederholt, und zwar in allen Gliederungsebenen.
.IF IPFDOC
Besonders vorteilhaft ist dies bei sehr langen berschriftstexten, da bei INF-Dateien in der Fensterleiste meist nur die ersten 70 Buchstaben Platz finden.
.END

Mit Hilfe der Einstellung Index Filter in der Ini-Datei knnen bestimmte Zeichen im Stichwortverzeichnis und bei der Duplizierung von Kapitelberschriften unterdrckt werden.

.snb
 .dp34X
.sn

fhrt die Duplizierung nur fr Gliederungshierarchie 3 und 4 aus.

.snb
 .dp-
.sn

deaktiviert die Duplizierungs-Funktion ber alle Gliederungsebenen.

.snb
 .dp-234
.sn

deaktiviert die Duplizierungs-Funktion in den Gliederungsebenen 2, 3 und 4.

.snb
 .dp#
.sn

verwendet den berschrifts-Text als Querverweis-Ziel; die Wiederholung des Kapitelberschrifts-Textes im .IN -Punktbefehl kann man so sparen. Statt # lt sich auch das Stichwortzeichen aus der Ini-Datei verwenden.

.snb
 .dp##
.sn

nimmt den berschrifts-Text nicht nur als Querverweis-Ziel, sondern zustzlich noch im Index auf. Diese Funktion sollte nur mit Bedacht gewhlt werden, da die Information sowohl im Index als auch im Inhaltsverzeichnis auftaucht, also redundant ist.
.IF IPFDOC
brigens kann ein groer Index eine INF-Datei bei der Benutzung des Index sehr langsam machen.
.END

.snb
 .dp3##X,
 .3
Meier, Fritz
.sn

im Flietext wird "Fritz Meier" dupliziert, das ist auch das Querverweis-Ziel. Im Index, im Inhaltsverzeichnis und als Fenster-berschrift erscheint aber "Meier, Fritz".

Die Parameter hinter ".DP" knnen beliebig kombiniert werden, wobei die Reihenfolge egal ist.

.3
Beispiel Duplizierung Kapitelberschriften - Quelltext

.snz
 .fa verti 30
 .dp4R#,
 .3
Beispiel Duplizierung Kapitelberschriften - Ergebnis

Bundeskanzler seit 1949

(CDU, SPD und Kanzler sind externe Querverweise. Schrift R ist in Ini-Datei definiert.)

 .4
Adenauer, Konrad

1949-1963, CDU, war der erste Kanzler nach dem zweiten Weltkrieg. Ihm folgte Ludwig Erhard.

 .4
Erhard, Ludwig

1963-1966, CDU, Nachfolger von Konrad Adenauer. Zweiter Kanzler der Bundesrepublik. Ihm folgte Kurt Georg Kiesinger.

 .4
Kiesinger, Kurt Georg

1966-1969, dritter Kanzler der CDU, leitete die groe Koalition von CDU und SPD. Nachfolger von Ludwig Erhard.

 .4
Brandt, Willy

1969-1974, erster Kanzler der SPD.

 .4
Schmidt, Helmut

1974-1982, Kanzler der SPD aus den Siebzigern. Nachfolger von Willy Brandt.

 .4
Kohl, Helmut

amtierender Kanzler der CDU seit 1982. Nachfolger von Helmut Schmidt.
.sn

.fa verti 30
.3
Beispiel Duplizierung Kapitelberschriften - Ergebnis

.in Beispiel Duplizierung von Kapitelberschriften
.in Beispiel Externe Querverweise
.dp4R#,
Bundeskanzler seit 1949

(CDU, SPD und Kanzler sind externe Querverweise. Schrift R ist in Ini-Datei definiert.)

.4
Adenauer, Konrad

1949-1963, CDU, war der erste Kanzler nach dem zweiten Weltkrieg. Ihm folgte Ludwig Erhard.

.4
Erhard, Ludwig

1963-1966, CDU, Nachfolger von Konrad Adenauer. Zweiter Kanzler der Bundesrepublik. Ihm folgte Kurt Georg Kiesinger.

.4
Kiesinger, Kurt Georg

1963-1966, dritter Kanzler der CDU, leitete die groe Koalition von CDU und SPD. Nachfolger von Ludwig Erhard.

.4
Brandt, Willy

1969-1974, erster Kanzler der SPD.

.4
Schmidt, Helmut

1974-1982, Kanzler der SPD aus den Siebzigern. Nachfolger von Willy Brandt.

.4
Kohl, Helmut

amtierender Kanzler der CDU seit 1982. Nachfolger von Helmut Schmidt.

.2
Tabellen (Tables)

.in Tabelle
.in Table
HyperMake 3.0 ermglicht die einfache Eingabe von Tabellen in der Form, wie sie als ASCII-Text mit festen Schritten dargestellt wird:

.snb
 .TA Beispiel
 erste Zelle   Zahlen    -----dritte und vierte----
 erste Zelle     97,96   dritte Zelle  vierte Zelle+
 erste Zelle  1.324,90   dritte Zelle  zweite Zeile
 erste Zelle      0,00   dritte Zelle  Binde-
 erste Zelle   -123,45   "             strich
 .TA
.sn

.TA Beispiel
erste Zelle   Zahlen    -----dritte und vierte----
erste Zelle     97,96   dritte Zelle  vierte Zelle+
erste Zelle  1.324,90   dritte Zelle  zweite Zeile
erste Zelle      0,00   dritte Zelle  Binde-
erste Zelle   -123,45   "             strich
.TA

.IF IPFDOC
Die Fhigkeiten von IPF-Tabellen sind lange nicht so gro wie bei HTML. Fr IPF-Tabellen benutzen Sie besser keine " und + Zeichen. HyperMake versucht zwar das beste daraus zu machen, doch ist das Ergebnis oft wenig befriedigend. IPFC erzeugt brigens Tabellen grundstzlich nur mit fester Schrift.
.END

.sab
Eine Tabelle (Table) beginnt mit einem ~.TA~ Punkbefehl, gefolgt von einem Titel. Soll die Tabelle keinen Titel erhalten, mu ~.TA NO~ geschrieben werden. ~.TA~ gefolgt von einem Return, also ohne weitere Angaben, beendet die Tabelle.

Tables knnen weitestgehend so eingegeben werden, wie man sie in einem Editor mit mit festem Zeichenabstand darstellt. Es gelten folgende Regeln:

 Zwischen zwei Zellen mssen zwei Leerzeichen sein. Dies ist das Kriterium fr die Trennung zwischen den Zellen. Die zwei Leerzeichen mssen nicht immer untereinanderstehen, zumindest eine Spalte sollte aber schon ber alle gewnschten Zeilen nur Leerzeichen enthalten. Linksbndigkeit bzw. Rechtsbndigkeit spielt keine Rolle.
 Soll eine Zelle ber zwei Zellen-Zeilen gehen, so wird sie nach unten mit einem Gnsefchen verlngert.
 Soll eine Zelle grer sein als deren Textinhalt, so darf der Text am Anfang und Ende mit Bindestrichen aufgefllt werden. Diese werden wieder gelscht, wenn sie nicht einzeln vorkommen wie beim Beispiel -123,45.
 mehrere Zeilen knnen zu einer Zelle zusammengefat werden: Entweder mit einem Plus-Zeichen am Ende der Zeile, dieses wird nicht dargestellt; oder ein einzelner Bindestrich.

Falls das + Zeichen schon anderweitig verwendet wird, kann jederzeit mit dem Befehl

~.tc X~

(table character) stattdessen ein beliebiger Buchstabe X eingestellt werden.

Standardmig werden Zellen, die berwiegend Ziffern enthalten, rechtsbndig geschrieben und Zellen, die berwiegend Buchstaben enthalten, linksbndig.

Mit dem Punktbefehl

~.TT~

(Table Tags) knnen HTML Table Tags verndert werden. Standard ist

~.TT BORDER CELLPADDING=5~



~.TT BORDER CELLPADDING=5 BGCOLOR="#D0D0D0"~

verwendet fr die Tables einen grauen, einfarbigen Hintergrund. Das kann vonnten sein, wenn Sie ein Hintergrundbild verwenden (siehe Ini-Datei, Schalter body tags), in dem Linien enthalten sind. Das kann dann in Kombination mit den Table-Linien unbersichtlich aussehen.

.2
Linienziehen

.in Zeichen fr Linienziehen
Da das Linienziehen zur Erstellung von Umrandungen und Tabellen normalerweise eine recht aufwendige Angelegenheit ist, gibt es einen Punktbefehl, der Ihnen die Arbeit sehr erleichtert, wie Sie im folgenden Beispiel sehen werden:

.snb
 .LIXY

      X                           X

            Operating systems

      Y                 Y                X            X
            Novell         IBM              Hardware
      Y       Y                          X            X
          DOS   Netware    OS/2
      X                           X
 .LI
.sn

Und Sie erhalten:

.snb
.LIXY

      X                           X

            Operating systems

      Y                 Y                X            X
             Novell        IBM              Hardware
      Y       Y                          X            X
         DOS    Netware    OS/2
      X                           X
.LI
.sn

.sab
Innerhalb des Punktbefehls ~.LIXYZ~ steht X fr das Zeichen, welches die Ecken eines Rechtecks markiert und Y fr den Beginn einer Unterteilung. Ein vorangestelltes Zeichen Z ergibt Doppelstriche (nur IPF). Verwenden Sie fr X, Y und Z Zeichen, die sie sonst in der Liniengraphik nicht bentigen.

Die standardmig eingestellte Schrift fr Linienziehen knnen Sie in der Ini-Datei bei den Schriften (Font) verstellen, und zwar mit dem Parameter ~LineStandard~.

.IF IPFDOC
Kombinierte Einfach/Doppel-Striche werden nur mit Codepage 437 untersttzt. Falls Sie andere Codepages verwenden mssen, verwenden Sie bitte keine Doppelstriche.
.END

.IF WORDSTARDOC
.3
Linienziehen und WordStar

Das Zeichen Z im ~.LIXYZ~-Befehl zur Erstellung von Doppelstrichen mu ein ^P-Steuerzeichen sein (z. B. ^PE oder ^PR). Verwenden Sie den ^OD-Umschalter, um die ^P-Steuerzeichen unsichtbar zu machen; so knnen Sie die korrekte Ausrichtung des Rechtecks berprfen.

.END
.2
Funoten

.in Funote
Die Erstellung von Funoten geht mit HyperMake sehr leicht. Funoten drfen etwa in Klammern geschrieben werden wie {Inhalt der Funote}, nachdem Sie den Punktbefehl FUnoten verwendet haben:

~.FU{}~

Statt den Klammern und dem Funoteninhalt erscheint nur ein Sternchen[Inhalt der Funote], auf das Sie mit der Maus drcken knnen.

.fu{}
Andere brauchbare Funotenzeichen sind [ ], < > oder  (Alt-220)  (Alt-223) - sozusagen fette Gnsefchen (bei IBM codepage).
.fu[]

.IF HTMLDOC
Sie knnen fr das HTML-Funotenfenster eine andere Schrift whlen:

~.FU{}snX~

Fr das HTML-Funotenfenster wird dann Schrift X verwendet.

Mit dem Befehl Funoten Size

~.FS 30~

knnen Sie die Gre des Funotenfensters in Prozent verstellen. Standard ist 15 Prozent. Dieser Befehl mu vor einem neuen Kapitel, das die genderte Fensteraufteilung haben soll, aktiviert werden.
.END

Die Funotenfunktion kann zwischendurch auch wieder ausgeschaltet werden, indem keine Parameter dahinter geschrieben werden:

~.FU~

oder Sie knnen zwischendurch auch andere Funotenzeichen definieren. Standardmig sind gar keine Funotenzeichen definiert.

Wenn Sie statt einem "*" als Knopf zur Aktivierung des Funotenfensters einen anderen Text haben wollen, knnen Sie dies mit dem Punktbefehl Funoten Text ndern:

~.FT XXX~

Statt einem Sternchen erscheint dann der Text "XXX". Sie drfen dabei auch eine Grafik statt Text verwenden:

.snb
 .BT& Dateiname
 .FT&
.sn

(siehe Grafiken)

.IF HTMLDOC
Wenn Sie bei HTML Funoten nicht als Frames dargestellt haben mchten, sondern als separate Datei, knnen Sie dies mit dem Kommandozeilenparameter ~/NOFRAMES~ erreichen.
.END

.FA hori 30
.2
Rnder und Formatierung

.in Rand
.in margin

.3
Linken Rand verstellen

Das ist ein Beispielstext mit linkem Rand 1.

.LM10
Dies ist ein Beispielstext mit linkem Rand 10; beachten Sie, da die Einrckung auch in den folgenden Zeilen korrekt ist.

.LM20
Dies ist ein Beispielstext mit linkem Rand 20; beachten Sie, da die Einrckung auch in den folgenden Zeilen korrekt ist.

.LM1
Der linke Rand lt sich mit dem Punktbefehl Left Margin (linker Rand) verstellen:

~.LM n~

n steht fr eine Zahl von 1 bis ca. 30; der Standardwert ist 1.


Wenn ~.LM~ ohne Zahl eingegeben wird, wird auf den Standardwert 1 geschaltet.

.IF HTMLDOC
HTML ist nicht in der Lage, den linken Rand in feinen Schritten zu verndern. HyperMake simuliert die Verstellung des linken Randes unter Verwendung der HTML definition list. Das hat zur Folge, da der Rand nur in Fnferschritten gendert werdn kann. Left Margin 1 und 2 hat gar keine Wirkung, 4 bis 8 stellt ihn auf ca. 5 (abhngig vom Browser), 9 bis 13 auf 10 usw.
.END

.IF WORDSTARDOC
Beim DOS WordStar mssen weiche Leerzeichen statt dem Punktbefehl verwendet werden.[Der WordStar-Punktbefehl .LM generiert solche weichen Leerzeichen automatisch. HyperMake interpretiert nicht den LM-Befehl selbst, sondern nur die darber erzeugten weichen Leerzeichen. Genauso knnen Sie weiche Leerzeichen durch Tabulatoren (^OL) und der Absatzeinrckung (^OG) generieren; beim nachtrglichen Formatieren werden weiche Leerzeichen mit ^OG ^B erzeugt.]
.END

.3
Formatierung aus- und einschalten

.IF IPFDOC
.in Formatierung
Bei Erstellung von IPF-Dateien lt sich mit den Punktbefehlen Formatierung aus und Formatierung an

.snb
 .FM aus
.sn
.snb
 .FM an
.sn

der automatische Zeilenumbruch aus- und wieder einschalten. Standardmig ist die Formatierung eingeschaltet. Aus bedeutet, da die Formatierung (Zeilenvorschbe) so bleiben wie im Quelltext. Die Einstellung gilt bis zum nchsten Formatierungs-Befehl, selbst ber Kapitelberschriften hinweg.

Beim Linienziehen ist die Formatierung automatisch ausgeschaltet.

Verwenden Sie nicht Index/Querverweise, wenn Formatierung ausgeschaltet ist.[Und zwar wegen einem Fehler im IPFC 2.0 Compiler. Die Eintrge im Index wrden ein ASCII-10-Zeichen am Ende erhalten.] Klammern Sie in diesem Fall Index-Punktbefehle zwischen zwei Formatierungsbefehle ein:

.snb
 .fm an
 .in Wort1
 .in Wort2
 .fm aus
.sn
.END IPFDOC

.IF HTMLDOC
Fr HTML-Dateien gibt es keine Punktbefehle zum Ein- und Ausschalten des Zeilenumbruches. Wenn Sie einen Text nicht formatiert haben wollen, mssen Sie eine Schrift mit Phrase Element PRE verwenden.
.END

.IF IPFDOC
Bei IPF knnen Sie bei Festlegung der Schrift ~PRE~ in der Ini-Datei deklarieren, Sie knnen sich die eigenen Punktbefehle dann sparen.
.END

.3
Zentrierter Text

.in zentrierter Text
Bei zentriertem Text ist die Formatierung immer ausgeschaltet. Zentrierten Text kann man ein- und ausschalten mit dem Punktbefehl :Output Centered;

.snb
 .OC an
 .OC aus
.sn

Sie knnen aber auch bei Festlegung der Schrift ~center~ schreiben, die eigenen Punktbefehle knnen Sie dann sparen.

.3
Automatischer Rand (auto margin)

.in definition list
.sv automatischer Rand
Sie knnen (z. B. fr Definitions-Listen) den linken Rand zwischendurch mit Hilfe von Leerzeichen verndern.

.snb
*Motherboard*
      Auf dem Motherboard befinden sich der Hauptprozessor, die RAM Speicherchips 
      und einige weitere wichtige Teile des Computers.

*Bildschirm*
      Computer-Bildschirme gibt es mit Gren von 14 bis 21
      Zoll; Am Bildschirm sollte am wenigsten gespart werden.
.sn


Motherboard
      Auf dem Motherboard befinden sich der Hauptprozessor, die RAM Speicherchips und einige weitere wichtige Teile des Computers.

Bildschirm
      Computer-Bildschirme gibt es mit Gren von 14 bis 21 Zoll; Am Bildschirm sollte am wenigsten gespart werden.

Mit dem Punktbefehl :Auto Margin: (autom. Rand) lt sich diese Interpretation von Leerzeichen am Zeilenanfang abschalten und wieder einschalten:

.snb
 .AM aus
 .AM an
.sn

Die Standardeinstellung ist an..

Man kann den AM Befehl in normalen Flietext auf an lassen. Wird die erste Zeile eines Absatzes eingerckt, ndert das den Rand fr den einen Absatz. Sie mssen den AM Befehl nur dann unbedingt auf aus stellen, wenn Sie nur die erste Zeile eines Absatzes eingerckt haben mchten.

Wenn Sie einen ASCII-Editor mit ASCIIHARDRET verwenden, so sollte die Einrckung nur am Absatzanfang sein; die folgenden Zeilen, die vom Editor umgebrochen werden, drfen keine Leerzeichen am Anfang erhalten.

.IF WORDSTARDOC
WordStar-Dateien brauchen die Auto Margin Funktion gar nicht.[Sie knnen im WordStar jederzeit mit ^OG und weichen Leerschritten den linken Rand beeinfluen.]
.END

.2
If-Bedingungen

.in If-Bedingung
Mit Hilfe von If-Bedingungen lassen sich fr z. B. hnliche Programmversionen leicht unterschiedliche IPF- bzw HTML-Dateien aus dem selben Quelltext erstellen. Hierfr gibt es drei neue Punktbefehle:

.snb
 .IF BEDINGUNG
 .ELSE
 .END
.sn

Die Gro- oder Kleinschreibung der Bedingungen ist dabei egal. Der ELSE-Befehl ist natrlich optional.

Zum Kompilieren des Quelltextes wird in der Kommandozeile z. B. eingegeben:

.snp
.fu
[C:\myProject] HMAKE MeinDoku.txt #BEDINGUNG
.fu[]
.sn

Es knnen auch mehrere Bedingungen in die Kommandozeile eingegeben werden. Entscheidend ist das # Zeichen, nicht die Reihenfolge.

IF bedeutet "wenn", ELSE bedeutet "andernfalls". Mit END endet die If-Bedingung.

Mehrere Bedingungen in der If-Bedingung (verknpft mit AND oder OR) werden nicht untersttzt.

Standardmig sind die Bedingungen #HTML bzw. #IPF gesetzt.

.IF HTMLDOC
.1
HTML-spezifische Funktionen

HyperMake bietet einige spezielle Funktionen fr Problemstellungen, die speziell bei HTML und dem Verffentlichen im WWW entstehen. Die meisten hier aufgefhrten Funktionen werden nicht ber Befehle im Quelltext, sondern ber die Ini-Datei und ber Kommandozeilenparameter aktiviert.

Wenn Sie HyperMake-Texte im WWW verffentlichen wollen, sollten Sie dieses Kapitel durchlesen, auf alle Flle aber das Unterkapitel zu HTML-Dateinamen!

.2
Buttons (Navigations-Knpfe)

.in Buttons
.in Navigations-Knpfe
Allgemeine Navigations-Buttons

Beachten Sie bitte die Button-Bibliothek von HyperMake im Verzeichnis BUTTONS.

In HTML-Texten ermglichen blicherweise Buttons (Navigations-Knpfe) am Anfang und am Ende jeder einzelnen HTML-Seite, den Benutzer von einer zur anderen Seite zu leiten. Sie knnen in der Ini-Datei  entsprechende Funktionen angeben.

.snb
function for first line = BACK FORWARD CONTENT INDEX
text for first line =     zurck vorwrts Inhalt Stichwrter
.sn

Die vier Funktionen BACK FORWARD CONTENT INDEX haben ihre feste Bedeutung:

 BACK geht zur Seite, die sich in der logischen Reihenfolge (entsprechend dem Quelltext) vor der aktuellen Seite befindet
 FORWARD geht zur in der logischen Reihenfolge nchsten Seite
 CONTENT springt zum Inhaltsverzeichnis
 INDEX springt zum Stichwortverzeichnis.

Analog zu den Funktions-Bezeichnern BACK FORWARD usw. mssen die Dateinamen der Buttons BACK.GIF, FORWARD.GIF usw. lauten.

Zu jeder Funktion gibt es auch einen Text. Wenn im HTML-Browser das automatische Laden von Bildern deaktiviert wird, erscheint statt dem graphischen Button ein entsprechender Text. Sie knnen aber auch in der Ini-Datei mit ~buttons = NO~ die graphischen Buttons ganz ausschalten und erhalten dann von vornherein nur den Text als Querverweis statt dem Navigations-Button.

Wenn Sie bestimmte Knpfe nicht haben wollen, lschen Sie die entsprechenden Anweisungen in den Zeilen unter "function for.." und "text for..". Dies knnen Sie separat fr die Buttons am Seitenanfang ("first line") und Seitenende ("last line") tun. Sie knnen auch die Reihenfolge der Knpfe entsprechend ndern, indem Sie in der Ini-Datei sowohl in der Zeile "function for..." als auch "text for..." entsprechende Umstellungen vornehmen.


Benutzerdefinierte Navigations-Buttons

Es ist nun mglich, selbst Navigations-Buttons zu definieren, die auf ein beliebiges Kapitel verweisen. Hierfr ist sowohl ein Eintrag in der Ini-Datei als auch ein Punktbefehl im Text erforderlich, der das Ziel-Kapitel kennzeichnet.

In der Ini-Datei:

.snb
function for first line = BACK FORWARD CONTENT INDEX LABEL_A LABEL_B ...
text for first line =     zurck vorwrts Inhalt Stichwrter BezeichA BezeichB ...
.sn

und im Quelltext in den gewnschten Kapiteln:

.snb
 .ID LABEL_A
 .ID LABEL_B
.sn

drckt der Benutzer auf den Button LABEL_A.GIF, gelangt er zum Kapitel, das mit .ID LABEL_A markiert wurde. Gro- oder Kleinschreibung spielt keine Rolle. Es gibt keine Begrenzung der Anzahl von benutzerdefinierten Buttons.

Bei Verwendung von ~.ID~ Punktbefehlen heit die HTML-Datei dann LABEL_A.HTML, whrend HyperMake sonst Dateinamen mit fortlaufender Nummer vergibt. Wenn Sie Navigations-Knpfe verwenden wollen, aber ausdrcklich keine festen Dateinamen, knnen Sie dies ber einen Kommandozeilenparameter ~/NOID~ erreichen:

Beachten Sie bitte die Button-Bibliothek.

Buttons als externe Querverweise

Es ist zulssig, einem Button eine URL zuzuweisen:

.snb
 .URL http://www.netscape.com
 .ID NETSCAPE
 .LOCAL
.sn

Wird in der Ini-Datei NETSCAPE bei "function for..." eingetragen, so erhlt der Button NETSCAPE.GIF eine URL als Adresse.

So knnen Sie z. B. eine Programmdokumentation in HTML schreiben und auf jeder Seite einen Button "Homepage" oder Ihr Firmenlogo erscheinen lassen, mit einer Verbindung zu ihrer persnlichen Homepage.

.2
HTML-Dateinamen

.in Dateinamen
Normalerweise nummeriert HyperMake die Kapitel einfach durch: N000.HTML, N001.HTML usw. Es gibt verschiedene Mglichkeiten, Einflu auf die automatische Wahl von Dateinamen zu nehmen.

Vorgabe eines festen Dateinamens

.snb
 .2
 ber den Autor
  
 .ID AUTOR
 Ich bin 31 Jahre alt, habe Betriebswirtschaft studiert...
.sn

Sie knnen eine bestimmte Textstelle mit einer ID (Identity, Identifizierung) versehen. Auf eine solche Textstelle knnen benutzerdefinierte Navigations-Knpfe (Buttons) verweisen.

Wenn ein Kapitel mit ~.ID LABEL_A~ markiert wurde, wird statt dem Nummern-Dateiname ein konkreter Dateiname LABEL_A.HTML verwendet. So wird verhindert, da Seiten, die von auen angesprungen werden, bei einem Update auf einmal ihren Namen ndern. Das kann auch bei einer umfangreichen Homepage sinnvoll sein: Mit ID markierte HTML-Seiten knnen auch separat aktualisiert werden, ohne da fr jede Textakutalisierung smtliche Dateien erneut hochgeladen werden mssen.


Mehrere HyperMake-Projekte in nur einem Verzeichnis

Der Schalter "pre filename" in der Ini-Datei erlaubt es Ihnen, vor alle HTML-Dateinamen noch eine bestimmte Zeichenfolge zu setzen, z. B. UserN000.HTML, UserN001.HTML. Dies erfordert jedoch fr jedes Projekt eine separate Ini-Datei. Um separate Ini-Dateien zu vermeiden, gibt es einen weiteren Kommandozeilenparamter:

.snp
.fu
[C:\myProject] HMAKE mein.txt /PRE
.fu[]
.sn

erzeugt HTML-Dateien ~MEIN\MEIN*.HTML~ .

Sie knnen dann gegegebenenfalls die HTML-Dateien aller Einzelprojekte in ein gemeinsames Verzeichnis kopieren.

Bei DOS-Laufwerken darf der "pre filename" bzw. der Quelltext nicht lnger als 3 Buchstaben sein!


8.3 Dateinamen, lange Dateinamen, Gro- und Kleinschreibung

Dateinamen gehorchen unter verschiedenen Betriebssystemen unterschiedlichen Gesetzen. DOS kennt nur kurze Dateinamen der 8.3 Schreibweise. Die PC-Betriebssysteme DOS, OS/2, Windows 95 und Windows NT unterscheiden nicht zwischen Gro- und Kleinbuchstaben, wohl aber Unix-Systeme. Und Unix-Systeme sind der Standard bei Internet-Servern. Es kann also vorkommen, da die Links (Querverweise) auf Ihrem Rechner einwandfrei funktionieren, im Internet nach dem Hochladen auf den Server aber nicht mehr!

Um das zu verhindern, bietet HyperMake diverse Mechanismen: Einen Schalter in der Ini-Datei, einen Kommandozeilenparameter und eine automatische Erkennung von Laufwerken mit kurzen DOS-Dateinamen.

.snb
//possible settings: sample.html SAMPLE.HTML Sample.html sample.htm SAMPLE.HTM Sample.htm
filename appearance = sample.html
.sn

In der Ini-Datei knnen Sie einstellen, wie die Dateinamen aussehen sollen.

Entscheidend ist das "schwchste Glied" in der Kette von Kopier- und Hochlade-Vorgngen. Erzeugen Sie beispielsweise HTML-Dateien unter OS/2, benutzen aber dann ein DOS bzw. Windows 3.1-Programm zum Hochladen, dann unterliegen alle Dateinamen der 8.3 Beschrnkung und DOS wandelt alle Kleinbuchstaben in Grobuchstaben um. Die richtige Einstellung ist also ~SAMPLE.HTM~. Benutzen Sie durchweg Windows95-Programme, sollten Sie ~Sample.html~ whlen.

Whlen Sie hier eine falsche Einstellung, etwa ~sample.html~ auf einem DOS-Laufwerk, das der 8.3 Beschrnkung unterliegt, korrigiert HyperMake die Endung automatisch auf ".HTM" um, wobei die Querverweise ebenfalls richtig gezogen werden.

Mit dem Kommandozeilenparameter ~/FAT~ (File allocation table, so heit das DOS-Dateisystem) erreichen Sie den selben Effekt wie mit der Einstellung ~SAMPLE.HTM~ in der Ini-Datei: Auch wenn das Dateisystem lange Dateinamen untersttzt, hlt sich HyperMake an die DOS-Konventionen.

Achten Sie auf die richtige Gro- und Kleinschreibung der Dateinamen von GIF-Dateien!


Unterschiedliche Sprachen in einem Verzeichnis

Wenn Sie etwa eine deutsch- und englischsprachige Homepage in ein gemeinsames Verzeichnis kopieren mchten, ergibt sich das Problem, da sowohl die deutschsprachigen Buttons FORWARD.GIF, BACK.GIF usw. als auch die englischsprachigen Buttons identische Dateinamen haben.

Der Kommandozeilenparameter ~/_~ (Unterstrich) hngt an alle Verweise auf Buttongrafik-Dateinamen noch _ an: FORWARD_.GIF, BACK_.GIF, USER_.GIF. Fr eine der beiden Sprachen mssen Sie diese Funktion verwenden und die Button-Dateinamen entsprechend umbenennen.

.2
Titel und Meta-Anweisungen

.in Meta-Anweisungen
.in Titelzeile
Zu Beginn jeder HTML-Datei wird ein Titel festgelegt, der in der Titelzeile (titlebar) des Browsers erscheint.

Fr dieses aktuelle Kapitel ist etwa 

HyperMake 3.0 - Titel und Meta-Anweisungen

eine sinnvolle Bezeichnung. Welcher Text auf jeder HTML-Seite als Titel erscheint, knnen Sie mit "file title" beeinflussen:

.snb
//here you can define the text appearing in the browser titlebar
//enter DOCTITLE and/or HEADING and fixed text, e.g. a slash; NO means no text
file title = DOCTITLE - HEADING
.sn

DOCTITLE ist der Titel des gesamten HyperMake-Dokuments, den Sie hinter den Punktbefehl ~.TI~ schreiben. HEADING ist der aktuelle berschrifts-Text. Neben diesen zwei Schlsselwrtern knnen Sie noch einen beliebigen Text schreiben, etwa:

.snb
file title = Martin Vieregg: DOCTITLE, Kapitel HEADING
.sn

Bei den HTML-Seiten Inhaltsverzeichnis und Stichwortverzeichnis werden statt HEADING die Texte aus "text for first/last line" verwendet. Fr die Funotendatei bzw. -dateien wird der Text aus dem Ini-Eintrag "notes text" verwendet.

Analog zum Titel kann mit "meta content" ein automatischer Meta-Eintrag vorgenommen werden.

.snb
meta content = DOCTITLE - HEADING
.sn

An die entsprechende Stelle der HTML-Datei wird dann geschrieben:

.snb
<META NAME "keywords" CONTENT="...">
<META HTTP-Request "keyword" CONTENT="...">
.sn

Dies sind Informationen fr Suchmaschinen im WWW und sollten in keiner verffentlichten HTML-Datei fehlen. Browser zeigen diesen Text nicht an, er wird nur von Suchmaschinen verwendet.


Einbinden von benutzerdefinierten HEAD-Anweisungen

Es knnen entweder fr einzelne oder fr alle HTML-Dateien zustzliche Anweisungen im HEAD-Block geschrieben werden. Standardmig schreibt HyperMake in die HTML-Datei nur:

.snb
<HEAD>
<META NAME="generator" content="HyperMake 3.00">
<META NAME ="Author" CONTENT="Name des Autors">
<title>Titel des Dokuments</title>
</HEAD>
.sn

Vor der <title> Anweisung knnen auf Wunsch weitere Informationen erscheinen. Diese werden in Dateien mit festgelegtem Dateinamen abgelegt. Sollen alle HTML-Dateien die zustzlichen Informationen erhalten, mu die Datei mit den zustzlichen HEAD-tags ~EVERY.HEAD~ heien. Soll nur eine bestimmte HTML-Datei diese zustzlichen Informationen erhalten, wird sie mit dem bekannten ~.ID USERLABEL~ markiert und dann eine Datei ~USERLABEL.HEAD~ mit dem gewnschten Inhalt angelegt.

Entscheidend fr das Einbinden von benutzerdefinierten HEAD-Anweisungen ist die Existenz entsprechender *.HEAD-Dateien. Einen eigenen Schalter hierfr gibt es nicht.

Wenn ein "Pre filename" (siehe Ini-Datei) verwendet wird, mssen die Dateinamen der HEAD-Dateien mit dem Pre Filename beginnen.

Wird ein DOS-Laufwerk verwendet oder die "filename appearance" ist auf die Erweiterung mit nur 3 Buchstaben gestellt, so mu die Endung der Dateinamen nicht ~.HEAD~, sondern ~.HEA~ lauten.
.END

.1
Erstellung von Helptables

.IF HLPDOC
.in Helptable
.in Panel ID
Das wichtigste Merkmal einer HLP-Datei gegenber einer INF-Datei ist die Verbindung von HLP-Dateien zu PM-orientierten Programmen. INF-Dateien treten alleine auf, HLP-Dateien nur in Verbindung mit einem Programm, das durch die HLP-Datei erklrt werden soll. In HLP-Dateien lassen sich Verbindungen zwischen Programmfenstern oder Programmknpfen zu Kapiteln des Hypertexts herstellen. Drckt man bei einem solchen Programm auf den fraglichen Knopf und gleichzeitig F1, wird der HLP-Text mit dem entsprechenden Kapitel aufgerufen.

Es gibt zwei verschiedene Arten solcher Verbindungen (engl. links):
 Verbindungen ber Helptables
 direkte Verbindungen ber Panel ID's.

Helptable-Verbindungen werden durch gleichzeitiges Drcken von F1 mit dem entsprechenden Knopf (oder Menpunkt) aktiviert; statt F1 kann man auch auf einen speziellen Hilfe-Knopf drcken, dessen Flags BS_HELP | BS_NOPOINTERFOCUS gesetzt sind. Im Helptable ist eingetragen, welche Knpfe / Menpunkte zu welchen Kapiteln des Hypertext verbunden sind.

Direkte Verbindungen laufen nicht ber einen Helptable, vielmehr verwenden sie direkt eine Funktion im Programm-Quelltext, die ein bestimmtes Kapitel aufruft; solche direkte Verbindungen knnen auch bei textorientierten Programmen zum Einsatz kommen.

Ohne HyperMake mte also eine Helptable-Datei innerhalb der RC-Datei [Programmierer sollten RC-Dateien kennen; sonst knnen Sie dieses Kapitel berspringen, da nur INF-Dateien fr Sie in Frage kommen.] erstellt werden. Fr direkte Verbindungen mte eine Panel ID header-Datei mit den IPF-internen Kapitel (resource) ID's angelegt werden, assoziiert mit ausdrucksstarken Bezeichnern wie (Panel_Einfuehrung).

.2
Erstellen des HyperMake Quelltextes

.in ressource connection
Im HyperMake Quelltext werden zwei neue Punktbefehle verwendet: Ressource Connection

.snb
 .RC ID_window, ID_button_or_Menu_Item
.sn

bedeutet, da wenn der Knopf "ID_button_or_Menu_Item", der sich im Kindfenster "ID_Window" befindet, zusammen mit F1 gedrckt wird, das Kapitel aufgerufen wird, wo der RC-Befehl plaziert ist.

.sab
~ID_window~ ist die Konstante, die hinter MENU oder DIALOG in der RC-Datei steht.

Achtung: ~ID_window~ ist nicht die Konstante, die hinter DLGTEMPLATE steht.[Wenn Sie hinter DLGTEMPLATE und DIALOG die gleiche Konstante verwenden, ist das schon in Ordnung.]

Und mit Panel ID

.snb
 .ID Kapitel_Name
.sn

wird dem Kapitel, wo dieser Punktbefehl steht, die Kurzbezeichnung "Kapitel_Name" gegeben. Mit dem Aufruf von DisplayHelpPanel(Kapitel_Name) im Programm-Quelltext kann dieses Kapitel direkt aufgerufen werden.

Pascal-Programmierer aufgepat! Bei der Kurzbezeichnung hinter dem ID-Befehl wird Gro- und Kleinschreibung unterschieden!

Sie knnen diese Punktbefehle irgendwo innerhalb des Kapitels verwenden, zu dem die Verbindung hergestellt werden soll. Ich empfehle jedoch, diese Befehle mglichst nah an die Stelle des Kapitels zu setzen, wo der entsprechende Knopf bzw. Menpunkt erklrt wird. Das hat den Vorteil, da wenn Sie spter das Kapitel in mehrere Unterkapitel aufteilen, automatisch die Verbindung zum neuen Unterkapitel hergestellt wird - ohne da die RC- und IC-Punktbefehle an eine andere Stelle gesetzt werden mssen.

Wenn Sie den RC-Punktbefehl verwenden, mssen Sie normalerweise zwei ID's eingeben: Die erste fr das Programmfenster, in dem sich der Knopf/Menpunkt befindet[zu verwenden ist der Konstanten-Name, der in der RC-Datei hinter MENU oder DIALOG steht], und die zweite fr die ID des Knopfes, Menpunktes, Eingabefelds usw. (engl. item).

Wenn viele Items aus dem gleichen Programmfenster angegeben werden, mu man nicht die letzte Window ID wiederholen:

.snb
 .RC , ID_button_or_Menu_Item
.sn

Vor dem Komma wird die letzte Window ID eingesetzt.

Die HLP-spezifischen RC- und ID-Befehle haben nur Auswirkung auf die Helptable- und Panel-ID-Datei, die IPF-Datei wird dadurch nicht beeinflut. Das bedeutet, Sie knnen bedenkenlos aus solch einer IPF-Datei eine INF-Datei statt einer HLP-Datei erstellen.

Fr jede Window ID sollten Sie den RC-Befehl ohne Angabe eines Items, also mit nur einem Parameter, verwenden. Alle Items eines solchen Windows, die keinen eigenen RC-Befehl haben, erhalten die Verbindung, die im RC-Befehl mit nur einem Parameter festgelegt ist. Wenn Sie den RC-Befehl allein mit zwei Parametern verwenden, gibt HyperMake eine Warnung aus.

.in Helptable-Datei
Der folgende HyperMake Quelltext enthlt die zwei neuen Punktbefehle Ressource connection und Panel ID:

.snz
 .1
Einfhrung

 .RC ID_Kindfenster
 .ID PANEL_Einfuehrung
Das ist die Dokumentation von meinem Programm.

 .1
Verwendung des OK-Knopfes

 .RC ID_Kindfenster, ID_OK
 .ID PANEL_OK_Benutzung
Mit dem OK-Knopf - stellen Sie sich nur vor - knnen Sie OK drcken.

 .1
Verwendung des Cancel-Knopfes

 .RC ID_Kindfenster, ID_Cancel
Mit dem Cancel-Knopf knnen Sie den Befehl abbrechen.
.sn

.2
Einbindung in den C Programm-Quelltext

HyperMake erstellt automatisch eine Datei HLPTABLE.RC:

.snb
#define SUBTABLE_ID_Kindfenster 7001

HELPTABLE HELP_TABLE {
  HELPITEM ID_Kindfenster, SUBTABLE_ID_Kindfenster, 1 // Einfhrung
}

HELPSUBTABLE SUBTABLE_ID_Kindfenster {
  HELPSUBITEM ID_OK, 2 // Verwendung des OK-Knopfes
  HELPSUBITEM ID_Cancel, 3 // Verwendung des Cancel-Knopfes
}
.sn

HyperMake erstellt auerdem eine Datei PANELID.H:

.snb
/*****Panel ID's created by HyperMake*****/

#define PANEL_Einfuehrung   1
#define PANEL_OK_Benutzung  2
.sn

Die Nummern 1, 2 und 3 sind die IPF-internen Kapitel-ID's, die fr den HyperMake-Benutzer ohne Belang sind. In der Helptable-Datei werden deshalb noch als Kommentar die Kapitelberschriften eingetragen, so da sich die Helptable-Datei fr die Fehlersuche leichter lesen lt. (Normalerweise drften Sie kein Interesse haben, die Helptable und Panel ID -Datei zu lesen.)

Den Startwert fr die in der Helptable-Datei verwendeten Subtable ID's knnen Sie in der Ini-Datei unter der Einstellung ~Help Subtable Start ID~ ndern, auerdem knnen Sie auch die Dateinamen der zwei erstellten Dateien ndern.

Die Helptable-Datei und Panel ID -Datei wird einfach in den Programm-Quelltext eingebunden:

.snb
#include "HLPTABLE.RC"
.sn

etwa nach einem MENU oder DLGTEMPLATE-Block in der RC-Datei und

.snb
#include "PANELID.H"
.sn

zu Beginn des Programmtextes (eine C- oder CPP-Datei).


In der eigentlichen header-Datei progname.h mssen Sie eine Konstante HELP_TABLE mit irgendeinem unbenutzten Wert definieren, z. B.

~#define HELP_TABLE 7000~

Diese Konstante mu in der RC- und in der C bzw. CPP-Datei gltig sein.

Im C Quelltext bentigt man mindestens zwei Funktionen:

.snb
  void InitHelp (hwnd) /*initialisiert den Help-Proze*/
  void DestroyHelp () /*deaktiviert ihn*/
.sn

diese verwenden die Konstante HELP_TABLE.

Der Funktion InitHelp mu der window handle des Programms bergeben werden. Dieser mu natrlich schon definiert worden sein. Wenn Sie kein Standardwindow sondern nur eine Dialogbox als Programm haben, knnen Sie InitHelp unter WM_INITDLG und DestroyHelp unter WM_CLOSE aufrufen. Sonst rufen Sie die beiden Funktionen im Hauptprogramm vor und nach der Window-Message-Schleife ~while WinGetMsg...~ auf.

Eine dritte Funktion

.snb
  void DisplayHelpPanel (PanelID)
.sn

wird bentigt, um eine direkte Verbindung zwischen dem Programm und einem Hypertext-Kapitel herzustellen. Es ist die Programm-Seite des Panel ID Punktbefehls, den Sie im HyperMake Quelltext verwenden.

Ich habe eine kompakte Version dieser drei Funktionen geschrieben. Um sie kompilieren zu knnen, mssen Sie am Anfang folgendes eintragen:[Das kann Compiler-spezifisch sein; ich benutze Borland C]

.snb
#define INCL_HELP
.sn

.3
C Quelltext fr die drei Hilfe-functions

.snb
.in function InitHelp
.in function DestroyHelp
.in function DisplayHelpPanel
#define HelpFilename "FILENAME.HLP"
#define HelpWindowTitle "berschrift des Hypertext-Fensters"

BOOL fHelpEnabled;
static HWND hwndHelpInstance;

#define InfoBox(st) WinMessageBox (HWND_DESKTOP, HWND_DESKTOP, st, "", 0, MB_OK | MB_ERROR)

/*wird vor die Hauptprogramm-Message-Schleife (while WinGetMsg...) gesetzt*/
VOID InitHelp (HWND hwndClientFrame) {
    HELPINIT hini;
    /* If we return because of an error, Help will be disabled */
    fHelpEnabled = FALSE;
    /* Initialize help init structure */
    hini.cb = sizeof(HELPINIT);
    hini.ulReturnCode = 0;
    /* If tutorial added, add name here */
    hini.pszTutorialName = (PSZ)NULL;
    hini.phtHelpTable = (PHELPTABLE)MAKELONG(HELP_TABLE, 0xFFFF);
    hini.hmodHelpTableModule = 0; hini.hmodAccelActionBarModule = 0;
    hini.idAccelTable = 0; hini.idActionBar = 0;
    hini.pszHelpWindowTitle = HelpWindowTitle;
    hini.fShowPanelId = CMIC_HIDE_PANEL_ID;
    hini.pszHelpLibraryName = HelpFilename;
    /* Creating help instance */
    hwndHelpInstance = WinCreateHelpInstance(hab, &hini);
    if(hwndHelpInstance == 0L || hini.ulReturnCode) {
      InfoBox("Failed to load help manager."); return;
    }
    /* Associate help instance with main frame */
    if(!WinAssociateHelpInstance(hwndHelpInstance, hwndClientFrame)) {
      InfoBox("Failed to load help manager."); return;
    }
    /* Help manager is successfully initialized so set flag to TRUE */
    fHelpEnabled = TRUE;
    return;
}

/*wird hinter die Hauptprogramm-Message-Schleife gesetzt*/
VOID DestroyHelp () {
    if(hwndHelpInstance != 0L) WinDestroyHelpInstance(hwndHelpInstance);
    return;
}

/*
  einige mgliche Parameter fr SendHelpMessage
  HM_HELP_INDEX     zeigt Index
  HM_HELP_CONTENTS, zeigt Inhalt
  HM_DISPLAY_HELP   zeigt Hilfe fr Hilfefunktion (help for help)
*/
VOID SendHelpMessage (LONG HelpMessage) {
    if(fHelpEnabled)
      if((LONG)WinSendMsg(hwndHelpInstance, HelpMessage, (MPARAM) 0, (MPARAM) 0))
   InfoBox ("Failed to display help panel.");
}

/*
  Parameter sind die Panel ID's, definiert ber die ID Punktbefehle
  im HyperMake Quelltext
*/
VOID DisplayHelpPanel (LONG PanelID) {
    if(fHelpEnabled)
      if((LONG)WinSendMsg(hwndHelpInstance, HM_DISPLAY_HELP,
         MPFROMLONG(MAKELONG(PanelID, NULL)),
         MPFROMSHORT(HM_RESOURCEID))) InfoBox ("Failed to display help panel.");
}
.sn

.2
Einbindung in den Pascal Programm-Quelltext

HyperMake erstellt automatisch eine Datei HLPTABLE.RC:

.snb
CONST
  SUBTABLE_ID_Kindfenster = 7001

HELPTABLE 1000
BEGIN
  HELPITEM ID_Kindfenster, SUBTABLE_ID_Kindfenster, 1 /* Einfhrung */
END

HELPSUBTABLE SUBTABLE_ID_Kindfenster
BEGIN
  HELPSUBITEM ID_OK, 2 /* Verwendung des OK-Knopfes */
  HELPSUBITEM ID_Cancel, 3 /* Verwendung des Cancel-Knopfes */
END
.sn

HyperMake erstellt auerdem eine Datei PANELID.H:

.snb
{     Panel ID's created by HyperMake    }

const
  PANEL_Einfuehrung = 1;
  PANEL_OK_Benutzung = 2;
.sn

Die Nummern 1, 2 und 3 sind die IPF-internen Kapitel-ID's, die fr den HyperMake-Benutzer ohne Belang sind. In der Helptable-Datei werden deshalb noch als Kommentar die Kapitelberschriften eingetragen, so da sich die Helptable-Datei fr die Fehlersuche leichter lesen lt. (Normalerweise drften Sie kein Interesse haben, die Helptable und Panel ID -Datei zu lesen.)

Den Startwert fr die in der Helptable-Datei verwendeten Subtable ID's knnen Sie in der Ini-Datei unter der Einstellung ~Help Subtable Start ID~ ndern, auerdem knnen Sie auch die Dateinamen der zwei erstellten Dateien ndern.

Die Helptable-Datei und Panel ID -Datei wird einfach in den Programm-Quelltext eingebunden:

.snb
{$I HLPTABLE.RC}
.sn

etwa nach einem MENU oder DLGTEMPLATE-Block in der RC-Datei und

.snb
{$I PANELID.INC}
.sn

zu Beginn des Programmtextes (eine PAS-Datei).

Es gibt nun erst einmal zwei Funktionen, mit denen Sie die HLP-Datei aufrufen knnen.

.snb
DisplayHelpPanel (PanelID)
.sn

wird bentigt, um eine direkte Verbindung zwischen dem Programm und einem Hypertext-Kapitel herzustellen. Es ist die Programm-Seite des Panel ID Punktbefehls, den Sie im HyperMake Quelltext verwenden.

.snb
SendHelpMessage (HM_HELP_CONTENTS)
.sn

ruft direkt das Inhaltsverzeichnis auf. Es gibt noch weitere HM_*-Konstanten, die bei SpeedPascal in der Unit PMHELP.PAS definiert sind.

Die weitere Einbindung in den Programmtext hngt davon ab, ob Sie die SpeedPascal 1.5 OPML verwenden oder nicht.

.3
Einbindung der Hilfefunktion bei Benutzung der OPML

In der Methode 

.snb
TApplication.InitMainWindow
.sn

mssen Sie lediglich am Ende eine Zeile einfgen:

.snb
MainWindow^.InitWindowHelp ('MYPROG.HLP', 'Hilfeberschrift');
.sn

Das war's auch schon.

.3
Einbindung der Hilfefunktion auf konventionelle Weise

Zum Aktivieren und Deaktivieren der Hilfe-Funktion bentigen Sie zwei Funktionen:

.snb
  uses PMHELP;

  InitHelp (hwnd); {initialisiert den Help-Proze}
  DestroyHelp; {deaktiviert ihn}
.sn

Diese beiden Prozeduren sind ab SpeedPascal 1.5 in der Unit PMHELP definiert.

Der Prozedur InitHelp mu der window handle des Programms bergeben werden. Dieser mu natrlich schon definiert worden sein. Wenn Sie kein Standardwindow sondern nur eine Dialogbox als Programm haben, knnen Sie InitHelp unter WM_INITDLG und DestroyHelp unter WM_CLOSE aufrufen. Sonst rufen Sie die beiden Funktionen im Hauptprogramm vor und nach der Window-Message-Schleife ~while WinGetMsg...~ auf.

Unmittelbar vor der Prozedur "InitHelp" mu noch Variablen gesetzt werden:

.snb
  HelpFilename := 'MYPROG.HLP';
  HelpWindowTitle := 'berschrift des Hypertext-Fensters';
  HELP_TABLE := 1000;
.sn

Die Zahl 1000 kommt ebenfalls im HyperMake erstellten Helptable vor.

Falls Sie kein SpeedPascal 1.5 (oder spter) benutzen, habe ich die relevanten Variablen und Prozeduren zusammengestellt.

.4
Pascal Hilfe-Quelltext

.snb
{Help manager helpers}

FUNCTION InfoBox(st:STRING):LONGINT;
BEGIN
  result:=WinMessageBox (HWND_DESKTOP, HWND_DESKTOP, st,'', 0, MB_OK | MB_ERROR);
END;

{wird vor die Hauptprogramm-Message-Schleife gesetzt}
PROCEDURE InitHelp (hwndClientFrame:HWND);
VAR
   hini:HELPINIT;
   { If we return because of an error, Help will be disabled }
BEGIN
     fHelpEnabled := FALSE;
     { Initialize help init structure }
     hini.cb := sizeof(HELPINIT);
     hini.ulReturnCode := 0;
     { If tutorial added, add name here }
     hini.pszTutorialName := NIL;
     hini.phtHelpTable := PHELPTABLE(MAKELONG(HELP_TABLE, $FFFF));
     hini.hmodHelpTableModule := 0;
     hini.hmodAccelActionBarModule := 0;
     hini.idAccelTable := 0;
     hini.idActionBar := 0;
     hini.pszHelpWindowTitle := @HelpWindowTitle;
     hini.fShowPanelId := CMIC_HIDE_PANEL_ID;
     hini.pszHelpLibraryName := @HelpFilename;
     { Creating help instance }
     hwndHelpInstance := WinCreateHelpInstance(AppHandle,hini);
     if ((hwndHelpInstance = 0 )OR(hini.ulReturnCode<>0)) THEN
     BEGIN
          InfoBox('Failed to load help manager.');
          exit;
     END;

     { Associate help instance with main frame }
     if not WinAssociateHelpInstance(hwndHelpInstance, hwndClientFrame) THEN
     BEGIN
          InfoBox('Failed to load help manager.');
          exit;
     END;

     { Help manager is successfully initialized so set flag to TRUE }
     fHelpEnabled := TRUE;
END;

{wird hinter die Hauptprogramm-Message-Schleife gesetzt}
PROCEDURE DestroyHelp;
BEGIN
     IF hwndHelpInstance <> 0 THEN WinDestroyHelpInstance(hwndHelpInstance);
END;

 {
   einige mgliche Parameter fr SendHelpMessage
   HM_HELP_INDEX     zeigt Index
   HM_HELP_CONTENTS, zeigt Inhalt
   HM_DISPLAY_HELP   zeigt Hilfe fr Hilfefunktion (help for help)
 }
PROCEDURE SendHelpMessage (HelpMessage:LONG);
BEGIN
     if fHelpEnabled THEN
      if WinSendMsg(hwndHelpInstance, HelpMessage, 0, 0)<>0
        then InfoBox ('Failed to display help panel.');
END;

 {
   Parameter sind die Panel ID's, definiert ber die ID Punktbefehle
   im HyperMake Quelltext
 }
PROCEDURE DisplayHelpPanel (PanelID:LONG);
BEGIN
     if fHelpEnabled then
       if WinSendMsg(hwndHelpInstance, HM_DISPLAY_HELP,
          MPFROMLONG(MAKELONG(PanelID, 0)),
          MPFROMSHORT(HM_RESOURCEID))<>0
           then InfoBox ('Failed to display help panel.');
END;
.sn

.2
Mehrere verschiedensprachige HLP-Dateien

Falls Sie mehrere verschiedensprachige HLP-Dateien und nur eine EXE-Datei erstellen, reicht es aus, wenn Sie die ID- und RC-Punktbefehle in nur einem HyperMake-Quelltext eintragen. Wenn Sie dann im anderssprachigen HyperMake-Quelltext exakt die gleiche Gliederungsstruktur haben, gibt es keine Probleme. HyperMake numeriert nmlich die Kapitelberschriften einfach fortlaufend durch.
.ELSE
Das IBM IPF-Format wird bentigt, um kontextsenitive Programmdokumentationen (Erweiterung HLP) unter dem Betriebssystem OS/2 zu erstellen. HyperMake stellt hier fr die Verbindung Hypertext - EXE-Programm einige Funktionen zur Verfgung. Die Dokumentation darber ist aber nur vorhanden, wenn der Hilfetext mit der Bedingung #HLPDOC erzeugt wurde.

Fr die von Microsoft geplante Windows HTML Programmhilfe werde ich in einer knftigen HyperMake Version vergleichbare Funktionen anbieten.
.END HLPDOC

.FA verti 40
.1
Verzeichnis aller Punktbefehle

Hier finden Sie eine kurze Beschreibung aller HyperMake Punktbefehle. Die gleiche Kapitelstruktur finden Sie in Erstellen eines HyperMake Quelltextes.
.in Verzeichnis aller Punktbefehle

Einige Punktbefehle sind speziell deutsch und haben englische oder auch WordStar-Synonyme; diese zweite mgliche Schreibweise von Punktbefehlen ist in Klammern gesetzt und kann genauso verwendet werden.

.2
Grundlagen

.sab
~..Kommentar~

"Kommentar" wird nicht interpretiert.

.IF IPFDOC
.snb
 .:ipf-Kommando.
 .:ipf-Kommando. Ausdruck
.sn

Ein IPF-Kommando kann auch direkt eingegeben werden.
.END

.IF HTMLDOC
.snb
 .HTML

 <HTML-Kommandos> Flietext usw.

 .HYPERMAKE
.sn

Direkte Eingabe von HTML Text.

.snb
 .HC an  (on)
 .HC aus  (off)
.sn

lt die Verwendung von <HTML-Tags> mit spitzen Klammern im HyperMake-Quelltext zu. Standard ist aus.
.END HTMLDOC

.2
Textanfang

~.TI Hypertext-Titel~

setzt den Titel des Hypertexts.

.IF IPFDOC
~.<>~

stellt HLP-Dateien die Hypertext-Benutzerknpfe "Inhalt", "Zurck" und "Vorwrts" zur Verfgung, die es sonst nur bei INF-Dateien gibt.
.END

.2
Kapitel

~.1~ bis ~.6~ definiert eine Gliederungsebene

~.1~
~Hauptberschrift~

Die Kapitelberschrift des ersten Punktes der ersten Gliederungsebene heit "Hauptberschrift".

.IF HTMLDOC
(Heading size) nderung der Gre des berschrifts-Textes bei HTML. Z. B. 4. Ebene erhlt die Schriftgre der 2. Ebene. 

~.HS 123234~
.END

Erscheinungsbild der Querverweise zu Unterkapitel

.snb
 .sc beliebiger trenntext
 .sc RETURN           (Standard)
 .sc PARAGRAPH
 .sc LIST
.sn

Fensteranordnung (Frames)


~.FA~ (~.WA~)
~.FA hori 30~ 
~.FA hori 30 verti 40 III~

Mit Fensteranordnung knnen mehrere Fenster verschiedener Gliederungsebenen gleichzeitig angezeigt werden. Der Punktbefehl mu vor dem ersten Gliederungsebenen-Punktbefehl geschrieben werden, der nur noch einen Teil des Bildschirms einnehmen soll.

Kapitel-ID

~.ID NAME~

Das Kapitel, in dem der ID Punktbefehl steht, erhlt die ID "NAME".

.IF HTMLDOC
Der HTML Dateiname lautet dann statt einer fortlaufenden Nummer "NAME.HTML". In der Ini-Datei kann unter "function for link for" das Schlsselwort "NAME" eingetragen werden. Es erhlt dann einen Navigations-Knopf "NAME.GIF" am Anfang bzw. Ende der HTML-Seite einen Querverweis zum mit ~.ID NAME~ markierten Kapitel. Sie finden eine Button-Bibliothek im Verzeichnis BUTTONS.

.END

.IF IPFDOC
Bei IPF wird dieser Befehl fr die Erstellung von Helptables genutzt.
.END

.2
Schriften

~.SNX~ (~.SFX~)
~.SAX~ (~.AFX~)

Schrift Normal und Schrift Alternativ stellt die Schrift X ein. X steht fr einen Buchstaben von A bis Z und von a bis z; es wird also Gro- und Kleinschreibung unterschieden. Die Bedeutung der Schriftbuchstaben werden in der Ini-Datei unter Fonts festgelegt.

Schrift Alternativ gilt zwischen zwei Alternativ Umschaltzeichen, diese werden ebenfalls in der Ini-Datei festgelegt.

.2
Listen

~.SL~  (~.OL~)

macht aus den nchsten Auflistungen eine sortierte Liste

~.UL~

stellt wieder auf unsortierte Listen (Standardeinstellung).


.2
Einbindung von Grafiken

~.BM Dateiname~

gibt eine Grafik dateiname.bmp (IPF) bzw. dateiname.gif (HTML) zentriert aus.

~.BTX Dateiname~

schreibt im Flietext statt dem Buchstaben X die Grafik dateiname.bmp.

.2
Querverweise und Index

~.IZX~  (~.ICX~)

whlt das beliebige Zeichen X als Indexzeichen.

~.IN Ausdruck~

nimmt "Ausdruck" im Index auf; alle Vorkommnisse von "Ausdruck" im gesamten Hypertext erhalten einen Querverweis zu dem Kapitel, in dem der .IN Punktbefehl steht.

~.IV Ausdruck~

Index Vertauscht: wie .IN, verwendet aber das letzte Wort des Ausdrucks als fhrendes Wort.

.IF IPFDOC
Externe Querverweise (IPF)

~.EX extern.inf~
~.ID Kapitel_Einleitung~
~.IN Ausdruck~
~.EX~

Alle Vorkommnisse von "Ausdruck" erhalten einen externen Querverweis zu dem Kapitel in der Datei extern.inf, das mit
~.ID Kapitel_Einleitung~
markiert wurde.
.END IPFDOC

.IF HTMLDOC
Externe Querverweise (HTML)

~.URL URL~
~.IN Ausdruck~
~.LOCAL~

Alle Vorkommnisse von "Ausdruck" erhalten einen externen Querverweis zu der URL "URL".

.END HTMLDOC


.IF IPFDOC
Programme starten (IPF)

~.EX Programmname.exe Parameter~
~.IN Ausdruck~
~.EX~

Alle Vorkommnisse von "Ausdruck" werden zu einem Querverweis, bei dem das Programm "Programmname" mit dem Parameter "Parameter" gestartet wird.
.END

.2
Duplizierung von Kapitelberschriften

~.dp34C~

Die Kapitelberschrift wird in Gliederungsebene 3 und 4 am Anfang des Flietextes mit Schrift C dupliziert.

~.dp##C~

In allen Gliederungsebenen wird die berschrift mit Schrift C im Flietext dupliziert, als Querverweis-Ziel verwendet (erster #) und in den Index aufgenommen (zweiter #).

~.dp-34~

schaltet die Duplizierung in Gliederungsebene 3 und 4 wieder aus.

.2
Tabellen (Tables)

.snb
 .TA Tabellenberschrift
 Zelle eins    Zelle zwei    Zelle drei
 zweite Zeile  zweite Zeile  eine+
 dritte Zeile  "             groe Zelle  
 .TA
.sn

wird zu:

.TA Tabellenberschrift
Zelle eins    Zelle zwei    Zelle drei
zweite Zeile  zweite Zeile  eine+
dritte Zeile  "             groe Zelle  
.TA

In Tabellen knnen Zell-Zeilen mit " und mit + zusammengefgt werden (nur HTML).

~.tc X~

(table character) ndert das Zusammenfge-Zeichen + in einen beliebiegen Buchstaben.

~.TT~

(Table Tags) Standard ist
~.TT BORDER CELLPADDING=5~

Grauer Hintergrund ohne Bild:
~.TT BORDER CELLPADDING=5 BGCOLOR="#D0D0D0"~

.2
Linienziehen

.snb
..LI
 .LIXYZ
X   Y   X               Ŀ     
                               
Y            Ergebnis:  Ĵ 
                               
X       X               
 .LI
..li
.sn

Im Linienziehen Punktbefehl steht das beliebige Zeichen X fr die Ecken und Y fr Unterteilungen des Rechtecks. Ein Zeichen Z vor X oder Y macht Doppelstriche (nur IPF).

.2
Funoten

~.FU{}~
~.FU{}snX~

definiert die Zeichen, mit denen der Inhalt von Funoten eingeklammert wird; definiert zustzlich noch eine Schrift X fr das Funotenfenster. Die Eingabe

.snb
und Sie erhalten {Inhalt der Funote}.
.sn

fhrt zu:

und Sie erhalten [Inhalt der Funote].

.IF HTMLDOC
~.FS 30~

Funoten Size: ndert den Standardwert der Aufteilung HTML-Textfenster / Funotenfenster von 85 zu 15 auf 70 zu 30.
.END

~.FT XXX~

Funoten-Text: schreibt "XXX" statt dem standardmigen "*". Grafik statt Text ist erlaubt (Verwendung von Bitmap Text).

.2
Rnder und Formatierung

~.LM 10~

setzt den linken Rand (left margin) vom Standardwert 1 nach 10.

.IF IPFDOC
~.FM aus~  (~.FM off~)
~.FM an~  (~.FM on~)

(nur IPF) Mit dem Punktbefehl Formatieren wird die Formatierung aus- und eingeschaltet. Standard ist an.
.END

~.OC an~  (~.OC on~)
~.OC aus~  (~.OC off~)

schaltet zentrierten Text (Output Centered) an und aus.

~.AM aus~  (~.AM off~)
~.AM an~  (~.AM on~)

verstellt den linken Rand dadurch, da ein Absatz mit entsprechenden Leerzeichen beginnt. Standard ist an.

.IF HTMLDOC
In HTML-Dateien wird der Rand nur in Fnfer-Schritten verstellt.
.END

.2
If-Bedingungen

.snb
 .IF BEDINGUNG
 .ELSE
 .END
.sn

bertrgt nur bestimmte Teile des Quelltextes ins IPF-Format. Die If-Bedingungen werden ber die Kommandozeile gesetzt (Gro- oder Kleinschreibung egal)

.snp
.fu
[C:\myProject] HMAKE MeinDoku.txt #BEDINGUNG
.fu[]
.sn

.2
Erstellung von Helptables

(nur IPF, zur Erstellung von IBM HLP-Dateien)

.snb
 .RC ID_window
 .RC ID_window, ID_button_or_Menu_Item
 .RC , ID_button_or_Menu_Item

 .ID PanelID
.sn

RC Punktbefehle erzeugen einen Helptable mit dem Dateinamen HELPTABLE.RC, ID Punktbefehle eine Datei mit Panel ID's unter dem Dateinamen PANELID.H.

.FA hori 40
.1
Ini-Datei

.in Ini-Datei
In der Ini-Datei knnen Sie einige dokumenten- und sprachspezifische Einstellungen vornehmen. Es empfiehlt sich, fr jedes Projekt eine eigene Ini-Datei anzulegen. Die Ini-Datei knnen Sie mit einem ASCII-Editor verndern. Die erste Zeile wird nicht interpretiert.

Fr Ihre eigene Ini-Datei benutzen Sie als besser eine Kopie von BEISPIEL.INI als von DOKU.INI. In letzterer sind recht ausgefallene ASCII-Werte fr die Toggles gewhlt.

Wie in C++ sind Zeilen, die mit zwei Schrgstrichen // beginnen, auch Kommentarzeilen. Windows-konform knnen Kommentarzeilen auch mit ; beginnen. Die Reihenfolge der Schalter darf gendert werden, aber es mu jeder Schalter einmal vorkommen. Mit wenigen Ausnahmen wird in der Ini-Datei Gro- und Kleinschreibung nicht unterschieden.

Der Text links vom Istgleich-Zeichen = ist der Name des Schalters; dieser darf nicht gendert werden. Rechts davon drfen Einstellungen gendert werden.

.2
general settings (Allg. Einstellungen)

Registration key (Registrierungsschlssel)

.in Registration key
.in Registrierungsschlssel
.snb
Registration key = 0
.sn

Hier tragen Sie Ihren Registrierungs-Code ein, um Quelltexte von mehr als 20 kB verarbeiten zu knnen. Siehe auch Registrierung.

Language (Sprache)

.snb
//possible settings: ENGLISH, GERMAN, C, PASCAL
Language = GERMAN C
.sn

Landessprache: HyperMake kann entweder auf englisch oder auf deutsch Fehlermeldungen ausgeben; auf die erstellte HTML-Datei oder IPF-Datei hat dieser Schalter keine Wirkung.

Diesen Hypertext gibt es auch auf englisch. Einige Punktbefehle weichen in der englischen Anleitung von den deutschen Befehlen ab; sie werden gleichermaen interpretiert.

Programmiersprache (nur IPF): Wenn Sie von HyperMake Panel ID und Helptable Dateien erstellen lassen, knnen Sie zwischen C und Pascal whlen.

beep (Pieps)

.snb
//beep when finishing compiling - possible settings: YES, NO
beep = YES
.sn

Wenn HyperMake eine IPF-Datei oder mehrere HTML-Dateien erfolgreich erstellt hat, hren Sie einen Pieps. Sie knnen diesen Ton hier abstellen, indem Sie ~NO~ statt ~YES~ eingeben.

.2
format settings (Format-Einstellungen)

Target (Zielformat)

.in Zielformat
.snb
//possible settings: IPF, HTML
Target = HTML
.sn

Die Standardeinstellung kann durch die Kommandozeilenparameter IPF und HTML temporr berschrieben werden.

Source format (Quelltext-Format)

.in source format
.snb
//possible Settings: ASCIIHARDRET, ASCIISOFTRET, WORDSTAR4
Source format = ASCIISOFTRET
.sn

Sie haben drei verschiedene Quelltext-Formate zur Auswahl. Siehe Bedeutung von Returns.

Source Codepage (Quelltext-Zeichensatztabelle)

.snb
//possible Settings: ISO, IBM
source codepage = IBM
.sn

Zwei verschiedene Codepages (Zeichensatztabellen) knnen Sie fr Ihre Quelltexte auswhlen: ISO (ISO 8859-1), auch Latin1 genannt, oder IBM 850 bzw. 437. ISO ist fr Windows und Unix blich, IBM fr DOS und fr OS/2. Wenn Sie diese Einstellung falsch whlen, so werden Umlaute falsch angezeigt bzw. interpretiert. Wenn Sie diese Einstellung verndern, mssen Sie auch die Umlaute in der Ini-Datei, etwa unter extended letters, entsprechend anpassen.

.2
specific characters (besondere Zeichen)

List chars (Auflistungszeichen)

.snb
//only ASCII source
List chars = =-
.sn

Auflistungszeichen werden fr unsortierte Listen und sortierte Listen bentigt, wenn Sie Auflistungen mit einem ASCII-Editor erstellen wollen.

Index char (Indexzeichen)

.snb
Index char = #
.sn

Siehe Erstellung von Querverweisen, Index und Indexzeichen. Mit dem Punktbefehl ~.IZX~ wird die hier festgelegte Standardeinstellung mit dem Zeichen X berschrieben. 

toggles (Umschalter)

.snb
//highlighted char toggles
//both HTML and IPF: 1 alternate  2 italic 3 bold 4 underlined
//only IPF:          5 red 6 cyan 7 blue
//only HTML:         8 strike 9 big 10 small 11 sub 12 sup
//        123456789012
toggles = ************
.sn

Hier lassen sich die Umschaltzeichen festlegen. Sie mssen immer alle zwlf Zeichen eingeben, auch wenn Sie IPF oder HTML nicht benutzen.

.IF WORDSTARDOC
Bei der Verwendung von WordStar-Steuerzeichen mssen Sie die Zeichen eingeben, die dem ASCII-Code entsprechen. [Also etwa fr ^PA Alt-1, fr ^PB Alt-2, fr ^PS Alt-19 usw.]
.END

Index Filter
.in index filter
.snb
//characters not shown in index and duplicated heading
index filter = ().
.sn

Es knnen bestimmte Zeichen im Stichwortverzeichnis und bei der Duplizierung von Kapitelberschriften unterdrckt werden.

Extended Letters (sprachspez. Zeichen, insb. Umlaute)

.in extended letters
.sv sprachspezifische Zeichen
.snb
//language specific letters besides A...Z, a...z, 0...9
//english '- 
//german ᎙- 
extended letters = ᎙-

.sn
Sie mssen HyperMake die deutschen Umlaute mitteilen, die er als normale Buchstaben behandeln soll. Wenn Sie dies nicht tun, interpretiert HyperMake die Buchstaben links und rechts vom Umlaut als seperate Wrter. Die normale Markierung des Wortes "Kindergrten" htte dann einen Indexeintrag "Kinderg" zur Folge.

Damit eine Bezeichnung wie "CONFIG.SYS" oder "Eule (Film)" einen Querverweis bekommt, mssen Punkt bzw. Klammern in der Ini-Datei unter extended letters aufgefhrt sein. Gleichzeitig mssen Sie aber dann aufpassen, wenn Sie etwa eine Markierung machen wie (#Wort). Dann wird nicht "Wort" markiert, sondern "Wort)." - Mit dem Effekt, da die meisten gewnschten Querverweise nicht gezogen werden. Richtig ist dann die Markierung (#:Wort:).

Sie sollten sich genau berlegen, ob Sie den Bindestrich "-" auch in dieser Liste aufnehmen. Ist der Bindestrich ein "extended letter", wird er also als Buchstabe behandelt, knnen Ausdrcke wie "Ini-Datei" einfach mit dem Indexzeichen markiert werden, ohne Doppelpunkt-Klammern; dafr wird aber beim Wort Datei, wenn es an anderer Stelle markiert wurde, kein Querverweis erstellt. Im anderen Fall wird mit Ini-Datei wie mit "Ini Datei" verfahren.

.2
Font characters (Schrift-Buchstaben)

.snb
//Font chars from A to Z and from a to z (case-sensitive!)
//both HTML and IPF: size Linestandard OmitLinks PRE center
//only IPF: Fontname codepage foregroundcolor BACKGROUNDCOLOR
//only HTML: PHRASEELEMENT Color
Font A = 15 Courier CODE
Font b = Courier 12 CODE black 437 Linestandard OmitLinks
Font B = 30 Helv neutral
Font Z = GREEN 30 Helv yellow 
Font G = 15 Helv black
Font T = 18 Tms_Rmn
Font C = black
Font o = OmitLinks
.sn

Hier lassen sich Schriftbuchstaben fr Schriften definieren, und zwar von A bis Z und von a bis z. Beachten Sie, da zwischen Gro- und Kleinschreibung unterschieden wird. Die Reihenfolge der Einstellungen hinter dem = Zeichen ist egal.

Kennzeichen der einzelnen Parameter hinter dem = sind:

 Schriftgre: alle Zahlen, die kleiner als 200 sind
 Codepage: (nur IPF) alle Zahlen grer/gleich 200
 Vordergrundfarbe:
  - IPF: alle Farben in Kleinbuchstaben:
    default, blue, cyan, green, neutral, red, yellow, black.
  - HTML: beginnt mit Grobuchstabe, dann folgen Kleinbuchstaben:
    Black, Silver, Gray, White, Maroon, Red, Purple, Fuchsia, Green, Lime, Olive, Yellow, Navy, Blue, Teal, Aqua.
 Hintergrundfarbe: (nur IPF) alle Farben in Grobuchstaben: DEFAULT, BLUE, CYAN, GREEN, NEUTRAL, RED, YELLOW, BLACK.
 Phrase element: (nur HTML) ADDRESS, PRE, EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE. 
 Schrift-Typ: (nur IPF) Alle Eingaben, die nicht den bisherigen Kriterien entsprechen. Beachten Sie, da statt Leerzeichen wie bei "Tms Rmn" unbedingt ein Unterstrich "_" geschrieben werden mu.

Sie mssen nur diejenigen Parameter eintragen, die vom Standardwert abweichen.

.IF IPFDOC
Die standardmig verwendete Codepage hngt bei IPF von Einstellungen im OS/2-Betriebssystem bzw. vom Parameter hinter IPFC ab.
.END

Beachten Sie bitte, da Sie IPF- und HTML-Kommandos hier mischen knnen, so da ein Schrift-Buchstabe sowohl das Outfit im IPF als auch im HTML-Format festlegen kann.

vgl. Schrift-Beispiele und Farb-Beispiele

.2
link specific settings (Einst. bzgl. Querverweise)

endings of words (Endungen von Wrtern)

.in endings of words
.snb
//endings in german words: e n en s es
//endings in english words: s es 's ion ions ing ings
ending of words = e n en s es
.sn

Siehe Querverweise, Verfahrensweise bei Wortendungen.

Wenn Sie einen deutschen Text mit vielen englischen Ausdrcken verwenden, werfen Sie am besten die empfohlenen Endungen beider Sprachen zusammen:

.snb
ending of words = e s es n en 's
.sn

Text for link to (Text fr Querverweise zu ...) 

.snb
Text for link to subchapters = @Unterkapitel:@
Text for link to next chapter = @nchstes Hauptkapitel:@
//only HTML frames
text for link to main chapter = zum Hauptkapitel
.sn

.IF HTMLDOC
Werden HTML Frames erstellt, so werden zwei Gliederungsebenen gleichzeitig angezeigt. Im Fenster mit dem Unterkapitel wird zu Beginn ein Querverweis auf das Hauptkapitel gezogen; andere Querverweise wie "Inhalt" werden in solchen Fenstern nicht gezogen, da diese schon im Hauptkapitel-Fenster vorhanden sind. Der Querverweis zum Hauptkapitel ist erforderlich, um bei einem direkten Aufruf des Unterkapitels zum restlichen Dokument zu gelangen und kann nicht abgeschaltet werden.
.END

.in Querverweise zu Unterkapitel
.in link to subchapters
.sao
HyperMake zieht automatisch ~Querverweise~ am Ende eines Kapitel-Fensters zu allen Unterkapiteln dieses Kapitels sowie zum nachfolgenden Kapitel gleicher Gliederungsebene bzw. hherer Gliederungsebene. Hier knnen Sie eintragen, was HyperMake ber solche automatischen ~Querverweise~ schreiben soll. Sie drfen nicht nur Buchstaben, sondern auch Umschalter oder Grafikzeichen verwenden.

Wenn Sie ein NO in Grobuchstaben eingeben, zieht HyperMake keine solchen Kapitel-Querverweise:

.snb
Text for link to subchapters = NO
Text for link to next chapter = NO
.sn

no more links in (keine weiteren Querverweise in ...)

.in no more links in
.snb
//possible Settings: PARAGRAPH, WINDOW
no more links in = PARAGRAPH
.sn

Zweite und dritte Querverweise knnen in einem Absatz (paragraph) oder innerhalb eines gesamten Kapitels (window) unterdrckt werden.
siehe Querverweise, Unterdrcken von Querverweisen.

.2
HTML specific settings (HTML-spezifische Einst.)

title in every file (Titel in jeder Datei)

Standardmig wird der Titel am Anfang jeder Datei wiederholt, dies kann mit

.snb
title in every file = NO
.sn

abgeschaltet werden.

First and last line (erste und letzte Zeile)

.snb
//only HTML: first and last line in file
title in every file = YES
function for first line = BACK FORWARD CONTENT INDEX
text for first line =     zurck vorwrts Inhalt Stichwrter
function for last line =  FORWARD CONTENT INDEX
text for last line =      vorwrts Inhalt Stichwrter
.sn

HyperMake erzeugt zahlreiche HTML-Dateien. Der Benutzer sollte am Textende zur nachfolgenden Datei springen knnen (FORWARD) und am Anfang zur vorherigen Datei (BACK). Auerdem sollte aus jeder Datei heraus das Inhaltsverzeichnis (CONTENT) und Stichwortverzeichnis (INDEX) erreichbar sein. Ob alle derartigen Funktionen sowohl in der ersten Zeile (first line) als auch in der letzten Zeile (last line) zur Verfgung stehen sollen, kann hier eingestellt werden, auch die Reihenfolge der Funktionen sowie die Wrter, die den Querverweis darstellen (text for...).


Buttons (Druckknpfe)

.snb
//you can use buttons BACK.GIF FORWARD.GIF CONTENT.GIF INDEX.GIF instead of text
buttons = YES
.sn

Fr die erste und letzte Zeile knnen die Querverweise "zurck vorwrts Inhalt Stichwrter" sowohl als Text als auch als Grafik-Buttons dargestellt werden. Die Namen der GIF-Dateien sind fix.

Wenn sich die GIF-Dateien nicht in dem Verzeichnis befinden, das auch die HTML-Dateien enthlt, dann erscheint statt den Buttons der Text, den Sie unter "text for first/last line" definiert haben. Wenn die Dateien sich auf einem Unix-Server befinden, wird Gro- und Kleinschreibung unterschieden! Achten Sie deshalb auf die korrekte Schreibweise der Dateinamen.

Beachten Sie bitte die Button-Bibliothek von HyperMake im Verzeichnis BUTTONS.

body tags ("body" Eintrge)

.snb
//enter tags or NO
body tags = NO
.sn

Es knnen diverse HTML body tags eingetragen werden, etwa

.snb
body tags = background="backgr.gif" TEXT="#00FFFF"
.sn

.IN Farbe Hintergrund
.IN Farbe Text Standard
Gehen Sie behutsam mit body tags um! Wenn Sie etwa einen blauen Hintergrund whlen, sind die Querverweise nicht mehr sichtbar. Beachten Sie dabei, da manche Benutzer andere Standardfarben gewhlt haben wie Sie! Nur wenn Sie einen berwiegend weien oder grauen Hintergrund whlen, gehen Sie kein Risiko ein.


extended index (Groes Stichwortverzeichnis)

.in extended index
.snb
entries for extended index = 30
.sn

Hier knnen Sie einstellen, ab welcher Zahl von Indexeintrgen das groe Stichwortverzeichnis statt dem kleinen erzeugt werden soll.


new file level (Gliederungsebene der Unterteilung in Dateien)

.snb
//HTML text file is divided in several files.
//Enter heading level where new file begins (0 means only one HTML text file)
new file level = 3
.sn

HyperMake erzeugt aus einer Quelldatei viele HTML-Dateien. Dies verbessert die Geschwindigkeit der Browser ganz erheblich. Mit dieser Einstellung knnen Sie beeinfluen, wieviel Dateien erstellt werden sollen. "3" bedeutet, da fr die Kapitel der Gliederungsebenen 1, 2 und 3 grundstzlich neue HTML-Dateien begonnen werden.

In Bereichen, in denen die Fensteranordnung (Frames) aktiv ist, erzeugt HyperMake jedoch fr alle Kapitel grundstzlich eigene Dateien.

Wenn 0 eingegeben wird, so wird nur eine HTML-Datei (plus Stichwortverzeichnis und Inhaltsverzeichnis) erstellt (falls keine Fensteranordnung verwendet wird).


horizontal rule level (Gliederungsebene der Trennung durch horizontale Striche)

.snb
//Enter heading level up to which has to be divided by horizontal rules
//  (0 means no rules)
horizontal rule level = 4
.sn

HTML lt horizontale Striche ber das ganze Fenster hinweg zu. Diese knnen dazu genutzt werden, einzelne Kapitel voneinander zu unterteilen, falls sie ohnehin nicht in unterschiedlichen HTML-Dateien liegen. Der Wert fr "horizontal rule level" mu deshalb hher sein als der fr "new file level". "4" bedeutet, da die Kapitel 1., 2., 3. und 4. Ordnung mit einem Strich getrennt werden, falls sie in derselben Datei abgelegt werden.


content level (angezeigte Ebenen im Inhaltsverzeichnis)

.in context level
.snb
//Enter heading level up to which has to be shown in the HTML content file
//  (6 means all levels, 0 means no content)
content level = 6
.sn

Mit diesem Schalter knnen Sie einstellen, bis zu welcher Gliederungsebene die berschriften im Inhaltsverzeichnis erscheinen sollen. Wird 0 eingestellt, werden weder die Inhaltsverzeichnis-Seite noch Querverweise dorthin erstellt.


pre filename (Beginn der Dateinamen)

.snb
//pre filename = XYZ* let all HTML files begin with XYZ
pre filename = *
.sn

(Registrierung erforderlich) HyperMake erstellt aus einem Quelltext eine groe Zahl von Dateien. Diese Dateien haben Namen, die HyperMake festlegt. So werden einfach Nummern fr Dateinamen vergeben: N000.HTML, N001.HTML usw. Um in nur einem Pfad mehrere unterschiedliche HyperMake-Texte haben zu knnen, lt sich ein String eingeben, der all den Dateinamen incl. INDEX.HTML vorangestellt wird. Beispielsweise fhrt die Eingabe von ~XYZ*~ dazu, da die Dateinamen dann XYZN000.HTML, XYZN001.HTML usw. heien. Achten Sie bei alten FAT-Laufwerken bitte selbst darauf, da die 8-Buchstaben-Begrenzung eingehalten wird. (Das bedeutet, der pre filename darf nicht mehr als 3 Buchstaben haben.)


HTML Dateinamen

.snb
//possible settings: sample.html SAMPLE.HTML Sample.html sample.htm SAMPLE.HTM Sample.htm
filename appearance = sample.html
.sn

Hier knnen Sie festlegen, wie von HyperMake erzeugte Dateinamen aussehen sollen (Gro- oder Kleinschreibung, kurze oder lange Dateinamen). Wenn Sie HTML-Dateien im WWW verffentlichen wollen, sollten Sie das Kapitel ber Dateinamen lesen. Wenn diese Einstellung falsch ist, kann es vorkommen, da auf Ihrem Rechner die Links funktionieren, auf dem Server aber nicht mehr!


Standard-Frame

.snb
default frame = _top
.sn

Wenn smtliche HTML-Seiten des Dokuments in einem Frame eines anderen Dokuments erscheinen sollen, kann diese Einstellung gendert werden. Die nderung dieses Standardwertes erfordert fortgeschrittene Kenntnisse in HTML und ist im Regelfall nicht erforderlich.


Titelzeile und Meta-Anweisungen

.snb
//here you can define the text appearing in the browser titlebar
//enter DOCTITLE and/or HEADING and fixed text, e.g. a slash; NO means no text
file title = DOCTITLE - HEADING
meta content = DOCTITLE - HEADING
.sn

Hier knnen Sie den Inhalt der Titelzeile des HTML-Browsers und Meta-Anweisungen fr Internet-Suchmaschinen festlegen. DOCTITLE entspricht dem Text, den Sie hinter ~.TI~ geschrieben haben, HEADING ist der berschrifts-Text der aktuellen HTML-Seite.


berschrift bei einer separaten Funoten-Seite

.snb
notes text = Anmerkungen
.sn

Wenn ein Quelltext mit Funoten von HyperMake mit dem Kommandozeilenparameter "/NOFRAMES" kompiliert wird, erzeugt HyperMake eine einzige groe Datei mit allen Funoten-Inhalten. Diese trgt dann die berschrift, die sie unter ~notes text~ festlegen. Sinnvolle Bezeichnungen sind Funoten, Anmerkungen, Quellennachweise, Querverweise, Literaturangaben. Diese Bezeichnung kann dann auch in der Titelzeile der entsprechenden HTML-Seite erscheinen.

.2
IPF specific settings (IPF-spezifische Einst., nicht HTML)

Help Subtable Start ID (Startwert fr ID-Konstanten)

.snb
Help Subtable Start ID = 7000
.sn

Mit der Help Subtable Start ID knnen Sie einen Startwert fr die ID's angeben, die die Subtables definieren. Das brauchen Sie nicht zu ndern, auer Sie definieren in Ihrem Programm-Quelltext selber auch schon Konstanten mit Werten von 7001, 7002 usw.

Filenames (Dateinamen)

.in Filenames
.snb
//files will be overwritten without warning
Helptable filename = HLPTABLE.RC
Panel ID filename  = PANELID.H
.sn

Hier knnen Sie die Dateinamen der Helptable- und Panel-ID-Datei ndern, die automatisch von HyperMake generiert werden. Wenn Sie als Dateiname *.XYZ eingeben, wird als Dateiname der Quell-Dateiname mit der entsprechenden Erweiterung gewhlt.

Achtung! Die beiden Dateien werden ohne Vorwarnung berschrieben.

.1
Starten des HyperMake Compilers

Das HyperMake-Programm ist ein Compiler, der von der Kommandozeile gestartet wird, hnlich IPFC.

.in Installation
.in kompilieren
.in compiling
.in Kommandozeilenparameter
Beim Betriebssystem OS/2 mssen Sie, bevor Sie HyperMake benutzen knnen, mssen Sie HMAKE.EXE in einen Pfad kopieren, der in der Datei CONFIG.SYS unter PATH vorkommt; die Datei KBDVIO32.DLL mu in einem Pfad sein, der unter LIBPATH vorkommt. Findet die EXE-Datei die DLL nicht, so erscheint die OS/2-Fehlermeldung "0005".

Sie mssen ein oder zwei Parameter bergeben:

.snp
.fu
[C:\myProject] HMAKE MeinDoku.txt Meine.ini
.sn
.fu[]

Die Reihenfolge der Parameter ist egal. Die Dateinamen-Erweiterungen mssen Sie aber auf jeden Fall angeben. Die Ini-Datei mu immer mit ".INI" enden, die Erweiterung des HyperMake Quelltextes ist beliebig.

Wenn Sie ohne Erweiterung den gleichen Dateinamen fr Text- und Ini-Datei verwenden wie etwa MeinDoku.txt und MeinDoku.ini, so reicht es aus, nur den Namen des HyperMake Quelltextes anzugeben - HyperMake sucht dann nach der entsprechenden Ini-Datei:

.fu
.snp
[C:\myProject] HMAKE MeinDoku.txt
.sn

Wenn HyperMake keine derartigen Ini-Dateien findet, sucht er im aktuellen Verzeichnis noch nach HMAKE.INI. Wenn diese auch nicht vorhanden ist, bricht das Programm ab.

Fr Ihre eigene Ini-Datei benutzen Sie als besser eine Kopie von BEISPIEL.INI als von DOKU.INI. In letzterer sind recht ausgefallene ASCII-Werte fr die Toggles gewhlt.

.snL
Mehrere Quelltexte
.sn


Sie knnen Ihren Quelltext auf mehrere Dateien verteilen. HyperMake kopiert die Dateien dann zusammen, bevor es mit der eigentlichen Arbeit beginnt. Dabei gilt die Reihenfolge der bergabeparameter. Wenn nicht explizit eine Ini-Datei angegeben wird, so wird der Name der Ini-Datei vom ersten Quelldateinamen abgeleitet.

.snL
HTML- oder IPF-Dateien erzeugen
.sn

Mit den Kommandozeilenparametern ~HTML~ und ~IPF~ kann die Standardeinstellung "target file" in der Ini-Datei temporr berschrieben werden.

.IF HTMLDOC
.snL
Frames-lose HTML-Dateien erzeugen
.sn

.fu
.iv keine Frames
Der Kommandozeilenparameter ~/NOFRAMES~ erzeugt Frames-lose HTML-Seiten. Er hat zwei Effekte: Zum einen werden alle ~.FA~ bzw. ~.WA~ (Fensteranordnung) Punktbefehle nicht ausgefhrt. Zum anderen werden alle Funoten in eine einzige Funotendatei geschrieben und die Funoten erhalten fortlaufende Nummern wie [17], auf die der Benutzer klicken kann.
.END
.fu[]

.2
Wie HyperMake vorgeht

Nachdem HyperMake aufgerufen wurde, geht das Programm wie folgt vor:

.sao
 Einlesen der Ini-Datei
 Einlesen des Quelltextes
Der Quelltext wird mit einem Schlag in den Heap geladen
 Indizieren der Kapitelberschriften
Alle Kapitelberschriften bzw. Kapitel erhalten eine  Identifizierungsnummer.
 Indizieren der Querverweise 
Alle Wrter oder Ausdrcke, die mit dem Indexzeichen oder mit den entsprechenden Punktbefehlen markiert sind, werden im Heap abgelegt.
 Schreiben der IPF-Datei oder der HTML-Dateien
Zuletzt wird die IPF-Datei bzw. werden die HTML-Dateien erstellt, was die Hauptarbeit ist. Jedes Wort des Hypertextes mu mit den indizierten Wrtern aus dem Heap verglichen werden, um ggf. Querverweise zu ziehen. Hier werden auch die meisten Punktbefehle und Umschalter ausgewertet sowie Helptables im Heap erstellt. HTML-Dateien werden in einen ggf. neu anzulegenden Pfad gespielt.
.IF HLPDOC
 Schreiben der Helptable-Datei
Bei der Verwendung von RC-Punktbefehlen im HyperMake Quelltext wird die im Heap angesammelte Information ber den Helptable in der Helptable-Datei abgespeichert.
.END

Beim Indizieren von Kapitelberschriften, Indizieren von Querverweisen und dem Schreiben der IPF-Datei erscheint fr jedes bearbeitete Kapitel (Fenster) ein Punkt am Bildschirm.

Ertnt ein tiefer Piepston, so hat HyperMake einen so schweren Fehler gefunden, da die IPF-Datei bzw. die HTML-Dateien nicht erstellt werden konnten.

.IF HTMLDOC
Als Dateinamen-Erweiterung fr HTML-Dateien wird ".HTML" gewhlt. Nur auf FAT-Laufwerken wird ".HTM" verwendet.
.END

.2
Schreiben von Batch-Dateien

.IF IPFDOC
Weil das IPF-Format nicht mehr von Interesse ist, kann man HyperMake und IPFC ber eine :Batch-Datei: (mit der Endung ".CMD") aufrufen. Eine vernnftige Batch-Datei zum Abarbeiten im Hintergrund ist die folgende:

.snb
@echo off
rem Erstellung eines Hypertextes mit HyperMake und IPFC
HMAKE %1.txt %1.ini >HyperMake_errors
ipfc /inf %1.ipf /country=049 /language=deu >ipfc_errors
echo 
.sn

Die letzte Zeile enthlt zwei Zeichen Alt-7, das ergibt zwei Piepser.

Wenn Sie eine fehlerhafte INF- bzw. HLP-Datei erhalten, knnen Sie die ASCII-Dateien HyperMake_errors und ipfc_errors lesen (bzw. beim FAT-Dateisystem krzere Dateinamen).

Wenn Sie hinter ipfc nicht /inf schreiben, so wird eine HLP-Datei statt einer INF-Datei erzeugt. Die von HyperMake erzeugte IPF-Datei kann immer fr beides verwendet werden, selbst wenn Sie HLP-spezifische ressource connection und Panel ID Punktbefehle verwendet haben.

Wenn Sie mit Batchdateien nicht vertraut sind, so knnen Sie darber unter "OS/2-Befehle (nach Funktion sortiert), Stapeldatei- und Befehlsverarbeitung" im OS/2-Referenzhandbuch nachlesen.
.END IPFDOC

Denken Sie beim Sichern Ihrer Festplatte daran, da Sie HTML-Dateien bzw. IPF-Dateien nicht sichern mssen, weil Sie sie jederzeit aus dem HyperMake Quelltext reproduzieren knnen.

.IF HTMLDOC
Bei der Erstellung von HTML-Dateien lt sich eine Batchdatei schreiben, die zuerst die alten HTML-Dateien lscht und dann HyperMake aufruft:

.snb
del %1\*.html
HMAKE %1.txt #Bedingung >HyperMake_errors
edit HyperMake_errors
.sn
.END HTMLDOC

.2
Debug-Modus

.in Fehlersuche
Es kann leider vorkommen, da HMAKE bei der Arbeit abstrzt, weil eine bislang unbedachte Situation eintritt. Um zu lokalisieren, wo genau der Absturz erfolgt, kann man mit Hilfe des Parameters ~/count~ die aktuellen Zeilennummern ausgeben und anschlieend mit Hilfe von ~/debug~ dann kurz vor der Absturz-Stelle die entsprechende Textstelle im Quelltext ausgeben lassen.

Mit ~/debugmain~ statt ~/debug~ wird der Text nur whrend des Schreibens der IPF/HTML-Dateien ausgegeben.

Ich bitte um Benachrichtigung bei derartigen Abstrzen. Bitte schicken Sie mir einen Quelltext und Ini-Datei, so da ich den Absturz reproduzieren und dann einkreisen kann, damit bei der nchsten Version dann eine saubere Fehlermeldung erscheint.

.1
Rckwrts-Konvertierung von IPF nach HyperMake

Wenn Sie einen Text schon im IPF-Format vorliegen haben, hilft Ihnen HyperMake bei der Rck-bersetzung ins HyperMake Quelltext-Format. Es gibt noch keinen vllig perfekten Quelltext, aber die wichtigsten Funktionen werden korrekt bersetzt.

Die Rckwrts-Konvertierung ist zu folgendem in der Lage:

 Umschalter (toggles)
 Kapitel
 unsortierte Listen, sortierte Listen
 die wichtigsten Formatierbefehle (paragraph, break, Formatieren ein/aus)
 Indexeintrge (nur i1 Ebene), sie werden auch gleich zum Querverweis-Ziel
 Grafiken.

Nicht funktioniert das folgende:

 Schriften
 Fensteranordnung
 Rnder
 Funoten
 definition list
 Panel ID's, die Verbindung zu einem EXE Programm.

Bei der Rckwrts-Konvertierung wird auch die Ini-Datei gelesen. Werfen Sie vorher schon einen Blick auf die Einstellungen "list char", "toggle char" and "Source format". Achten Sie vor allem darauf, da gengend "list char" definiert sind, also etwa vier Stck wenn im IPF-Text Listen mit bis zu vier Ebenen vorkommen.

.sab
Um die Rckwrts-Konvertierung zu starten, geben Sie neben der Ini-Datei noch eine Datei mit der Erweiterung ~IPF~ ein.

.snp
.fu
[C:\myProject] HMAKE meineDok.ipf meineDok.ini
.sn

.fu[]
Es wird grundstzlich eine HyperMake Quelldatei mit dem Namen HMSOURCE.TXT erstellt.

.FA verti 25
.1
ber HyperMake

.in HyperMake

.2
Registrierung

.saL
.inRegistrierung
.in Preis
Dieses Programm ist ~Shareware~ wenn Sie grere Quelltexte als 20 kB bearbeiten lassen mchten. Dafr mssen Sie einen Registrierungsschlssel anfordern. Kleinere Quelltexte als 20 kB lassen sich auch ohne Registrierungsschlssel compilieren, in diesem Fall ist es ~Freeware.~

Warum gerade 20 kB? Ich bin der Meinung, da fr die Erstellung kurzer HTML-Texte und INF- und HLP-Dateien fr einfache Freeware-Programme die Benutzung von HyperMake kostenlos sein sollte. Wenn Sie also Fehler finden und nicht registriert sind, drfen Sie mir gerne trotzdem eine Mail schicken.

Es gibt einen kleinen (bis 150 kB Quelltext) und einen groen Registrierungsschlssel (unbegrente Quelltextlnge). Die  Registrierungsgebhr fr den kleinen Schlssel betrgt ~60 Deutsche Mark~ oder ~40 Dollar~ und fr den groen Schlssel ~120 Deutsche Mark~ oder ~70 Dollar~.

Beim Erwerb von mehreren Lizenzen erhalten Sie 30% Rabatt fr jede zustzliche Lizenz.

Wenn Sie Zugang zu Compuserve haben, knnen Sie diese Software ber Compuserve registrieren lassen. Go ~SWREG~. Die Nummer (Registration ID) lautet ~9988~ fr den kleinen und ~15175~ fr den groen Schlssel.
Die Schlssel passen fr die Versionen aller Plattformen und auch fr knftige Versionen.

Meine Kontoverbindung lautet:

Dresdner Bank Ottobrunn (Deutschland), BLZ 700 800 00, Nr. 075 64 62 400

Bitte senden Sie mir keine Fremdwhrung! Ich mte 15 DM Umrechnungsgebhr an meine Bank zahlen! Schicken Sie mir dann lieber DM (oder zur Not Banknoten Ihrer Whrung) einfach per Post in einem Briefkuvert.

Wenn Sie sich nicht ber Compuserve registrieren lassen, erhalten Sie eine Rechnung ber den entsprechenden Betrag und ihren Registrierungsschlssel auf dem Postweg. Den Registrierungsschlssel tragen Sie in Ihren HyperMake Ini-Dateien unter "registration key" ein.

.2
Haftungsausschlu

Der Autor bernimmt keinerlei Haftung fr Schden, sei es durch fehlerhafte Bedienung oder durch Fehler im Programm. Es wird auch keine Garantie ber die Registrierungsgebhr hinaus gegeben.

.2
Autor

..in Ich
.in Autorenadresse
Martin Vieregg, 30. Ich habe Betriebswirtschaft mit Schwerpunkt Verkehrswirtschaft studiert. Ich arbeite in einer Zwei-Mann-Beratungsgesellschaft. Unser Spezialgebiet ist der ffentliche Verkehr, speziell Eisenbahn. Das Thema meiner Doktorarbeit lautet "Effizienzsteigerung im Schienenpersonenfernverkehr" (ISBN 3-929115-51-4).

.sno
Meine Mailadresse ist:
.sn

Martin Vieregg Compuserve 100661,626
vom Internet aus:
Martin Vieregg 100661.626@COMPUSERVE.COM

Meine Postanschrift lautet:

Dr. Martin Vieregg
Hubertusstr. 26
D-85521 Ottobrunn

.2
Versionen

.snL
Ideen zu knftigen HyperMake-Versionen
.sn

 Graphische Oberflche, evtl. mit Editor; Wenn der Benutzer den Quelltext abspeichert, wird HyperMake automatisch im Hintergrund aktiv
 weitere Computer-Plattormen
 Untersttzung von Microsofts neuem kontextsensitives HTML
 Untersttzung des WinHelp Formates (lohnt sich das noch?)
 Rckwrts-Konvertierung von RTF nach HyperMake (Rich text format, bisheriges Eingabeformat der Windows-Hilfe).

Auf meiner Homepage werden Sie entsprechende Ankndigungen finden. Wenn Sie selbst Ideen haben, schicken Sie mir doch eine Email!

.snL
Neue Funktionen in HyperMake 3.0
.sn

 Tables (Tabellen-Funktion) sowohl fr IPF als auch fr HTML
 Benutzerdefinierte Navigations-Knpfe (Buttons) in Ergnzung zu back, forward, content, index, sie zeigen dann auf bestimmte Kapitel oder auf eine URL
 Benutzer head tags (insbes. Meta-Anweisungen), die in jede HTML-Datei kopiert werden
 genaue Steuerung der Gro/Kleinschreibung und 8.3 Schreibweise von Dateinamen
 benutzerdefinierte Einstellungen fr die Titelzeile im HTML-Browser
 Kommandos zur Fehlersuche
 Vernderung des Erscheinungsbildes von Querverweisen zu Unterkapitel
 flexiblere Anwendung der Umschaltzeichen (toggle chars)
 HTML Schriften (Fonts)
 Button-Bibliothek.

.snL
Neue Funktionen in HyperMake 2.9
.sn

 zustzlich HTML als Zielformat
 Rckwrts-Konvertierung von IPF nach HyperMake
 index filter
 mehrere Quelltexte (siehe Kommandozeilenparameter)
 (2.91) erste Version auch als Win32-Programm verfgbar
 (2.91) Funoten auch fr HTML.

.snL
Bereinigte Fehler in (neuer Name) HyperMake 2.9
.sn

 "link to subchapters = NO" fhrte zu Programmabsturz
 Bei Verwendung der IPFC Version 2.1 von 1993 und der Einstellung "ASCIIHARDRET" fehlte in lngeren Abstzen nach ca. 200 Buchstaben ein Leerzeichen.
 Bei der Einstellung "ASCIIHARDRET" traten Probleme mit unsortieren Listen auf.

.snL
Neue Funktionen in MakeIPF 2.0
.sn

 externe Querverweise (external links) zu separaten HLP- und INF-Dateien hin
 Programme starten mittels Querverweise
 automatische Duplizierung von Kapitelberschriften im Flietext, Kapitelberschrift als Querverweis-Sprungziel, Aufnahme von Kapitelberschriften in den Index

 zahlreiche neue Fehlermeldungen, die sonst erst beim IPFC-Compiler kommen
 Tabs werden automatisch in die entsprechende Anzahl Leerzeichen verwandelt (nur bei Schrift mit festen Schritten sinnvoll)
 verbesserte Fensteranordnung (siehe letzten Absatz im besagten Kapitel)
 Registrierung ber Compuserve

.snL
Bereinigte Fehler in MakeIPF 2.0
.sn

.in neue Version
 Fehler beim Ausdrucken von INF/HLP-Texten (feste Schrift "tritt auf der Stelle")
 Fehlerhafte Anzahl von Returns bei "Formatieren aus"

Darber hinaus wurden zahlreiche kleinere Fehler beseitigt.

.snL
Gefundene Fehler und Verbesserungen MakeIPF Beta 0.91 nach 1.0
.sn

 Absturz "access denied" kommt nicht mehr vor; geringerer Speicherbedarf
 jetzt mit dem endgltigen (Nicht-Beta) SpeedPascal Compiler erstellt. (Datenumleitung jetzt o.k.)
 automatischer Rand .AM 
 If-Bedingungen
 Verbesserung der automatischen Querverweise, insbes. Wortendungen
 diverse Fehler beseitigt

.2
Wo Updates?

.snL
Wo Sie HyperMake finden
.sn

Sie finden die neueste HyperMake OS/2 Version in Compuserve OS2UGER und OS2BVEN. Im Internet sind es die blichen OS/2-Adressen ftp-os2.nmsu.edu, ftp.cdrom.com/pub/os2 und auf dem Mnchner ftp.leo.org/pub/comp/os/os2.

Die Win32-Version gibt es auf ftp.leo.org/pub/comp/os/win95 und im Compuserve in WINGER und GERWIN.

Die OS/2-Version finden Sie unter Hmakeo*.ZIP.
Die Win32-Version finden Sie unter HmakeW*.ZIP.

Haben Sie Ideen zu neuen Funktionen fr HyperMake? Ich freue mich ber jeden Kommentar oder Verbesserungsvorschlag.

.2
Warenzeichen

IBM und OS/2 sind eingetragene Warenzeichen der International Business Machines Corp.
WordStar ist eingetragenes Warenzeichen von MicroPro.
SpeedPascal ist ein Warenzeichen von SpeedSoft GmbH.
TurboPascal ist eingetragenes Warenzeichen von Borland Corp.
Windows ist eingetragenes Warenzeichen von Microsoft.


.2
Betriebssysteme

.iv verschiedene Betriebssysteme
Sie waren bestimmt von der Verarbeitungsgeschwindigkeit sehr angetan. Dabei gibt es eine kleine berraschung: Ich habe das Programm nicht in C geschrieben, sondern mit Speed-Pascal[SpeedSoft, Chemnitz], einem TurboPascal-kompatiblen OS/2-Compiler mit IDE. Er erzeugt sowohl OS/2- als auch Win32-Programme. Fr die Zukunft ist noch Powermac, Linux und AIX geplant, so da es auch fr diese Plattformen HyperMake geben wird.

.2
Andere Progs

Ich habe noch einige kleine Programme  programmiert, es ist meist Freeware. Auer Textbuch sind es nur OS/2-Programme (bis jetzt...), alle Programme haben auch deutsche Dokumentation.

 PMCALC20 PmCalc 2.0, ein PM Taschenrechner mit automatischer Zwischenablagenuntersttzung, hex und wissenschaftlichen Funktionen (auch in deutsch, Shareware)
 TINYALRM TinyAlarm 2.1, Uhr mit Eieruhr als Schieber von 1 bis 60 and einem Wecker, bei dem man eine Weckzeit einstellen kann
 ZIPSHELL Simple Zipshell, eine Handvoll kleiner Batch-Dateien, um mit ZIP- und ARJ-Dateien elegant ber die WPS umgehen zu knnen (auch in Deutsch)
 CD_SHORT CD Shortcut 2.0, Abkrzung fr den CD-Befehl. Statt vollstndiger Verzeichnisnamen gibt man nur Wortteile ein (Anleitung auch in Deutsch)
 CLEAR10G Clear 1.0, erzeugt Dateilisten zum zippen auf Disketten und zum Lschen, mit komplexen Auswahlkriterien
 TEXTBUCH 1.0 (auch DOS, nur deutsch).
Doppelte Buchfhrung fr Selbstndige und kleine bis mittlere GmbH's. Arbeitet wie ein Compiler. Input und Output sind Textdateien. Umfangreiche INF-Datei (OS/2-Version), Textdatei (DOS-Version), HTML-Datei (Win32-Version). Shareware bei > 350 Buchungsstze pro Jahr.

Sie finden die OS/2-Programme in Compuserve OS2UGER 7 und im Internet unter ftp.leo.org/pub/comp/os/os2.

Auf meiner Homepage finden Sie Beschreibungen und Screenshots der Programme. pmCalc werde ich nach Win32 portieren.

Ende des Hypertextes
..
..Externer Querverweis auf meine Homepage und auf die Button-Bibliothek
.URL http://ourworld.compuserve.com/homepages/vrb/VIEREGG.HTM
.ID HOMEP
.in Homepage
.URL ..\..\buttons\content.htm
.in Button-Bibliothek
.LOCAL
