..Dies ist die Dokumentation im HyperMake-Format.
..Aus dieser Datei kann eine HTML, IPF oder RTF-Datei
..erzeugt werden. Lesen Sie bitte die Hilfedatei MACHDOKU.
..
..   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
..   #OS2EXEDOC       fr kontext-sensitives IBM IPF (HLP)
..   #WINEXEDOC       fr kontext-sensitive Windows Hilfe
..   #WINHELPDOC      fr die Erstellung von Winhelp3 und Winhelp4-Dateien
..   #MSHTMLHELPDOC   fr die Erstellung der Microsoft HTML-Help Windows 98 Hilfe
..   #WORDSTARDOC     wenn fr den Quelltext der DOS WordStar 4.0
..                    benutzt wird
..   #OS2 #WIN95 #DOS Verwendung unter bestimmten Betriebssystemen
..
..
..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.65
.fu[]
.bt blackdot
.bt reddot
.ft
.<>
.1
Einfhrung

HyperMake (bis Version 2.0 MakeIPF) dient der einfachen Erstellung von HTML-Seiten, Winhelp, Microsoft HTML-Help (Windows 98 Hilfe) und IBM Hilfe (INF- und HLP-Dateien des Betriebssystems OS/2). Statt direkt HTML-, RTF- oder IPF-Dateien zu editieren, wird ein ASCII-Rohtext erstellt, der weitaus weniger Kommandos enthlt und das gleichzeitige Schreiben aller genannten Zielformate untersttzt. Querverweise werden automatisch gezogen, mit nur einem Befehl werden Fenster verschiedener Gliederungsebenen gleichzeitig angezeigt, am Ende eines Kapitels wird automatisch auf Unterkapitel verwiesen und vieles mehr.

Die Version 3.5 ist das erste "major release", das nun die Microsoft-Hilfeformate Winhelp3, Winhelp4 und HTML-Help (Windows 98 Hilfe) untersttzt.

3.60 war ein wichtiges Bugfix von Version 3.5, insbesondere im Winhelp-Bereich; neu sind hier die Javascript Baumansicht des HTML Inhaltsverzeichnisses sowie Statuszeilen-Text. Bei 3.65 sind lediglich die wenigen Fehler, die in den letzten Monaten aufgetaucht sind, behoben (siehe Fehlerberichte). Insbesondere bei Tabellen wurden Verbesserungen vorgenommen. Drei neue Punktbefehle schlieen kleinere funktionale Lcken, siehe Programmversionen.

Neu sind auerdem eine Rckwrts-Konvertierung von RTF nach HyperMake sowie einige Verbesserungen und Fehlerbereinigungen im HTML-Bereich.

HyperMake existiert derzeit als Win32 (Windows 95 und NT), als OS/2- und als DOS/Win 3.1 Version. 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 komplexer 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 oder ohne autom. Zeilenumbruch
 einem ASCII-Editor sowohl unter dem ISO- als auch dem IBM (DOS) Zeichensatz
 statt mit einem ASCII-Editor auch mit 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 erzeugt Querverweise (engl. links) von allen gleichlautenden Ausdrcken im Text zur markierten Textstelle hin sowie einen entsprechenden Eintrag im Index (zu deutsch Stichwortverzeichnis). Es werden auf verschiedene Weise auch externe Querverweise untersttzt, so z.B. von OS/2- und Winhelp4-Dateien ins WWW.

 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.

 Automatische Erstellung von Inhaltsverzeichnissen
Der Hypertext erhlt eine Seite mit Links zu allen Kapiteln. In HTML kann zwischen einer Darstellung als unsortiere Liste und einer Javascript Baumansicht gewhlt werden, bei der Unterkapitel auf- und zuklappbar sind.

 Automatische Erstellung von Helptables bzw. Konstanten
Fr OS/2- und Windows-Hilfedateien 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-, C- oder PAS-Datei eingebunden werden kann.

 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 (IPF drei) Fenster verschiedener Gliederungsebenen, also Kapitel, Unterkapitel, Unterunterkapitel, erscheinen so gleichzeitig, vgl. Beispiel Fensteranordnung. (Diese Funktion steht fr Winhelp3 nicht zur Verfgung und wird von den anderen Hypertextformaten unterschiedlich umgesetzt.)

 Einfache Erstellung von Funoten
Bei HTML werden Funoten ber Frames realisiert, bei OS/2-Hilfe, Windows-Hilfe und Windows-98-Hilfe 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-, RTF- bzw. IPF-Kommandos 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.)

.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.

Das Zielformat HTML ist das einzige von HyperMake untersttzte Zielformat, dessen Dateien direkt gelesen werden knnen, ohne einen weiteren Compiler zu bentigen.

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 von HyperMake untersttzte Entwicklungsstand von HTML ist 3.2. Die wichtigste Neuerung von 3.2 sind Frames (Fensteranordnung). Mit HyperMake erzeugte HTML-Dateien, die Frames enthalten, knnen auch mit lteren Browsern betrachtet werden, dann natrlich ohne Frames.

Inzwischen wurde der Stand 4.0 verabschiedet. HyperMake wird in der Zukunft an neue Entwicklungsstnde von HTML angepat. Stylesheets werden derzeit noch nicht untersttzt, dies ist aber fr knftige Programmversionen geplant.

Das W3C Konsortium fhrt die Standardisierungen von HTML durch. Informationen zum offiziellen HTML-Standard finden Sie auf dem W3C-Server:
http://www.w3.org/pub/WWW/TR

Seit Anfang 1998 gibt es auch eine deutsche Vertretung:
http://www.gmd.de

.2
IPF, INF und HLP-Dateien

.in Dateiformat INF (IBM)
.in Dateiformat HLP (IBM)
.in Dateiformat IPF
.in IPF-Datei
IPF-Dateien (Information Presentation Facility) sind das Ausgangsformat fr die IBM Hilfe. Es hat deutliche hnlichkeiten mit HTML, gehren doch beide Formate der Sprachfamilie SGML an. Von beiden Sprachen ist HTML jedoch die sauberer definierte. IPF hat einige unlogische Eigenheiten und ist dadurch besonders mhsam direkt zu editieren.

Die IBM-Hilfe ist das Hilfeformat fr die IBM-Produkte OS/2 und PC-DOS 7. Es wird auch auf Windows-Plattformen verwendet, wenn Programme mit plattformbergreifenden IBM Entwicklungssystemen geschrieben werden. Es ist von allen Hypertextformaten das funktionalste, schnellste und ausgereifteste.

IBM-Hilfedateien gibt es als INF- und HLP-Dateien. INF-Dateien werden einzeln betrachtet, HLP-Dateien werden immer nur zusammen mit ausfhrbaren Programmen verwendet. Vom Anwendungsprogramm aus knnen Seiten der HLP-Datei aufgerufen werden.

Die von HyperMake generierten IPF[Das IPF Format (Information Presentation Facility) ist der Ausgangstext, um INF- oder HLP-Dateien zu erstellen.] Dateien sind das Ausgangsmaterial fr den IBM-Compiler 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 Windows-Version ist Bestandteil des IBM Visual Age C++ Entwicklungssystems. Der IPFC Compiler ist nur ca. 200 kB gro.], der daraus dann eine INF- oder HLP-Datei erzeugt.

.URL ftp://ftp.leo.org/pub/comp/os/windows/win3.11/utils/viewers
.in Windows IBM INF Viewer
.LOCAL
IBM INF und HLP Dateien sind kompakte Binrdateien. IBM INF Viewer gibt es fr OS/2 (das Format aller OS/2-Programmdokumentationen), fr Win16 und fr DOS. Der Windows IBM INF Viewer ist im Internet auf ftp://ftp.leo.org unter dem Dateinamen win_inf.zip verfgbar (225 kB). Der DOS Viewer ist in IBM DOS 7 enthalten und es gibt auch ein Freewareprogramm (VIEW01.ZIP Compuserve OS2DF1).

Wenn Sie Windows benutzen und sich fr dieses Hypertext-Format interessieren, so knnen Sie sich den Windows IBM INF Viewer herunterladen. Wenn Sie dann noch mit HyperMake erzeugte IBM INF-Dateien zum Testen bentigen, laden Sie doch einfach mein Freewareprogramm CLEAR oder das Sharewareprogramm pmCalc in der OS/2-Version von meiner Homepage.

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, Grafiken usw. sind alle auch im IBM INF-Format enthalten.

HyperMake bietet eine Rckwrts-Konvertierung von IPF ins HyperMake Quelltextformat.

.2
Winhelp

.in Winhelp
.in Winhelp3
.in Winhelp4
.in Dateiformat INF (Microsoft)
.in Dateiformat HLP (Microsoft)
.in Dateiformat RTF
.in Dateiformat HPJ
Das Winhelp-Format ist ein binres Hypertextformat. Das Ausgangsformat zur Erstellung von Winhelp-Dateien ist ein spezielles RTF-Format (Rich Text Format). Es ist das kryptischte von allen Hypertext-Ausgangsformaten und das einzige, das praktisch gar nicht von Hand erstellt werden kann. Es verwundert nicht zu sehr, da Microsoft mit dem HTML-Help Format dieses Format in den nchsten Jahren ablsen wird.

Winhelp-Dateien knnen aus einem Windows-Programm heraus oder als separate Dateien gestartet werden.

Von Winhelp gibt es zwei Versionen: Winhelp Version 3 und Winhelp Version 4 (im folgenden einfach Winhelp3 und Winhelp4 genannt). Die Version 3 ist das Hypertextformat von Windows 3.1, whrend Version 4 das Hypertextformat der 32-bit-Versionen Windows 95 und Windows NT ist. Winhelp4 Hilfetexte knnen nur dann von Windows 3.1 gelesen werden, wenn Win32s in der Version 1.30 oder spter installiert ist.

Die Winhelp-Viewer von Windows 95 und Windows NT knnen Winhelp3-Dateien lesen, umgekehrt knnen die 16-bit-Windows-Versionen das Winhelp4-Format aber nicht lesen.

Winhelp4 hat, im Zusammenhang mit HyperMake gesehen, folgende Vorteile:

 Es gibt ein Inhaltsverzeichnis (CNT-Datei) mit aufklappbaren Gliederungsebenen. (Die CNT-Datei mu der HLP-Datei beigelegt werden.)
 Was bei HTML mit Frames mglich ist, kann bei Winhelp4 ber zwei Fenster erzeugt werden: Im einen Fenster das bergeordnete Kapitel, im anderen das jeweilige Unterkapitel.
 Es ist mglich, aus Winhelp4-Dateien heraus HTML-Seiten, auch im WWW, aufzurufen. Dabei wird der Browser gestartet, der die Standard-Verknpfung mit der Endung HTM bzw. HTML hlt.

Um aus den von HyperMake erzeugten RTF-Dateien Winhelp-Dateien zu erzeugen, bentigen Sie den Microsoft Winhelp-Compiler. Die Steuerdatei, ber die der Winhelp-Compiler aufgerufen wird, hat die Endung HPJ (Help Project).

Die Winhelp3-Version heit hc31.exe oder hcp.exe und ist ein DOS-Kommandozeilenprogramm. Es ist im Internet verfgbar:
http://www.beck.de/njw-cor/download/programs/beispiel.zip

Eine besonders kompakte Zip-Datei (100k) kann ber die HyperMake Homepage heruntergeladen werden. Der Compiler ist ein DOS-Kommandozeilenprogramm, welches unter DOS, Windows 3.1 und OS/2 arbeitet. Fr die Verwendung unter OS/2 empfiehlt sich der hc31.exe, der im Archiv auf meiner Homepage enthalten ist.

Die Version 4 luft unter Windows95 sowie NT und verfgt ber eine graphische Oberflche, kann aber auch ber die Kommandozeile benutzt werden (hcrtf.exe).
http://www.microsoft.com/germany/mspress/402helpshop.htm (2,9 MB)

HyperMake bietet eine Rckwrts-Konvertierung von RTF ins HyperMake Quelltextformat.

.IF WINHELPDOC
.3
Fehlermeldungen beim Winhelp-Compiler

.in topic
.in Winhelp Fehlermeldungen
.in Dateiformat PH
Die Winhelp-Compiler haben einige lstige Beschrnkungen und sind in der Interpretation der RTF-Befehle sehr "pingelig". In den entscheidenen Punkten hat sich bei Winhelp4 nichts gegenber Winhelp3 gendert. Die Fehlermeldungen lassen oft kaum Rckschlsse auf die wahre Fehlerursache zu.

So gibt es etwa bei hufiger Verwendung von Tables Probleme ("32 columns limit") - der einige Rat ist, einige Tabellen durch normalen Text in fester Schrift zu ersetzen.

Wenn ein Fehler "error at offset..." kommt, ist die dann ausgegebene Position in der Datei hufig das Dateiende. Es sind dann mehr { "Auf" als } "Zu" Klammern enthalten. Das lt dann jedoch auf einen Fehler in HyperMake schlieen. Senden Sie mir in diesem Fall bitte Quelltext und Ini-Datei.

Manchmal kommt auch eine Fehlermeldung "error in topic...". HyperMake schreibt in die RTF-Datei Kommentare in Form von "ThisIsTopic...". Daran knnen Sie sich orientieren, um wenigstens das Kapitel (entspricht "topic") zu finden, in dem der Fehler aufgetreten ist.

Regelmig kommt die Warnung "using old phrase table". In der Datei Projektname.ph speichert der Winhelp Compiler Zwischenergebnisse ab. Diese Datei knnen Sie von Zeit zu Zeit lschen.
.END

.2
MS HTML-Help

.in HTML-Help
.in Dateiformat HHC
.in Dateiformat HHK
.in Dateiformat HHP
.in Dateiformat CHM
Microsoft HTML-Help wird in Windows 98 und NT 5.0 die bisherige Windows-Hilfe ersetzen. Es basiert auf HTML: HTML-Dateien, die zum Teil Microsoft-eigene Erweiterungen enthalten (die nicht vom W3C Konsortium standardisiert wurden), sind das Rohmaterial, aus dem der HTML-Help-Compiler dann eine binre Datei mit der Endung CHM (compiled HTML) erzeugt. Wesentliche Neuerung sind ein aufklappbares Inhaltsverzeichnis (HHC-Dateien) sowie ein Index, also ein Stichwortverzeichnis (HHK-Dateien).

Die Steuerdatei, ber die der HTML-Help-Compiler aufgerufen wird, hat die Endung HHP (HTML-Help Project).

Aufgrund der erforderlichen Abwrtskompatibilitt werden Microsoft-Betriebssysteme in den nchsten Jahren auch noch die alte Windows-Hilfe untersttzen.

Den MS HTML-Help-Compiler erhalten Sie ber das Internet:
http://www.microsoft.com/workshop/author/htmlhelp/download.htm

Bei Windows 95 und NT 4.0 ist der erforderliche Viewer (HH.EXE) nicht vorhanden. Dieses Programm wird erst in Windows 98 und NT 5.0 enthalten sein. Wenn fr eine Win32-Applikation nicht ohnehin alternativ auch eine Winhelp-Datei ausgeliefert wird (was mit HyperMake nicht schwerfllt), so mu zumindest der HTML-Help-Viewer HH.EXE mitgeliefert werden. Diese Datei ist Bestandteil des HTML-Help Workshops und befindet sich gewhnlich im Windows Verzeichnis.

Seit MS HTML-Help 1.1 gibt es auch die Mglichkeit, die HTML-Hilfe so zu erzeugen, da auf Rechnern mit Windows 95 keine zustzliche Software eingespielt werden mu. Allerdings fhrt dies zwangslufig trotzdem zu greren Datenmengen.

Fehler in HH.EXE ? (12-1997)

Ich habe festgestellt, da der HTML-Help Viewer HH.EXE Probleme mit dem Anzeigen von Seiten mit Frames hat. Manchmal fhrt das Aufrufen einer Frames-Seite zum Absturz von HH.EXE, manchmal wird der genau gleiche Vorgang korrekt ausgefhrt. Ich habe noch keine Ahnung an was dies liegt und wie man diesen Fehler umschiffen kann.

.1
Starten des HyperMake Compilers

.in kompilieren
.in compiling
Das HyperMake-Programm ist ein Compiler, der whrend der Laufzeit keine Benutzereingaben erwartet. HyperMake kann entweder mit Hilfe von HMP-Dateien ber die graphische Benutzeroberflche oder ber die Kommandozeile gestartet werden.

.IF DOS
Bei der DOS-Version machen HMP-Dateien weniger Sinn, da einige Funktionalitten wie das automatische Starten des zweiten Compilers nicht untersttzt werden. Ich empfehle daher das Schreiben von Batch-Dateien.
.END

.2
Starten mit Hilfe von HMP-Dateien

.in HMP-Datei
HMP-Dateien sind sind mit HyperMake 3.5 neu eingefhrt und dienen als "Mausersatz" fr die Kommandozeile. HyperMake kann auch weiterhin direkt ber die Kommandozeile gestartet werden.

.IF not DOS
Nach dem Starten des Programms HMINSTAL sind HMP-Dateien mit zwei Programmen gleichzeitig verknpft: einem Editor (editiere Projektdatei) und dem HMAKE.EXE Compiler (kompiliere Projekt).
.END

.IF OS2
Um die Zuordnungen zu sehen, holen Sie sich mit der rechten Maustaste das Kontextmen einer HMP-Datei her und whlen ffnen.
.END
.IF WIN95
Um die Zuordnungen zu sehen, holen Sie sich mit der rechten Maustaste das Kontextmen einer HMP-Datei her.
.END

Die Standardverknpfung beim Doppelklick auf das Datei-Icon ist der Compiler.

Pro Zeile steht in der HMP-Datei ein "Schalter", rechts vom = Zeichen drfen Sie editieren. Wenn Sie eine Zeile mit ; oder // beginnen, werden sie als Kommentarzeile nicht interpretiert.

Die folgenden Zeilen sollten in jeder HyperMake Projektdatei stehen:

.snB
;HyperMake Project file

source files = meintext.txt
ini file = meintext.ini
.sn

Sie mssen wenigstens den Dateinamen des Quelltextes sowie den Dateinamen der Ini-Datei angeben, die anderen Zeilen sind freiwillig.

.IF DOS
Die DOS-Version erlaubt nur einen Quelltext.
.ELSE
Sie knnen auch mehrere Quelltext-Dateien, durch Leerzeichen getrennt, angeben. Sie werden dann im Speicher in der Reihenfolge zusammenkopiert, in der sie hier aufgefhrt werden.
.END

.saB
~target = HTML~

HyperMake erzeugt die Formate ~IPF, WINHELP3, WINHELP4, HTML, HTMLHELP~. In der Ini-Datei gibt es auch eine ~target=~ Angabe. Diese gilt nur, wenn Sie in der HMP-Datei keine Angabe dazu machen. ~target=~ in der HMP-Datei macht dann Sinn, wenn Sie aus einem Quelltext und einer Ini-Datei mehrere Formate erzeugen wollen.

~parameter = noframes noid bigfont~

Es gibt einige Programmparameter, die eine bestimmte Wirkung auf den erzeugten Hypertext haben und nur in bestimmten Fllen gewnscht werden.

~conditions = DIES DAS~

Sie drfen im Quelltext sogenannte IF-Bedingungen setzen. Damit knnen Sie Text quasi einklammern und er wird nur dann in den Hypertext bersetzt, wenn Sie die Bedingung hier gesetzt haben.

Automatisches Starten des zweiten Compilers und des Hypertext-Betrachters

Mit HyperMake erzeugte HTML-Dateien kann man sofort mit einem Browser-Programm betrachten. Bei all den anderen untersttzten Hypertextformaten bentigt man erst noch einen zweiten Compiler. Der zweite Compiler nimmt die von HyperMake erzeugten Dateien als Input und erzeugt daraus eine binre Hypertextdatei, die man dann mit dem entsprechenden Programm anschauen kann. Es ist daher sinnvoll, da der zweite Compiler automatisch seine Arbeit aufnimmt, wenn HyperMake seine Arbeit ohne Fehlermeldungen beendet hat.

.IF DOS
Diese Funktion steht nur bei den 32-bit-Versionen von HyperMake zur Verfgung. Sie knnen Sich aber Batch-Dateien schreiben.
.ELSE

.iv zweiter Compiler
.snB
compile = YES
view = YES
.sn

HyperMake kann den zweiten Compiler sowie den Viewer (das Betrachter-Programm) automatisch starten. Hierfr bentigt es aber den vollen Dateinamen des zweiten Compilers:

.snB
ipf compiler = C:\IPFC\IPFC.EXE /inf
winhelp3 compiler = C:\WINHELP\HC.EXE
winhelp4 compiler = C:\HELPWORKSHOP\PROGRAM\HCRTF.EXE /x
htmlhelp compiler = C:\HTMLHELP\HHC.EXE
.sn

Hier mssen Sie die richtigen Pfadnamen angeben, falls sich das Programm nicht in einem Verzeichnis befindet, das im PATH Befehl eingetragen ist. Sie knnen hinter den Dateinamen des Compilers durch Leerzeichen getrennt noch Kommandozeilenparameter eingeben.

.snB
ipf viewer = VIEW.EXE
winhelp3 viewer = WINHELP.EXE
winhelp4 viewer = WINHELP32.EXE
htmlhelp viewer = HH.EXE
.sn

Auch hier mssen Sie die richtigen Pfadnamen angeben, falls sich der Viewer nicht in einem Verzeichnis befindet, das im PATH Befehl eingetragen ist. In der Regel befinden sich die Viewer aber in solchen Verzeichnissen.

~command lines = 50~

Manche der zweiten Compiler erzeugen eine Menge von Meldungen, so da die ersten Meldungen aus dem zu kleinen Standard-Bildschirm von 25 Zeilen herausrutscht. Hier knnen Sie nun die Anzahl der Zeilen angeben, die das Textausgabefenster fr den zweiten Compiler erhalten soll. Zum Austesten, welche Werte Ihr Rechner akzeptiert, starten Sie ein Kommandozeilenfenster und geben MODE 80,50 bzw. fr 50 einen anderen Wert ein. Manche Systeme akzeptieren Stufenlos Werte bis 1000, andere nur feste Werte wie 50. Das hngt vom Betriebssystem und der verwendeten Grafikhard- und software ab.

.END
.IF OS2
~processor = C:\OS2\CMD.EXE~

Um den zweiten Compiler und/oder den Viewer starten zu knnen, wird kurzzeitig eine Batch-Datei HMTEMP.CMD angelegt. OS/2 kann eine solche Batch-Datei nur ber den Kommandozeilen-Prozessor starten. Wenn dieser nicht wie hier angegeben lautet, knnen Sie hier einen anderen angeben.
.END

Grafik-Dateien automatisch kopieren

.in graphic path
~graphic path = VollePfadangabe;VollePfadangabe;VollePfadangabe~

HyperMake nimmt Ihnen die Arbeit des Kopierens von Grafikdateien ab. Hier knnen Sie alle die Verzeichnisse mit vollem Namen Laufwerk:\Pfad\Unterpfad und durch Strichpunkt getrennt (ohne Leerzeichen) auflisten.

Den Schalter graphic path drfen Sie auch in der Ini-Datei verwenden.


.2
Starten ber die Kommandozeile

.fu
.in Kommandozeile
.in Kommandozeilenparameter
.IF OS2
Sie mssen, bevor Sie HyperMake benutzen knnen, HMAKE.EXE in einen Pfad kopieren, der in der Datei CONFIG.SYS unter PATH vorkommt; die Datei KBDVIO32.DLL mu entweder in einem Pfad sein, der unter LIBPATH vorkommt oder im gleichen Pfad wie die ausgefhrte Datei HMAKE.EXE. Findet die EXE-Datei die DLL nicht, so erscheint die OS/2-Fehlermeldung "0005" oder "SYS3175".
.END
.IF Win95
Um HMAKE.EXE von jedem Verzeichnis aus aufrufen zu knnen, mssen Sie HMAKE.EXE oder einen Link davon in einen Pfad spielen, der im PATH statement angegeben ist. Sie erhalten eine Liste dieser Verzeichnisse, wenn Sie in der Kommandozeile SET PATH eingeben.
.END
.IF DOS
Um HMAKE.EXE von jedem Verzeichnis aus aufrufen zu knnen, mssen Sie HMAKE.EXE oder einen Link davon in einen Pfad spielen, der im PATH statement der Datei AUTOEXEC.BAT angegeben ist.
.END

Sie mssen ein oder zwei Parameter bergeben:

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

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:

.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.

.IF not DOS
Mehrere Quelltexte

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.
.END

Zielformat ndern

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

Bedingungen setzen

Sie drfen im Quelltext sogenannte If-Bedingungen setzen. Damit knnen Sie Text quasi einklammern und er wird nur dann in den Hypertext bersetzt, wenn Sie hier die Bedingung hier gesetzt haben. Die Bedingungen setzen Sie ber die Kommandozeile beginnend mit einem #-Zeichen.

.snP
[C:\myProject] HMAKE MeinDoku.txt #BED1 #BED2
.sn

.2
Spezielle Programmparameter

Spezielle Programmparameter werden entweder in der HMP-Datei in der Zeile parameters = oder in der Kommandozeile, beginnend mit / eingegeben. Sie werden eher selten gebraucht, meist nur wenn Sie mehrere Zielformate erzeugen wollen, ohne verschiedene Ini-Dateien zu verwenden.

.IF HTMLDOC
Frames-lose HTML-Dateien erzeugen

.iv keine Frames
Der Parameter ~/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.
.fu[]

.ID-Punktbefehle ignorieren

Bei Verwendung von ~.ID~ Punktbefehlen heit die HTML-Datei so wie der ID-Name, whrend HyperMake sonst Dateinamen mit fortlaufender Nummer vergibt. Wenn Sie ausdrcklich keine festen Dateinamen, knnen Sie dies ber den Parameter ~/NOID~ erreichen.

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, verwenden Sie den Parameter ~/PRE~.

Heit das Projekt MEIN, erzeugt HyperMake 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!

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 Parameter ~/_~ (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.
.END

Schrift global vergrern oder verkleinern

Mit den Parametern ~/bigfont /smallfont~ kann man bei allen Zielformaten alle Schriftgren-Angaben etwas vergrern (um ca. 30%) oder verkleinern. Mir ist aufgefallen, da bei der gleichen Ini-Datei zwischen den verschiedenen Zielformaten, insbesondere zwischen IPF und Winhelp, merkwrdige Grenunterschiede bei den Schriften entstehen knnen. Um nicht zwei Ini-Dateien zu bentigen, knnen Sie diese Parameter verwenden.

.IF IPFDOC
HyperMake an IPFC Compiler anpassen

Die neueren IBM IPFC Compiler (Version 3) erzeugen in einigen Details andere Hypertexte als ltere Versionen (Version 1 und 2). Besonders die Anfnge jeder Seite unterscheiden sich hinsichtlich einer Leerzeile und Einrckung am Anfang. Mit dem Parameter ~/newipfc~ ergibt sich beim neuen Compiler ein gleiches Aussehen, was den Anfang der Seiten betrifft, wie beim alten Compiler.
.END

.IF WORDSTARDOC
WordStar Punktbefehle

Wenn Sie DOS WordStar als Editor verwenden, kann es sinnvoll sein, noch andere Punktbefehle zu verwenden als die, die HyperMake kennt. Mit ~/q~ fr "quiet" (still) wird die Fehlermeldung "Punktbefehl nicht bekannt" unterdckt.
.END

.IF not DOS
DOS-Dateinamen erzwingen

Mit dem Parameter ~/FAT~ werden alle Dateien nach DOS-Konvention in der 8.3 Schreibweise erzeugt.
.END

Fortschrittsanzeige mit Punkten

/dots erzeugt einen Punkt fr jedes bearbeitetes Kapitel statt der sonst blichen Fortschrittsanzeige mit dem drehenden Eck-Symbol.

Ausgabe von Meldungen in eine Textdatei

Zustzlich zu den normalen Ausgaben am Bildschirm knnen Sie sowohl alle Meldungen als auch speziell nur Fehlermeldungen in eine Textdatei umleiten. Das macht z. B. Sinn, wenn Sie aus einer Batch-Datei heraus HyperMake aufrufen und dann einen Editor mit der Fehlerliste aufrufen wollen.

.snB
/MESSAGES:dateiname
/ERRORS:dateiname
.sn

.2
Wie HyperMake vorgeht

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

 Einlesen der Ini-Datei
 Einlesen des Quelltextes
Der Quelltext wird mit einem Schlag in den Heap geladen (nicht bei der DOS-Version)
 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/RTF-Datei oder der HTML-Dateien
Zuletzt wird die IPF/RTF-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.

Beim Indizieren von Kapitelberschriften, Indizieren von Querverweisen und dem Schreiben der Zieldatei wird fr jedes bearbeitete Kapitel (Fenster) der Zhler am Bildschirm um eins erhht.

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

Wird nur ein kleiner Fehler gefunden, so wird beim Starten ber HMP-Dateien der zweite Compiler nicht gestartet.

.IF Win95
Piepstne werden bei Windows 95 ber die Soundkarte ausgegeben, NT begngt sich mit dem eingebauten PC-Lautsprecher.
.END

Welche Dateien erzeugt HyperMake?

.IF HTMLDOC
Bei HTML wird ein neues Verzeichnis mit dem Projektnamen angelegt, das die HTML-Dateien enthlt. Als Dateinamen-Erweiterung fr HTML-Dateien wird ".HTML" oder ".HTM" gewhlt, abhngig von Betriebssystem und Einstellungen in der Ini-Datei.
.END

.IF IPFDOC
Wenn IBM Hilfe gewhlt wurde, so erzeugt HyperMake eine IPF-Datei, die der Input fr den IBM IPFC Compiler ist.
.END

.IF WINHELPDOC
Wenn Winhelp erzeugt wird, so legt HyperMake eine einzelne RTF-Datei an. Abhngig vom Schalter contents creation in der Ini-Datei wird eine CNT-Inhaltsverzeichnisdatei angelegt oder nicht. CNT-Dateien knnen nicht mit Windows 3.1 angeschaut werden. Auf jeden Fall wird eine HPJ-Steuerdatei angelegt. Ein Doppelklick auf die HPJ-Datei ruft den Winhelp-Compiler auf. Bei der Benutzung der Kommandozeile wird die PRJ-Datei als Parameter dem Programm HC, HCW oder HCRTF bergeben.
.END

.IF MSHTMLHELPDOC
Wenn MS HTML-Help erzeugt wird, so wird wie bei normalem HTML ein neues Verzeichnis mit dem Projektnamen angelegt, das die HTML-Dateien enthlt. Die Inhaltsverzeichnis- und Stichwortverzeichnis ist anders als bei normalem HTML und hat die Endung HHC und HHK. Die MS HTML-Help Steuerdatei befindet sich im neuen Verzeichnis und hat die Endung HHP. Ein Doppelklick auf die HHP-Datei startet den MS HTML-Help Compiler.
.END

Denken Sie daran, da Sie keine Sicherungskopien der Dateien erzeugen mssen, die HyperMake generiert, da Sie sie jederzeit aus dem Quelltext neu erstellen knnen.

Zielverzeichnis und Grafikdateien

.in Zielverzeichnis
Bei jedem Zielformat kopiert HyperMake die Grafiken aus den Verzeichnissen, die unter graphic path in der HMP-Datei oder Ini-Datei angegeben wurden, in das Zielverzeichnis. Das Zielverzeichnis, in das HyperMake die Grafiken und (weitgehend) den Text-Output spielt, hngt vom gewhlten Zielformat ab: Bei HTML und HTMLHELP ist das der neu erzeugte Ordner, in den auch die HTML-Dateien gespielt werden und bei den anderen Formaten der gleiche Ordner, in dem sich auch der Quelltext befindet.

.2
Schreiben von Batch-Dateien

.in Batch-Datei
Batch-Dateien dienen der automatischen Abarbeitung von Kommandozeilen-Eingaben, enden auf BAT (DOS, Win95, NT) oder CMD (OS/2, NT) und knnen mit jedem normalen Editor bearbeitet werden.

.IF not DOS
Im Prinzip bentigen Sie bei Verwendung von HMP-Dateien keine Batch-Dateien. Wenn Ihnen diese Art der Bearbeitung aber liegt, knnen Sie sie natrlich verwenden.
.END

.IF OS2
Eine vernnftige Batch-Datei zum Abarbeiten im Hintergrund ist die folgende:

.snB
rem Erstellung eines Hypertextes mit HyperMake und IPFC
HMAKE mein.txt /errors:HyperMake_errors
start /f e HyperMake_errors
ipfc /inf mein.ipf /country=049 /language=deu >ipfc_errors
start /f e ipfc_errors
echo **
.sn

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 Batch-Dateien nicht vertraut sind, so knnen Sie darber unter "OS/2-Befehle (nach Funktion sortiert), Stapeldatei- und Befehlsverarbeitung" im OS/2-Referenzhandbuch nachlesen.

.ELSE
Unter Windows kann beispielsweise zur Erstellung einer Winhelp-Datei folgende Syntax eingegeben werden:

.snB
rem Erstellung einer Winhelp-Datei mit HyperMake und HC.EXE
HMAKE mein.txt /errors:hm_error.txt
start notepad hm_error.txt
C:\WINHELP\HC mein.hpj >hc_error.txt
start notepad hc_error.txt
echo ** 
.sn
.END

In der letzten Zeile knnen Sie hinter "echo" zwei Zeichen Alt-7 schreiben, das ergibt zwei Piepser.

Das > Zeichen leitet die Bildschirmmeldungen in eine Datei um, die dann mit einem Editor nachtrglich angesehen werden kann (start Editorname Dateiname). Das > Zeichen funktioniert bei HyperMake nur einwandfrei in der OS/2-Version von HyperMake, verwenden Sie besser grundstzlich die Parameter ~/MESSAGES:dateiname~ und ~/ERRORS:dateiname~.

Weitere ntzliche Befehle in Batch-Dateien

~PAUSE~ stoppt den Programmablauf und fordert den Benutzer auf, eine beliebige Taste zu drcken.

Fr die Zeichenfolge ~%1~ wird der erste an die Batchdatei bergebene Parameter verwendet.

Drag and Drop funktioniert jedoch nicht, weil bei Verwendung von einer Erweiterung hinter ~%1~, also etwa ~%1.IPF~ oder ~%1.HPJ~ dann zwei Erweiterungen hintereinander kopiert werden.

.2
Debug-Modus

.in Fehlersuche
Es kann in seltenen Fllen 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 Programmparameters ~/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/RTF/HTML-Dateien ausgegeben.

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

.fa hori 30
.1
Rckwrts-Konvertierung von IPF und RTF nach HyperMake

.in Rckwrts-Konvertierung
.2
Einfhrung

HyperMake bietet Ihnen eine rudimentre Rckwrts-Konvertierung vorhandener Texte im IPF- bzw. RTF-Format ins HyperMake Quelltext-Format.

Das RTF-Format (Rich Text Format) ist nicht nur das Ausgangsformat fr die Windows-Hilfe, sondern wird auch von vielen Textverarbeitungsprogrammen wie etwa Winword exportiert.

Die Rckwrts-Konvertierung verfgt ber die wichtigsten Funktionen und nimmt Ihnen 90 bis 95%, aber nicht 100% der Arbeit ab. Hierfr sind die Formate einfach konzeptionell zu unterschiedlich. Deshalb sollten Sie die Rckwrts-Konvertierung als einmalige Aktion ansehen und dann nur noch den HyperMake Quelltext weiter bearbeiten.

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

.2
IPF Konvertierung

Die IPF Rckwrts-Konvertierung ist zu folgendem in der Lage:

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

Nicht funktioniert das folgende:

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

.2
RTF Konvertierung

Bei der RTF Rckwrts-Konvertierung werden zwei grundstzliche RTF-Formate unterschieden:
 Quelltexte von Windows-Hilfe
 Aus Textverarbeitungsprogrammen exportierte RTF-Texte (z. B. aus Winword), die keine Windows-Hilfe sind.

Wenn Sie letzteres Format konvertieren wollen, mssen Sie dies extra mit dem Kommandozeilenparameter ~/RTFTEXT~ angeben.

 Umschalter (toggles)
 Kapitel
 die wichtigsten Formatierbefehle (paragraph, break, Formatierung ein/aus)
 Indexeintrge, sie werden auch gleich zum Querverweis-Ziel
 Rnder
 Funoten
 Grafiken, auch Grafiken in Text.

Nicht funktioniert das folgende:

 Schriften
 Fensteranordnung
 definition list
 Panel ID's (die Verbindung zu einem EXE Programm)
 tables
 unsortierte Listen, sortierte Listen.

Der Text der Tables (Tabellen) geht zwar nicht verloren, jedoch die Formatierung. Am sinnvollsten ist es, aus der Windows-Hilfe einfach die Tabelle ber die Zwischenablage in den HyperMake Quelltext zwischen die zwei ~.TA~ Punktbefehle zu kopieren.

Sortierte Listen und unsortierte Listen kennt RTF bzw. Winhelp nicht, deshalb kann es auch keine Rckwrts-Konvertierung geben. (Umgekehrt ist aber HyperMake in der Lage, unsortierte und sortierte Listen ber andere RTF-Befehle zu emulieren.)

Manche Textprogramme wie Winword exportieren standardmig nicht die Gliederungsstruktur ins RTF-Format. Gerade dies ist aber fr HyperMake sehr wichtig, denn ohne Kapitel geht bei HyperMake "gar nichts". Vor dem Export ins RTF-Format sollten Sie deshalb eine Formatvorlage whlen, die die Gliederungsstrukturen untersttzt, so etwa "berschrift1" statt "Standard". Damit HyperMake die berschriften richtig umsetzen kann, mssen Sie eine Vorlage mit Dezimalklassifikation whlen, also "1 - 1.1 - 1.1.1" usw.

.2
Konvertierung starten

.saB
Whrend in der Hauptrichtung HyperMake sowohl ber HMP-Dateien als auch ber die Kommandozeile aufgerufen werden kann, mssen Sie bei der einmalig zu verwendenen Rckwrts-Konvertierung mit der Kommandozeile ("OS/2-Fenster", "(MS-DOS-Eingabeaufforderung)" vorlieb nehmen.

Um die Rckwrts-Konvertierung zu starten, geben Sie die Ini-Datei an, die Sie spter verwenden wollen (z. B. eine Kopie von BEISPIEL.INI) und dann noch die Datei mit der Erweiterung ~.IPF~ bzw. ~.RTF~. Mehrere Quelltexte werden nicht untersttzt. Fr RTF-Texte, die keine Windows-Hilfe Quellen sind, geben Sie zustzlich den Parameter ~/RTFTEXT~ an.

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

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

.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, dient das der besseren Lesbarkeit. Sie mssen aber 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

.iv Einbindung von HTML-Befehle
Es gibt drei Arten, HTML-Befehle direkt in den HyperMake-Quelltext einzubinden. Dies ist fr Sie sinnvoll, wenn Sie mit HTML-Befehlen vertraut sind und fr einzelne Teilaufgaben diese den HyperMake-Befehlen vorziehen oder ganze Java- oder Javascript-Programme schreiben mchten. Werden andere Formate als HTML erzeugt, so werden die Befehle natrlich unterdrckt.

HyperMake bietet 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.

Sie knnen auch direkt HTML-Text und -Kommandos schreiben - z. B. fr Javascript Programme, er wird ohne nderung bernommen.

.snB
 .HTML

 <HTML-Kommandos> Flietext usw.

 .HYPERMAKE
.sn

Fr grere Einschbe in HTML bietet es sich an, diese aus dem HyperMake Quelltext ganz auszulagern. Mit dem Punktbefehl

.snB
 .HF Dateiname
.sn

(HTML File) wird an die Stelle des Punktbefehls der Dateiinhalt der Datei "Dateiname" kopiert. Das ist besonders bei Javascript Programmen sinnvoll.
.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.

.IF DOS
Umschaltzeichen drfen nicht anderweitig im Text verwendet werden.

Die 32-bit-Versionen von HyperMake ermglichen es, durch Verdoppelung von Umschaltzeichen diese doch auszudrucken. In der DOS-Version steht diese Funktionalitt NICHT zur Verfgung.
.ELSE
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
.END

.3
Bedeutung von Returns

.in Bedeutung von Returns
.in ASCIIHARDRET
.in ASCIISOFTRET
.in Quelltextformat
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. Die meisten Editoren untersttzen dies (meist: "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

.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-Dateien bzw. INF- oder HLP-Datei fest. Jeder HyperMake-Quelltext mu immer mit einem solchen Titel beginnen, noch vor der ersten Kapitelberschrift.

.IF HTMLDOC
HyperMake erzeugt aus nur einer Quelldatei mehrere HTML-Dateien. Wie der Titel fr jede Datei lauten soll, lt sich in der Ini-Datei unter file title einheitlich festlegen.
.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

.IF WINHELPDOC
Winhelp-Dateien haben standardmig keine Vor/Zurck-Knpfe (Symbole << und >>), um die Seiten der Reihe nach durchzublttern. Diese sind aber sehr sinnvoll. Deshalb ist es zweckmig, grundstzlich mit dem folgenden Punktbefehl diese einzuschalten:

.snB
 .<>
.sn
.END

.2
Kapitel

.in Kapitelberschrift
Die mit HyperMake erzeugten Hypertexte sind grundstzlich in Kapitel gegliedert. Jedes Kapitel beginnt mit einer berschrift. Die Hypertexte verfgen ber ein Inhaltsverzeichnis, das alle Kapitelberschriften auflistet und ber das man zu allen Seiten des Hypertextes gelangen kann.

.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 WINHELPDOC
Jedes Kapitel erhlt bei Winhelp eine eigene Seite.
.END

.IF HTMLDOC
Erzeugt HyperMake HTML-Dateien, dann erhlt man unter dem Dateinamen INDEX.HTML ein Inhaltsverzeichnis. Fr jedes Kapitel beginnt HyperMake in der Regel mit einer neuen HTML-Seite.
.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 berschrifts-Text nach 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.

Es drfen bis zu 6 Gliederungsebenen verwendet werden.

.IF HTMLDOC
.3
Besonderheiten bei HTML

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~

Beachten Sie bitte die Javascript Baumansicht des Inhaltsverzeichnisses seit HyperMake 3.6.
.END

.IF WINHELPDOC
.3
Besonderheiten bei Winhelp

Mit dem Schalter ~heading fonts~ in der Ini-Datei kann man Schrift-Buchstaben fr die berschriften der verschiedenen Gliederungsebenen festlegen. Diese Schrift-Buchstaben mssen in der Ini-Datei unter ~Font~ definiert sein (Font).

Winhelp erlaubt es, die berschrift eines Kapitels zu fixieren ("keep"), so da sie nicht mitgescrollt wird. Dies kann in der Ini-Datei mit ~keep heading~ ein- und ausgeschaltet werden.

.in Dateiformat CNT
CNT-Dateien

Bezglich des Inhaltsverzeichnisses unterscheiden sich die zwei Winhelp-Formate WINHELP3 und WINHELP4: WINHELP3 hat gar kein Inhaltsverzeichnis "eingebaut", es mu also von HyperMake auf der ersten Seite des Hypertextes generiert werden. WINHELP4 bietet die sog. CNT-Dateien an. Das sind Textdateien, die mit der Hilfedatei ausgeliefert werden mssen und dann auf alle Seiten der Hilfedatei verweisen. Sie haben eine ein- und ausklappbare baumartige Darstellung der Kapitelberschriften.

CNT-Dateien knnen unter Windows 3.1 nicht gelesen werden. HyperMake erlaubt Ihnen mit dem Schalter ~contents creation~ in der Ini-Datei unabhngig von der Einstellung WINHELP3/WINHELP4 die Art des Inhaltsverzeichnisses zu whlen. Bei INTERNAL wird in der HLP-Datei am Anfang ein Inhaltsverzeichnis generiert, wobei der Schalter ~contents level~, der auch fr HTML gilt, interpretiert wird. Es kann also ein Inhaltsverzeichnis angelegt werden, das nur z. B. 2 Ebenen tief ist. Es kann auch ein Programmparameter /internal bergeben werden, ohne die Ini-Datei ndern zu mssen.

Das WINHELP4 Format hat eine eigene Inhaltsverzeichnis-Datei mit der Endung CNT (contents), die nicht von Windows 3.1 gelesen werden kann. Mit der Einstellung ~contents creation = BOTH~ legt HyperMake sowohl ein internes Inhaltsverzeichnis als auch die externe CNT-Datei an. Wenn nun ein Winhelp3 Hypertext erzeugt wird, kann dieser unter allen Windows-Versionen mit dem versions-spezifischen Inhaltsverzeichnis betrachtet werden.

CNT-Dateien haben einen schweren Designfehler: Ein Hauptkapitel, das Text enthlt, ist nicht vorgesehen. Das ist aber die Regel: Bevor eine Unterberschrift kommt, ist meist erklrender Text vorhanden. Fr den Text, der eigentlich zum Hauptkapitel gehrt, erzeugt HyperMake eine Zeile mit dem Text "Allgemein", dieser kann in der Ini-Datei, Zeile ~contents general text~ verndert werden.
.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.

.snE
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.

.IF WINHELPDOC
Winhelp verfgt leider nicht ber "Frames". HyperMake setzt diesen Befehl nun anders um, und zwar werden zwei Hilfe-Fenster aufgemacht, allerdings nur bei WINHELP4. Es wird links vom Hauptfenster ("main") noch ein kleineres Steuerfenster angelegt ("navi"). Die Verti/Hori Prozentwerte des .FA Befehls werden nicht interpretiert. Das ganze ist nun so gedacht, da im kleinen "Navi"-Fenster die Querverweise zu Unterkapitel stehen, wobei sich allerdings sinnvollerweise nicht zu langer Flietext im Hauptkapitel empfiehlt. Im groen Hilfefenster erscheint dann das Unterkapitel.
.END

.IF MSHTMLHELPDOC
Fr das Zielformat HTMLHELP werden Fenster automatisch immer nur "hori" angeordnet und nicht "verti". Das HTML-Help Fenster wird nmlich ohnehin schon vertikal unterteilt (links das Inhaltsverzeichnis im Baumansicht und rechts der eigentliche Text), so da eine weitere horizontale Unterteilung ein inakzeptabel schmales Fenster erzeugen wrde.
.END

.snE
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

.snC
 .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 wird nur fr IPF 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 wird nur fr IPF 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
.IF WINHELP4
.3
Verwendung von Schriften
.END

HyperMake erlaubt Ihnen, in der Ini-Datei verschiedene Schriften ("Font") zu definieren. Eine Schrift hat eine bestimmte Gre, evtl. eine bestimmte Farbe, einen bestimmten Schrifttyp (wie "Helvetica") und evtl. noch weitere Eigenschaften. Einige Eigenschaften sind nur auf ein bestimmtes Zielformat bezogen.

Eine solche in der Ini-Datei definierte Schrift wird mit einem Buchstabem abgekrzt, dem sog. Schrift-Buchstaben. Gro- und Kleinschreibung wird unterschieden, somit knnen Sie jedem der 2 x 26 Schrift-Buchstaben in der Ini-Datei verschiedene Schriften, Gren und Farben zuordnen. Der Schrift-Buchstabe steht dann fr alle Eigenschaften der Schrift, die Sie ihm in der Ini-Datei zugeordnet haben. In der Regel werden Sie nicht mehr als 3 oder 4 solcher Schrift-Buchstaben definieren. Auerdem mchte ich Ihnen nahelegen, den Standardwert (nmlich keine Eigenschaften) auch wirklich fr den berwiegenden Teil des normalen Flietextes zu verwenden. weil der Standardwert eine vernnftig lesbare Schrift auf jedem Bildschirm ist. "Bevormunden" SIe also nicht den knftigen Betrachter des Hypertextes, indem Sie ihm eine Schrift vorsetzen, die Ihnen, aber nicht ihm gefllt!

.snE
: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!

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

~.SN~

.snE
: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:

.saC
Das schaut ziemlich ~d~~m~l~i~c~h~ aus.
.saB

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.

.snE
Schrift-Eigenschaften
.sn

Die Schrift-Eigenschaften werden fr jeden Schrift-Buchstaben in der Ini-Datei definiert, und zwar pro Zeile ein Schrift-Buchstabe. Rechts vom Ausdruck

.snB
font X =
.sn

drfen in beliebiger Reihenfolge Eigenschaften, durch Leerzeichen getrennt, aufgelistet werden. Innerhalb der Eigenschaften drfen keine Leerzeichen vorkommen.

Schrifttyp

.IF IPFDOC
Beim OS/2 Hilfetext stehen die Standardschriften von OS/2 zur Verfgung, die nach einer Standard-Installation von OS/2 unter "Schriftartpalette" im Ordner Systemkonfiguration vorhanden sind: Courier Helv Helvetica Roman System_monospaced System_proportional System_VIO Times_New_Roman Tms_Rmn und seit Warp 3 Swiss Warp_Sans. Leerzeichen mssen als Unterstrich _ geschrieben werden.
.END

.IF WINHELPDOC
Fr Winhelp mu bei Schrifttypen immer mit Doppelpunkt die sog. Schriftfamilie davor angegeben werden, also etwa fswiss:Helvetica. Es gibt drei Schriftfamilien:
 fmodern: feste Schritte, d.h. i nimmt den gleichen Platz wie m ein (z. B. Courier)
 froman: Proportionalschrift mit Serifen (z. B. Roman)
 fswiss: Proportionalschrift ohne Serifen (z. B. Helvetica)
.END

.IF HTMLDOC
Fr HTML knnen wahlweise Schriften oder sog. Phrase Elements eingegeben werden. Da HTML unter verschiedenen Betriebssystemen und Browsern gelesen werden knnen soll, mssen Sie bei der direkten Eingabe von Schrifttypen grundstzlich mehrere (mindestens zwei) Schriften angegeben, durch Komma und ohne Leerzeichen getrennt, also z. B. ~Arial,Helv,Helvetica,Univers~. Wenn Sie einen Schrifttyp eingeben wollen, die wie "Tms Rmn" ein Leerzeichen enthlt, mssen Sie statt dem Leerzeichen einen Unterstrich _ eingeben.

Ich persnlich mchte Ihnen raten, von der direkten Eingabe von Schriften keinen 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.

HTML Phrase Elements

.in Phrase Elements
Als plattformbergreifendes Format bietet HTML das Konzept der "Phrase elements" an, das zweckmiger ist als die direkte Angabe von Schriften. Sie geben 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.

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

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

Schriftgre

Von allen Zielformaten werden Schriftgren interpretiert, wobei 10 bis 12 (Point) eine normale Gre darstellt. Es kann vorkommen, da bei bestimmten Zielformaten alle mit solchen Grenangaben ausgestatteten Schriften im Viewer zu gro oder zu klein erscheinen. Sie knnen dann mit dem Programmparameter /bigfont bzw. /smallfont alle diese Schriftgren-Angaben global um 30% vergrern oder verkleinern.

.IF HTMLDOC
Speziell bei HTML werden auch noch relative Grenangaben mit Minus- oder Pluszeichen davor oder eine Null interpretiert, also etwa ~-1 0 +2~ diese Angaben haben auf andere Zielformate keine Wirkung. Stehen in der Ini-Datei sowohl eine relative als auch eine absolute Grenangabe, so wird bei HTML die relative Grenangabe verwendet. Ausnahmsweise spielt hier doch die Reihenfolge eine Rolle: die relative Grenangabe mu vor der absoluten stehen.
.END

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

Zeichensatz

Fr IPF knnen Sie eine dreistellige Zahl als Zeichensatz (Codepage) eingeben, also ~437~ oder ~850~.
.END

Farben

Bei allen Hypertextformaten werden Farben untersttzt. Mittels Gro- und Kleinschreibung werden die Farben fr die verschiedenen Zielformate auseinandergehalten.

.IF HTMLDOC or WINHELPDOC
Bei HTML und Winhelp beginnen Farben mit einem Grobuchstaben und und werden dann weiter klein geschrieben. Die folgenden 16 Farben stehen zur Verfgung, siehe auch Farb-Beispiele:

~Black Silver Gray White Maroon Red Purple Fuchsia Green Lime Olive Yellow Navy Blue Teal Aqua~
.END

.IF IPFDOC
Bei IPF stehen die folgenden Farben zur Auswahl:
~default blue cyan green neutral red yellow black~
Werden die Farben vollstndig klein geschrieben, so wird die Vordergrundfarbe (die Farbe der Buchstaben) angegeben, bei vollstndiger Groschreibung die Hintergrundfarbe. IPF ist das einzige Format, das die Angabe einer Hintergrundfarbe ber die Schrift-Buchstaben erlaubt.
.END


Sonstige Eigenschaften

Mit dem ~center~ Attribut in der Ini-Datei wird eine Schrift immer zentriert ausgegeben. Der Punktbefehl Output Centered lt sich so sparen. Es gibt noch zwei andere Schrift-Einstellungen in der Ini-Datei: ~OmitLinks~ ist beschrieben in Querverweise, Unterdrcken von Querverweisen, ~LineStandard~ in Linienziehen.

.IF HTML
.3
HTML 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
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 OR WINHELP
Farben bei HTML und Winhelp:

.sna
Black
.snb
Silver
.snc
Gray
.snd
White
.sne
Maroon
.snf
Red
.sng
Purple
.snh
Fuchsia
.sni
Green
.snj
Lime
.snk
Olive
.snl
Yellow
.snm
Navy
.snn
Blue
.sno
Teal
.snp
Aqua
.sn

Sehr alte Browser untersttzen noch keine Farben.
.END

.2
Unsortierte und sortierte Listen

.in Auflistung
.iv unsortierte Liste
.iv 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.

.IF IPFDOC or HTMLDOC
Die bei IPF und HTML sichtbaren Auflistungszeichen knnen nicht beeinflut werden, da sie im Viewer bzw. Browser festgelegt sind.
.END

.IF WINHELPDOC
Winhelp verfgt eigentlich nicht ber eine Listen-Funktionalitt, sie wird von HyperMake simuliert. Deshalb knnen Sie nur bei Winhelp das Aussehen von Listen selbst beeinflussen, und zwar auf zweierlei Weise:

 Der Schalter ~List indention~ in der Ini-Datei beeinflut die Gre des linken Randes beim Befehl .LM (linker Rand) und auch die Strke der Einrckung von Listen.

 Mit dem Schalter ~printed listchars~ in der Ini-Datei lt sich fr jede Listen-Einrckungsebene ein anderes Zeichen als vorangestellter "Kndel" aussuchen. Sinnvoll sind etwa ein groes O oder ein kleines o. Sie knnen aber auch ein Sonderzeichen verwenden, das ein Bitmap reprsentiert (Befehl .BT Bitmap text). Gut sieht das Bitmap BLACKDOT.BMP aus dem HyperMake-Ordner BUTTONS\WINBMP aus.
.END

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

.iv ordered list
.iv 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 WINHELPDOC
Wenn der Dateiname ohne Erweiterung geschrieben wird, wird bei Winhelp automatisch ".BMP" angehngt.
.END

.IF IPFDOC and WINHELPDOC
Beachten Sie bitte, da IPF OS/2-Bitmaps und Winhelp Windows-Bitmaps verlangen. Diese sind zueinander nicht kompatibel. Verwenden Sie deshalb am besten fr beide Formate unterschiedliche graphic path Verzeichnisse.
.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

.IF HTMLDOC
Bei HTML fhrt CENTER zu einem linksbndigen Bild, das nicht von Text umflossen wird.
.END

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.

(Neu ab HyperMake 3.65) Wenn sich die Grafikdateien nicht im angemeldeten Verzeichnis befinden sollen, knnen Sie mit

.snB
 .BD Verzeichnis/
.sn

:bitmap directory: eine Zeichenfolge eingeben, die allen Dateinamen bei den folgenden ~.BM~ und ~.BT~ Befehlen vorangestellt wird. Hierbei drfen Sie den Backslash ~\~ bzw. Slash ~/~ nicht vergessen. Dieser Befehl hat keine Auswirkung auf die Navigations-Knpfe von HTML-Seiten. Das automatische Kopieren von Grafikdateien wird bei Verwendung von ~.BD~ deaktiviert.

.fa hori 35
.2
Querverweise und Index

.in Querverweis
.in Index
.in Jump
.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, RTF- 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
.snE
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.

.snE
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.)

.in Doppelpunkt-Klammer
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:

.snD
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 

.snD
Computern
    Benutzerfreundlichkeit von
.sn

schreibt HyperMake im Index

.snD
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

.snE
: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.

.snE
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~.

(Neu ab HyperMake 3.65) Mit dem Punktbefehl

.snB
 .IU
.sn

.sw Groschreibung ignorieren
(ignore uppercase) zu Beginn des HyperMake Quelltextes wird zwischen Gro- und Kleinschreibung grundstzlich gar nicht unterschieden.

.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 or WINHELPDOC
.3
Externe Querverweise bei IPF/Winhelp4 (external links)

:Externe Querverweise: sind Querverweise, die zu einem Kapitel eines anderen INF- oder HLP-Dokuments hin oder ins WWW zeigen. Externe Querverweise zu anderen Hilfedateien knnen Sie nur nutzen, wenn Sie die "fremde" Hilfedatei ebenfalls selbst erstellen oder die ID's der Seiten kennen.
.END

.IF WINHELPDOC
Externe Querverweise funktionieren grundstzlich nicht bei Winhelp3.
.END

.IF IPFDOC and WINHELPDOC
Whrend bei Winhelp keine Panel ID Dateien bentigt werden, holt sich HyperMake bei IPF die Daten zum Sprungziel aus der Panel ID Datei der fremden Hilfedatei. Die restlichen Schritte sind bei beiden Zielformaten wiederum identisch.
.END

.IF IPFDOC or WINHELPDOC
Um solche externen Querverweise (external links) zu erzeugen, sind
.END
.IF IPFDOC
 die Ini-Datei
.END
.IF IPFDOC or WINHELPDOC
 die Datei, zu deren Kapitel hin gesprungen werden soll (Sprungziel-Datei)
 die Datei, aus der heraus gesprungen werden soll (Sprungstart-Datei)
zu editieren.
.END

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

.snE
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.

.END
.IF IPFDOC or WINHELPDOC
.snE
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.

.END
.IF IPFDOC
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 bei IPF dann zu, wenn die Sprungstart-Datei kompiliert wird.
.END
.IF IPFDOC or WINHELPDOC

.snE
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.hlp
 .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 bzw. Dateiname.hlp, 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!

.END
.IF IPFDOC
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.hlp
.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.

.END
.IF IPFDOC or WINHELPDOC
Als Beispiel fr externe Querverweise knnen Sie Beispiel Externe Querverweise ausprobieren oder gleich hier auf die Worte Kanzler, SPD und CDU drcken (nur wenn dieses Dokument eine Win95- oder OS/2-Hilfedatei ist). Beim Erstellen dieses Hypertextes (also der Sprungstart-Datei) habe ich an einer beliebigen Stelle den folgenden Befehlsblock geschrieben:

.snB
 .EX beispiel.hlp
 .ID Kapitel_Kanzler
 .IN Kanzler
 .ID Kapitel_Parteien
 .IN SPD
 .IN CDU
 .EX
.sn

.END
.IF IPF
.EX beispiel.inf
.ELSE
.EX beispiel.hlp
.END
.IF IPFDOC or WINHELPDOC
.ID Kapitel_Kanzler
.IN Kanzler
.ID Kapitel_Parteien
.IN SPD
.IN CDU
.END
.IF OS2
.EX E.EXE BEISPIEL.TXT
.ELSE
.EX NOTEPAD.EXE BEISPIEL.TXT
.END
.IF IPFDOC or WINHELPDOC
.IN Datei BEISPIEL
.END
.EX
.IF IPFDOC or WINHELPDOC

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

.3
Externe Querverweise ins WWW (external links)

Diese Funktion steht auer Winhelp3 fr alle Zielplattformen zur Verfgung. Aus Hilfedateien heraus wird dann der Browser gestartet.

.IF IPFDOC
Bei OS/2-Hilfedateien wird davon ausgegangen, da der Browser NETSCAPE.EXE heit und in einem Verzeichnis steht, das unter PATH in der Datei CONFIG.SYS steht.
.END
.IF WINHELPDOC
Bei Win95/NT wird von der Hilfedatei aus der Browser gestartet, der die Standardverknpfung mit HTML-Dateien hat.

Externe mailto: Querverweise, also das Starten des Browser E-Mail-Programms, wird weder bei Winhelp3 noch bei Winhelp4 untersttzt.
.END

:Manuelle externe Querverweise;

Wenn HyperMake einen Ausdruck findet, der mit einem Transferprotokoll-Bezeichner gefolgt von einem Doppelpunkt beginnt wie ftp://ftp.leo.org, so wird der Ausdruck automatisch zu einem Link. Fr das Ende der URL-Adresse interpretiert HyperMake die folgenden Zeichen: LEER oder RETURN oder , oder ) oder ;. Diese Funktionalitt ist stndig eingeschaltet, Sie knnen es aber mit Hilfe einer Schrift, bei der ~OmitLinks~ aktiviert ist, unterdrcken.

.in Protokoll-Bezeichner
Transferprotokoll-Bezeichner sind:
.snO
http://
ftp://
gopher://
wais://
news://
file://
javascript:
mailto:
.sn

:Automatische externe Querverweise;

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.

.iv Markierung von externen Querverweisen
Externe Querverweise als solche markieren

Mit dem Schalter ~URL graphics file~ in der Ini-Datei wird HyperMake angewiesen, eine bestimmte Grafik direkt vor jeden externen Link zu setzen. So kann der Leser des Textes sehen, bei welchen Links er online sein mu (bzw. ein Browser erst gestartet wird) und bei welchen nicht. Wenn Sie einen HTML-Text fr das WWW erstellen, sollten Sie mit NO diese graphische Markierung unterdrcken; schlielich sind hier externe Links der Normalfall.

In der HyperMake Button-Bibliothek (Verzeichnis BUTTONS) finden Sie die GIF- bzw. BMP-Dateien WORLD und WORLD2, die speziell hierfr bestimmt sind.

.IF IPFDOC OR WINHELPDOC
.3
Programme per Querverweis starten (launching programs)

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

Diese Funktionalitt steht bei Winhelp4 und IPF, nicht aber bei Winhelp3 oder HTML zur Verfgung.

.snB
 .EX NOTEPAD.EXE BEISPIEL.TXT
 .IN Datei BEISPIEL bei Windows
 .EX E.EXE BEISPIEL.TXT
 .IN Datei BEISPIEL bei OS/2
 .EX
.sn

.EX NOTEPAD.EXE BEISPIEL.TXT
.IN Datei BEISPIEL bei Windows
.EX E.EXE BEISPIEL.TXT
.IN Datei BEISPIEL bei OS/2
.EX

Hier sehen Sie den Querverweis zur Datei BEISPIEL bei Windows bzw. Datei BEISPIEL bei OS/2, bei dem der Systemeditor gestartet wird.

Drckt der Benutzer auf "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 Batch-Dateien mit der Endung ~.CMD~ oder DOS-Dateien mit der Endung ~.BAT~ oder ~.COM~ gestartet 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.

Winhelp3 hat Probleme beim Aufrufen eines Programmes mit Programmparameter, hier BEISPIEL.TXT. Es verwendet als angemeldetes Verzeichnis das Verzeichnis, in dem sich das Programm befindet, statt sich an dem Verzeichnis zu orientieren, in dem sich die Hilfedatei befindet - Winhelp4 und IPF haben hier keine Probleme. Verwenden Sie in diesem Fall Umgebungsvariablen.

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.

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

.4
Umgebungsvariablen

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

Beim Verwenden einer Hilfedatei 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 (OS/2), AUTOEXEC.BAT (DOS, Win95) bzw. in der Registry (NT) 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

Das Betriebssystem ersetzt dann den Ausdruck %MMVIDEO% gegen den bei SET 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 zumindest bei OS/2 die Umgebungsvariable nicht mehr und der Querverweis wird nicht gezogen.
.END IPFDOC and WINHELPDOC

.2
Duplizierung von Kapitelberschriften

.in Duplizierung von Kapitelberschriften

Wie und ob Kapitelberschriften angezeigt werden, ist bei den verschiedenen Zielformaten sehr unterschiedlich: Die IBM Hilfe zeigt die Kapitelberschrift in der Titelleiste, aber standardmig nicht im Textbereich an, whrend bei HTML die berschrift im Textbereich steht. Winhelp schreibt die berschrift standardmig weder in die Titelleiste noch in den Textbereich - hier mu HyperMake also auf alle Flle "eingreifen".

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
.IF WINHELPDOC
Bei Winhelp ist die Duplizierung von Kapitelberschriften immer aktiviert, sonst wrde nmlich die Kapitelberschrift gar nicht erscheinen - sie wrde sonst nur bei "Suchergebnis" auftauchen. Mit dem Schalter ~heading fonts~ in der Ini-Datei kann man Schrift-Buchstaben fr die berschriften der verschiedenen Kapitelebenen festlegen. Diese Schrift-Buchstaben mssen natrlich in der Ini-Datei unter ~Font~ auch wirklich definiert sein (Font). Zustzlich kann mit dem Schalter ~keep heading~ verhindert werden, da die berschriften mitgescrollt werden.
.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

.snC
 .fa verti 40
 .dp4E#,
 .3
Beispiel Duplizierung Kapitelberschriften - Ergebnis

Bundeskanzler seit 1949

(CDU, SPD und Kanzler sind externe Querverweise. Schrift E 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 40
.3
Beispiel Duplizierung Kapitelberschriften - Ergebnis

.in Beispiel Duplizierung von Kapitelberschriften
.in Beispiel Externe Querverweise
.dp4E#,
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

.IF WINHELPDOC
Bei RTF werden fr Tabellen keine Linien gezogen. Das " Zeichen macht hier nicht viel Sinn. Das + Zeichen wird zwar untersttzt, schaut aber nicht gut aus.
.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.

.IF WINHELPDOC OR IPFDOC
Winhelp und IPF kennen keinen Table-Titel. Wenn Sie diese Formate auch abdecken mchten, sollten Sie besser den Titel auerhalb der Tabelle schreiben und dann ~.TA NO~ fr den Beginn der Tabelle verwenden.
.END

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.

.IF HTMLDOC
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.

Seit HyperMake 3.6 gibt es nun noch einige zustzliche Befehle fr HTML Tables. Es lt sich nach einem ~.TA~ Befehl noch der Befehl ~.TP~ Table position einfgen:

.snB
 .TA Dies ist eine Tabelle
 .TP links
.sn

Es gibt die Wahlmglichkeiten ~links~ ~rechts~ und ~zentriert~. HyperMake versucht dann nicht mehr zu "erraten", wie der Text in jeder Zelle ausgerichtet werden soll. Standardmig werden nmlich beim Zielformat HTML Zellen, die berwiegend Ziffern enthalten, rechtsbndig geschrieben und Zellen, die berwiegend Buchstaben enthalten, linksbndig; Zellen, die ber zwei oder mehr Zellen-Spalten sich erstrecken, erhalten zentrierten Text.

Es gibt noch einen weiteren Befehl ~.TE~ (Table empty), der ebenfalls nach dem ersten ~.TA~ Befehl geschrieben wird.

.TA Beispiel mit ".TE" Befehl
.TE
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

Vergleichen Sie die letzte Spalte mit der der vorigen Tabelle. Ist ~.TE~ aktiviert, so erstrecken sich keine Zellen mehr ber die Hhe von zwei oder mehr benachbarten Zellen. Es heit deshalb "empty" (leer), weil Sie stattdessen eine leere Zelle erhalten bzw. nur mit dieser Einstellung Tabellen schreiben knnen, in denen viele Zellen ganz leer sein drfen.

Ich empfehle Ihnen einfach, den ~.TE~ Befehl zu verwenden, falls HyperMake Ihre Tabelle "vermurkst" hat.

Sowhl die Einstellung von ~.TP~ als auch von ~.TE~ gilt fr eine Tabelle, fr die darauffolgende gelten dann wieder die Standardwerte.

Noch ein kleiner Tip. Wenn Sie folgende Darstellung haben:

.snB
maximale Durchschnitts-
geschwindigkeit in km/h    180        240
.sn

dann sollten Sie die Zahlen eine Zeile hher rcken, also an das obere Ende der Zelle, die ber zwei Zeilen geht. Andernfalls wrden Sie zwei eigenstndige Zell-Zeilen erhalten.
.END

.IF HTMLDOC
Mit dem bei Hmake 3.65 neuen ~.TW~ :Table word wrap: (Tabellen Wortumbruch, nur HTML) Punktbefehl fllt eine Tabelle immer das gesamte Browserfenster aus und die festen Zeilenvorschbe innerhalb einer Zelle verschwinden, so da Sie eine neue Formatierung innerhalb der Zelle erhalten. Wie bei ~.TE~ mu ~.TW~ fr jede Tabelle am Anfang nach ~.TA~ geschrieben werden.
.END

.2
Linienziehen

Linienziehen wird vor allem von IPF gut umgesetzt. Bei HTML und Winhelp mangelt es dem dort blichen Ansi-Zeichensatz an den Linien-Grafikzeichen, so da hier das Ergebnis nicht besonders gut aussieht.

.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

Die Hilfeformate IPF, Winhelp und HTMLHELP kennen Funoten als Popup-Fenster. Bei HTML realisiert HyperMake die Funoten-Funktionalitt ber Frames.

.in Funote
.in Popups
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 oder ein Grafikzeichen[Inhalt der Funote], auf das Sie mit der Maus drcken knnen.

.fu{}
Andere brauchbare Funotenzeichen sind [ ], < > oder  (Alt-220)  (Alt-223) - sozusagen fette Gnsefchen (nur bei IBM Zeichensatz).
.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
Beim Erzeugen von HTML knnen Sie mit dem Schalter ~footnotes~ in der Ini-Datei die Art der Funoten beeinfluen. Es gibt drei Wahlmglichkeiten: ~frames~, ~noframes~ und ~activex~. activex erzeugt Popup-Funotenfenster, was bei der Erstellung von HTML-Help sinnvoll ist. Mit der Schalterstellung activex erzeugte HTML-Funoten knnen nur mit Microsoft-Browsern angesehen werden, verwenden Sie solche Seiten also nicht zur Verffentlichung im Web!

Wenn Sie bei HTML Funoten nicht als Frames dargestellt haben mchten, sondern als separate Datei, knnen Sie dies auch mit dem Programmparameter ~/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 WINHELPDOC
Der Schalter ~List indention~ in der Ini-Datei beeinflut speziell bei Winhelp die Gre des linken Randes beim Befehl .LM (linker Rand) und auch die Strke der Einrckung von Listen.
.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 in der Ini-Datei ~center~ schreiben, die eigenen Punktbefehle knnen Sie dann sparen.

.3
Automatischer Rand (auto margin)

.in definition list
.iv 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, RTF- bzw. HTML-Dateien aus dem selben Quelltext erstellen. Der Quelltext der HyperMake Dokumentation etwa ist voller solcher If-Bedingungen, dafr gibt es fr alle HyperMake-Versionen den selben Quelltext. Das vereinfacht die Pflege der Dokumentation sehr.

Fr die If-Bedingungen gibt es drei Punktbefehle:

.snB
 .IF BEDINGUNG
 .ELSE
 .END
.sn

IF bedeutet "wenn", ELSE bedeutet "andernfalls". Mit END endet die If-Bedingung. Die Gro- oder Kleinschreibung der Bedingungen ist dabei egal. Der ELSE-Befehl ist natrlich optional.

Es wird also der Text zwischen den IF, ELSE und END Befehlen nur im Zielformat erscheinen, wenn die Bedingung gesetzt wurde.

HyperMake untersttzt zumindest eingeschrnkt logische Verknpfungen folgender Art:

.snB
 .IF NOT BED
 .IF BED1 AND BED2
 .IF BED1 OR BED2
.sn

AND bedeutet "und zugleich", or bedeutet "oder". Aufwendigere Verschachtelungen und Klammersetzung wird nicht untersttzt.

Die Bedingungen werden in der HMP-Datei unter ~conditions~ eingegeben.

Zum Kompilieren des Quelltextes ber die Kommandozeile wird 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.

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

Abhngig von der Wahl des Zielformats werden die Bedingungen HTML IPF WINHELP WINHELP3 WINHELP4 HTML HTMLHELP von HyperMake automatisch gesetzt. WINHELP ist dabei der berbegriff von WINHELP3 und WINHELP4. Wenn das Zielformat HTMLHELP gewhlt wurde, ist automatisch auch HTML gesetzt.

Die drei verschiedenen HyperMake-Versionen fr OS/2, Win95/NT und DOS/Win3.1 setzen selbst die Bedingungen OS2, WIN95 und DOS.

.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 Programmparameter aktiviert.

.in HTML Info-Datei
Bei den Zielformaten HTML und HTMLHELP wird eine HTML Info-Datei angelegt, mit ntzlichen Informationen zum konkreten Projekt (Textlnge, Anzahl der Links, Fehlermeldungen...). Diese Datei heit so wie der Projektname und befindet sich im angemeldeten Verzeichnis, in der Regel also eine Ebene unter dem Ausgabepfad mit den erzeugten HTML-Dateien. Sie kann auch als bequemer Einstieg in das Dokument dienen.

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.

Die CONTENT und INDEX Knpfe erscheinen bei HTML-Help grundstzlich nicht, da diese Funktionalitt ohnehin schon vom HTML-Help Betrachter bernommen wird.

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 = TEXT~ die graphischen Buttons ganz ausschalten und erhalten dann von vornherein nur den Text als Querverweis statt dem Navigations-Button.

Mit der Einstellung ~buttons = JAVASCRIPT~ werden mit Hilfe der Javascript Programmiersprache Knpfe erzeugt. Dieses Programm ist Bestandteil der HTML-Seite, so da die Knpfe schneller geladen werden als separate GIF-Dateien. Java-Knpfe haben aber den Nachteil, da sehr alte Browser ohne Java-Untersttztung (vor Netscape 2) diese Knpfe nicht anzeigen knnen und abhngig von der Lnge des Text-Ausdrucks die Breite der Knpfe unterschiedlich ist.

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.

.fa hori 40
.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.

.3
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 Textaktualisierung smtliche Dateien erneut hochgeladen werden mssen.

.3
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 zwangslufig 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.

Vor allem beim Verffentlichen im Web ist es sinnvoll, HyperMake das Kopieren von Grafikdateien zu berlassen, da HyperMake dann die volle Kontrolle ber die richtige Gro- und Kleinschreibung der Dateinamen von GIF-Dateien hat.

HyperMake erzeugt zahlreiche Warnungen, wenn bei ~filename appearance~ die Dateiendung auf drei Zeichen eingestellt wurde, es sich aber zum Teil um Dateinamen handelt, die mehr als 8 Buchstaben haben. Mit dem Schalter ~filenames = long~ in der Ini-Datei knnen diese Warnungen unterdrckt werden.

Der Schalter ~pre filename =~ in der Ini-Datei stellt Ihnen einen Mechanismus bereit, mehrere HyperMake Projekte in nur einem Verzeichnis zu verffentlichen.

.3
Interne Numerierung von berschriften und Dateien beeinflussen

.sv interne Numerierung
(neu in HyperMake 3.65) Wenn Sie ein HyperMake Dokument im WWW ergnzen, ergibt sich ein Problem mit der internen Numerierung von berschriften und Dateien, das mit zwei neuen Punktbefehlen umgangen werden kann.

HyperMake numeriert die berschriften des gesamten Dokumentes einfach durch: #hd1, #hd2, #hd3. Genauso wird mit den Dateien verfahren: N000.HTML, N001.HTML usw. Wenn nun in den schon im WWW verffentlichten Text neue Gliederungspunkte eingeschoben werden, ndern sich die folgenden Nummern von berschriften und ggfs. sogar von Dateien. Das hat zur Folge, da das gesamte Dokument erneut auf den Server geladen werden mu. Aber auch Links von auerhalb des Dokuments auf Ihr HyperMake-Dokument greifen nun auf einmal auf die falsche Seite, da alle Dateinamen-Nummern hinter dem Einschub um eins oder mehr verschoben sind.

Um dies zu verhindern, knnen Sie sowohl die interne Numerierung von berschriften als auch die der Dateien an von Ihnen festgelegten Stellen im Text auf einen festen, hheren Wert setzen. Sptere Einschbe von neuen Kapiteln unmittelbar davor haben so keine Auswirkung mehr auf die nachfolgende Numerierung. Allerdings mu dieser Wert hoch genug gesetzt werden, damit alle knftigen Kapitel davor Platz finden. In der HTML Info-Datei kommentiert HyperMake unter der berschrift "Numerierung" die von Ihnen gewhlten Zahlenwerte und warnt Sie, wenn der von Ihnen geschaffene Freiraum "verbraucht" ist.

Mit dem Punktbefehl ~.NR~ knnen Sie die Datei-Nummer und mit ~.HD~ die berschrifts-Nummer auf einen hheren Wert setzen.

.snB
 .NR 10
 .HD 100
 .1
 berschrift mit fixer interner Nummer
.sn

Wenn mehrere Kapitel sich in einer Datei befinden, mu der Zahlenwert bei ~.HD~  grer als der Zahlenwert bei ~.NR~ sein (siehe INI-Datei, HTML-Einstellung new file level). Andernfalls reicht es aus, ~.NR~ zu verwenden.

.2
Titel und Meta-Anweisungen

.in Meta-Anweisungen
.in Titelzeile
.in file title
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.6 - 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

Die Zeichen " und ' werden nicht umgesetzt.

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.

Informationen fr Suchmaschinen

Informationen fr Suchmaschinen (etwa Hotbot oder Yahoo) im WWW sollten in keiner verffentlichten HTML-Datei fehlen. Browser zeigen diesen Text nicht an.

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="...">
.sn

Auerdem werden grundstzlich alle Stichwrter aufgefhrt, die im HyperMake-Quelltext auf dieser Seite markiert sind.

.snB
<META HTTP-Request "keyword" CONTENT="Stichwort1, Stichwort2">
.sn

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.6">
<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.

.2
Statuszeilen-Text

.snB
statusbar mouseover = zum Kapitel: HEADING (Datei FILENAME)
statusbar default = DOCTITLE - Besuchen Sie bitte regelmig die Homepage!
.sn

Der Statuszeilen-Text ist der Text, der im Textfenster am unteren Rand des HTML-Browsers erscheint. Befindet sich der Mauszeiger ber einem internen Link, so kann mit dem Schalter ~statusbar mouseover~ bestimmt werden, welcher Text erscheinen soll. Statt HEADING wird die berschrift des Kapitels geschrieben, das das Querverweis-Ziel ist. FILENAME ist der Dateiname des Querverweis-Zieles. Unter ~statusbar default~ wird der Text definiert, der erscheinen soll, wenn der Mauszeiger gerade nicht ber einem Link steht.

Beachten Sie bitte, da die Verwendung von ~statusbar mouseover~ bei vielen internen Querverweisen die Lnge der HTML-Dateien sprbar vergrern kann, da nmlich bei jedem Link nicht nur der "mouseover" Text, sondern zustzlich auch der "default" Text enthalten sein mu, der dann aktiviert wird, wenn der Mauszeiger den Link verlt. Beim Verffentlichen im WWW mu deshalb der Vorteil der besseren Information mit dem Nachteil der lngeren Downloadzeit abgewogen werden.

Die ~statusbar default~ Einstellung ist nicht so problematisch, da sie pro HTML-Datei nur einmal vorkommt, solange ~statusbar mouseover~ mit ~NO~ deaktiviert ist. Bei diesem Schalter ist die Verwendung von FILENAME recht ntzlich, wenn Sie viele Frames verwenden. So kann sich der Leser darber informieren, welche Dateien in den Kindfenstern angezeigt werden. Im URL-Eingabefeld des Browsers wird nmlich immer nur die Frames-Datei angezeigt, die gar keinen Text, sondern nur die Verzweigungsinformationen zu den Kindfenstern enthlt. 

Die Zeichen " und ' werden nicht umgesetzt.

.2
Javascript Baumansicht des Inhaltsverzeichnisses

.in Javascript Baumansicht
.in Javascript
Seit HyperMake 3.6 knnen Sie mit dem Schalter ~contents tree~ in der Ini-Datei whlen, ob die standardmige Darstellung des Inhaltsverzeichnisses als auf- und zuklappbare Baumstruktur oder als immer aufgeklappte unsortierte Liste erscheinen soll. Gleichzeitig legen Sie hierbei den Wortlaut von Erklrungstexten fest, die bei der auf- und zuklappbaren Baumstruktur erscheinen soll. Hinter dem Auf- und Zuklapp-Mechanismus steckt ein Javascript-Programm. Wird die auf- und zuklappbare Baumstruktur gewhlt, so wird trotzdem ein Inhaltsverzeichnis in konventioneller Form angelegt. Auf nicht Javascript-fhigen Browsern erscheint das Inhaltsverzeichnis nicht und der Benutzer kann sich mit einem Link zur normalen Darstellung hinberretten.

Was ist Javascript?

Javascript ist eine einfache Programmiersprache, deren Quelltext direkt in HTML-Texte eingebunden werden kann und die von den meisten Browsern beherrscht wird. Es gibt derzeit die Versionen 1.0, 1.1 und 1.2. Netscape Navigator 2 kann Javascript 1.0 verarbeiten, Version 3 1.1 und Version 4 1.2. Die Microsoft-Browser Internet Explorer 3 verarbeiten Javascript 1.1 und 4 ebenfalls wie Netscape 4 1.2.

Welche Browser untersttzen die HyperMake Javascript Baumansicht?

Der von HyperMake generierte Javascript Code ist (mit viel Mhe) so geschrieben, da er von allen Javascript untersttzenden Browsern korrekt ausgefhrt wird. Konkret ausgetestet ist Netscape Navigator 2.02, 3 und 4 sowie Microsoft Internet Explorer 3 und 4.

Verwendete Grafik-Dateien

In der Button-Bibliothek im Verzeichnis BUTTONS\ICON befinden sich drei Dateien namens TREECLOS.GIF, TREEOPEN.GIF und TREENO.GIF. Drckt der Benutzer auf die ersten beiden Grafiken, so wird der Baum in einer weiteren Ebene geffnet bzw. geschlossen. Die Datei TREENO.GIF hat keine derartige Funktion und zeigt nur an, da das entsprechende Kapitel ber keine weiteren Unterkapitel verfgt.

Die Namen dieser Dateien stehen fest. Wollen Sie andere Grafiken verwenden, nennen Sie sie einfach entsprechend der genannten Dateinamen. Beachten Sie bei der Namensgebung folgendes: TREECLOS.GIF stellt ein geschlossenes Buch oder hnliches dar, die damit verknpfte Aktion ist aber das ffnen des Baumes; TREEOPEN.GIF ist das Symbol fr "geffnet", ist aber mit der Aktion "Schlieen" verknpft.

Besonderheit ab Netscape / Internet Explorer 4

Mit Javascript 1.2 wurden neue Funktionen eingefhrt, die es erlauben, im Javascript-Programm die Position der Scrollbar (Schiebeleiste) zu verndern. Das von HyperMake erzeugte Javascript-Programm nutzt diese Funktionalitt, um die alte Position des vertikalen Scrollbars nach einem Auf- oder Zuklappen wieder zu restaurieren. Browser vor Netscape 4 / Mircosoft IE 4 verlieren leider die aktuelle Position des Scrollbars, was fr den Benutzer bei langen Inhaltsverzeichnissen recht lstig ist.

Dateinamen

Wie schon beim normalen Inhaltsverzeichnis heit die Datei INDEX.HTML. Diese Datei stellt den Rahmen fr die zwei Kindfenster dar und enthlt das Javascript-Programm. Das obere kleine Fenster besteht aus der Datei INDXI.HTML (I fr Info-Fenster), whrend das normale (Ersatz-) Inhaltsverzeichnis INDEXA.HTML heit (A fr alt). Bevor das Javascript-Programm startet und den Baum erzeugt, wird in das groe untere Fenster die Datei EMPTY.HTML geladen. Deshalb mu zum Verffentlichen im Web die Datei EMPTY.HTML vorhanden sein!

Zwei Browser-Fenster

Es kann bei greren Dokumenten hilfreich sein, wenn der Benutzer zwei Browser ffnen kann - einen fr das Inhaltsverzeichnis und einen fr den Text. Das lt sich realisieren, indem fr die Einstellung der Ini-Datei ~default frame~ und fr ~content frame~ unterschiedliche Bezeichner gewhlt werden, etwa "haupt" und "inh".
.END

.1
Kopieren von Grafikdateien

.iv Kopieren von Grafikdateien
Fast jeder Hypertext hat Grafik-Dateien; HTML-Texte bentigen meist Grafik-Dateien fr graphische Buttons. Diese liegen hufig auf der Festplatte verstreut, mssen sich aber im Zielverzeichnis befinden, bevor der HTML-Text mit dem Browser betrachtet werden oder ein zweiter Compiler die Arbeit aufnehmen kann. 

Entweder in der HMP-Datei oder Ini-Datei knnen Sie den folgenden Schalter setzen: 

.snB
graphic path = D:\HMAKE\Testgrafiken;D:\HMAKE\Worldgrafiken;D:\HMAKE\Buttons;
.sn

Hier knnen Sie einstellen, in welchen Verzeichnissen sich die Grafikdateien befinden. Findet HyperMake im Zielverzeichnis nicht eine bentigte Grafik, so wird die "graphic path" Liste durchgegangen. Wird die Grafik gefunden, so wird sie gleich kopiert, wobei die Kopie den richtigen Namen bezglich Gro- und Kleinschreibung erhlt (siehe Schalter ~filename appearance~). Anderenfalls wird eine Warnung ausgegeben, da die Grafik nicht gefunden werden konnte.

Diese Funktion erspart Ihnen lstige Fehlermeldungen von fehlenden Grafikdateien im OS/2- bzw. Windows-Hilfecompiler und stellt bei HTML sicher, da auch wirklich alle bentigen Grafiken vorhanden sind.

HTML-Grafiken werden so eingebunden, da wenn im Browser "auto load images" auf off gestellt ist, statt der Grafik der Dateiname der Grafik mit Angabe zur Dateilnge erscheint - allerdings nur beim Punktbefehl .BM, nicht bei .BT oder bei Navigationsbuttons, denn in der Regel ist die Gre der mit .BT eingebundenen Grafiken bzw. der Navigationsbuttons ohnehin nicht der Rede wert.

HyperMake kopiert eine Grafikdatei aber nur, wenn sie sich noch nicht im Zielverzeichnis befindet. Wenn Sie nachtrglich eine Grafikdatei gendert haben, mssen Sie sie von Hand kopieren oder die alte Version, die sich im Zielverzeichnis befindet, lschen.

.IF IPFDOC AND WINHELPDOC
Beachten Sie bitte, da die Winhelp- und OS/2-Hilfe-Compiler zwar beide BMP-Dateien als Grafik verarbeiten, die beiden BMP-Formate aber unterschiedlich sind. Deshalb gibt es auch im Verzeichnis BUTTONS ein WINBMP und ein OS2BMP Verzeichnis, die zwar die gleichen Grafiken, nicht aber die gleichen Dateien enthalten. Wenn Sie nun beide Hilfeformate erzeugen wollen, mssen Sie, bevor Sie das andere Format compilieren, erst einmal die "falschen" BMP-Dateien aus dem Zielverzeichnis lschen, damit HyperMake wieder erneut die richtigen BMP-Dateien kopiert.
.END

.IF OS2EXEDOC OR WINEXEDOC
.1
Kontext-sensitive Programmhilfe

.iv kontext-sensitive Programmhilfe
.in Panel ID
Programme fr die graphische Oberflche haben meist eine eingebaute sog. :kontext-sensitive Hilfe;. Drckt der Benutzer auf F1 oder auf eine "Hilfe" Taste, so gelangt er automatisch auf die Seite des Hilfetextes, die der Programmierer vorgesehen hat. HyperMake stellt hier Funktionen zur Verfgung, diese Arbeit zu automatisieren.

Wenn Sie nur eigenstndige Hypertexte erstellen wollen und keine Programme schreiben, bentigen Sie diese Funktionalitt nicht.
.END

.IF OS2EXEDOC
.2
Programmhilfe bei OS/2

.in Helptable
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 separate Hilfe-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).

.3
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:

.snC
 .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

.3
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

.4
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

.3
Einbindung in den Pascal Programm-Quelltext

In der Ini-Datei knnen Sie unter ~languages~ whlen, ob HyperMake C- oder Pascal-Quelltext erzeugen soll.

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.

.4
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

.END OS2EXEDOC

.IF WINEXEDOC
.2
Programmhilfe bei Windows

Um kontext-sensitive Programmhilfe zu erstellen, mu eine Verbindung zwischen dem EXE-Programm und dem Hypertext hergestellt werden. Das geschieht folgendermaen:


Vergabe von ID's im HyperMake-Quelltext

Im HyperMake-Quelltext knnen Sie einzelnen Kapiteln ID's bergeben. Das sind Bezeichner von Konstanten.

.snB
 .1
 Mein Kapitel

 .ID ID_MEIN_KAPITEL
 Dies ist mein Kapitel.
.sn

HyperMake erzeugt dann eine Datei PANELID.H, oder ggfs. mit einem Namen, der in der Ini-Datei unter ~Panel ID filename~ festgelegt ist, die den Konstanten Zahlenwerte zuordnet.

In der Ini-Datei knnen Sie unter ~languages~ whlen, ob HyperMake C- oder Pascal-Quelltext erzeugen soll.

Einbindung in C-Programme

Die erzeugte Panel ID-Datei sieht etwa so aus:

.snB
/*****Help Panel ID's created by HyperMake*****/

#define ID_MEIN_KAPITEL 27
.sn

Diese Datei wird in den Programm-Quelltext eingebunden:

~#include "panelid.h"~

Einbindung in Pascal-Programme

Die Panel ID Datei sieht entsprechend der Pascal-Syntax etwas anders aus:

.snB
{     Panel ID's created by HyperMake    }

const
  ID_MEIN_KAPITEL = 27;
.sn

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

~{$I PANELID.PAS}~

Zugriff vom Programm-Quelltext auf die Hilfedatei

ber den Funktionsaufruf

~WinHelp (hwnd, "MEINPROG.HLP", HELP_CONTEXT, ID_MEIN_KAPITEL);~

wird von der EXE-Datei auf den Hypertext zugegriffen.

Windows kennt noch die folgenden Aufrufe:

~WinHelp (hwnd, "MEINPROG.HLP", HELP_FINDER, 0);~
ruft das Fenster mit den Seiten Inhalt, Index, Suchen auf (direkt kann man auf diese Seiten nicht zugreifen)

~WinHelp (hwnd, "MEINPROG.HLP", HELP_HELPONHELP, 0);~
ruft die Funktion "Hilfe fr Hilfe" auf.
.END WINEXEDOC

.IF WINEXEDOC AND MSHTMLHELPDOC
Hilfefunktion bei kontext-sensitivem HTML-Help

Im Prinzip wird genauso vorgegangen wie bei Winhelp. HyperMake ordnet den Konstanten allerdings keine Zahlenwerte zu, sondern Strings, die einen mit URLs vergleichbaren Inhalt haben. Diese Konstanten werden dann der neuen HTML-Help Hilfefunktion bergeben.

Um HTML-Help in einem Windows-Programm zu verwenden, werden die Libraries HHCTRL.LIB oder HTMLHELP.LIB eingebunden. Die neue Help-Funktion ist sehr hnlich zum WinHelp-Aufruf:

~HtmlHelp (hwnd, "MEINPROG.HLP", HH_HELP_CONTEXT, ID_MEIN_KAPITEL);~

.END WINEXEDOC AND MSHTMLHELPDOC

.IF OS2EXEDOC OR WINEXEDOC
.2
Mehrere verschiedensprachige Hypertexte

Falls Sie mehrere verschiedensprachige Hilfedateien und nur eine EXE-Datei erstellen, reicht es aus, wenn Sie die ID- (und bei OS/2 auch die 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.
.END

.FA verti 40
.1
Verzeichnis aller Punktbefehle

.in Verzeichnis aller Punktbefehle

.2
Zu dieser bersicht

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

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
 .HC an  (on)
 .HC aus  (off)
.sn

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

.snB
 .HTML
 <HTML-Kommandos> Flietext usw.
 .HYPERMAKE
.sn

erlaubt die abschnittsweise direkte Eingabe von HTML Text.

.snB
 .HF Dateiname
.sn

kopiert an die Stelle des Punktbefehls der Dateiinhalt der Datei "Dateiname" bei HTML.
.END HTMLDOC

.2
Textanfang

.snB
 .TI
 Hypertext-Titel
.sn

setzt den Titel des Hypertexts.

.IF IPFDOC OR WINHELPDOC
~.<>~

stellt bei Winhelp und OS/2 HLP-Dateien die Hypertext-Benutzerknpfe "Zurck" und "Vorwrts" und bei OS/2 noch "Inhalt" zur Verfgung.
.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 OS2EXEDOC OR WINEXEDOC
Bei IPF wird auch verwendet, um kontext-sensitive Programmhilfe zu erzeugen.
.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, Winhelp) bzw. dateiname.gif (HTML) zentriert aus.

~.BTX Dateiname~

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

~.BD Verzeichnis/~

bitmap directory stellt einen Verzeichnisnamen den Dateinamen bei allen folgenden ~.BM~ und ~.BT~ Befehlen voran.

.2
Querverweise und Index

~.IZX~  (~.ICX~, ~.STX~)

whlt das beliebige Zeichen X als Indexzeichen.

~.IN Ausdruck~  (~.SW~)

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~  (~.SV~, ~.IT~)

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

~.IU~ ignore uppercase

am Textanfang Groschreibung ignorieren beim Ziehen von Querverweisen

.IF IPFDOC OR WINHELPDOC
Externe Querverweise (IPF)

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

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

Externe Querverweise (HTML)

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

Alle Vorkommnisse von "Ausdruck" erhalten einen externen Querverweis zu der URL "internetadresse". (Alle Formate auer Winhelp3)

.IF IPFDOC OR WINHELPDOC
Programme starten (IPF, Winhelp)

~.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.

.IF WINHELPDOC
Bei Winhelp ist die Duplizierung von Kapitelberschriften immer aktiviert; Schriften werden statt ber den Punktbefehl ber die Ini-Datei definiert.
.END

.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"~

~.TW~
Table word wrap (nur HTML) Tabelle fllt Fensterbreite aus, neuer Umbruch in jeder Zelle

.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 OR WINHELPDOC
~.FM aus~  (~.FM off~)
~.FM an~  (~.FM on~)

(nur IPF und Winhelp) 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 Zielformat. Die If-Bedingungen werden in der HMP-Datei oder ber die Kommandozeile mit #BEDINGUNG gesetzt (Gro- oder Kleinschreibung egal). Erlaubt sind auch:

.snB
 .IF not BEDINGUNG
 .IF BED1 and BED2
 .IF BED1 or BED2
.sn

.2
HTML-spezifische Befehle

.snB
  .ID LABEL
.sn

benennt die aktuelle HTML-Datei statt z.B. N001.HTML LABEL.HTML.

.snB
 .NR 10
 .HD 100
 .1
 berschrift mit fixer interner Nummer 
.sn

setzt den internen berschrifts- und Dateinamen-Zhler entsprechend hoch, so da zustzliche Kapitel unmittelbar davor nicht zu einer Vernderung der nachfolgenden Numerierung fhrt.

.FA hori 40
.1
Ini-Datei

.in Ini-Datei

.2
Einleitung

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 den Programmiersprachen C++ und Java wird aller Text, der rechts von zwei Schrgstrichen // steht, nicht interpretiert. So knnen mit // beginnend Kommentarzeilen eingefgt werden. Windows-konform knnen Kommentarzeilen auch mit ; beginnen, wobei der Strichpunkt allerdings am Zeilenanfang stehen mu. Die Reihenfolge der Schalter darf gendert werden, aber es mu jeder Schalter genau einmal vorkommen. Mit wenigen Ausnahmen wird in der Ini-Datei Gro- und Kleinschreibung nicht unterschieden.

.fu
Die in eckigen Klammern stehenden berschriften wie ~[general settings]~ dienen im Unterschied zur blichen Verfahrensweise bei Windows-Ini-Dateien nur Ihrer eigenen bersicht und knnen auch weggelassen werden.
.fu[]

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)

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 (IPF, Winhelp, HTMLHELP): Wenn Sie von HyperMake Panel ID und Helptable Dateien erstellen lassen, knnen Sie zwischen C und Pascal whlen.

.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.

beep (Pieps)

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

Wenn HyperMake eine IPF/RTF-Datei oder mehrere HTML-Dateien erfolgreich erstellt hat, hren Sie einen Pieps. Sie knnen diesen Ton hier abstellen, indem Sie ~NO~ statt ~YES~ eingeben. Bei OS/2, DOS und Windows NT wird der PC-Lautsprecher angesprochen, bei Win95 wird der Ton ber die Soundkarte ausgegeben.

.2
format settings (Format-Einstellungen)

Target (Zielformat)

.in Zielformat
.snB
//possible settings: IPF, HTML, WINHELP3, WINHELP4, HTMLHELP
Target = HTML
.sn

Die Standardeinstellung kann durch die gleichlautenden Programmparameter in der HMP-Datei oder der Kommandozeile temporr berschrieben werden.

Ob WINHELP3 oder WINHELP4 gewhlt wird, hngt davon ab, ob HC.EXE bzw. HCP.EXE einerseits oder HCW.EXE andererseits verwendet wird. Die Unterschiede sind relativ gering.

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.

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
//all formats:    1 alternate  2 italic 3 bold 4 underlined
//IPF:            5 red 6 cyan 7 blue
//HTML:           8 strike 9 big 10 small
//HTML, Winhelp:  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
.iv 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 fmodern:Courier Courier CODE
Font b = fmodern:Courier Courier 12 CODE black 437 Linestandard OmitLinks
Font B = 30 Arial,Helvetica,Univers fswiss:Helvetica Helv neutral
Font Z = GREEN 30 Arial,Helvetica,Univers fswiss:Helvetica Helv yellow 
Font G = 15 Arial,Helvetica,Univers fswiss:Helvetica Helv black
Font T = 18 froman:Roman 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: (vgl. Farb-Beispiele)
  - IPF: alle Farben in Kleinbuchstaben:
    default, blue, cyan, green, neutral, red, yellow, black.
  - HTML, Winhelp: 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. 
 IPF Schrift-Typ: Alle Eingaben, die nicht den bisherigen Kriterien entsprechen. 
 HTML Schrift-Typ: mindestens 2 Schriftnamen, getrennt durch Komma ohne Leerzeichen 
 Winhelp Schrift-Typ: mit Doppelpunkt getrennte Schriftfamilie:Schriftbezeichnung. Schriftfamilien sind fmodern, froman, fswiss. 

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-, Winhelp- und HTML-Kommandos hier mischen knnen, so da ein Schrift-Buchstabe ein unterschiedliches Outfit abhngig vom Zielformat reprsentieren kann.

.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 ies '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:@
.sn

.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

Text for link to main chapter = zum Hauptkapitel (Font Z)
.sn

Wird der Befehl Fensteranordnung ~.FA~ verwendet, so werden zwei Gliederungsebenen gleichzeitig angezeigt. Im Fenster mit dem Unterkapitel wird zu Beginn ein Querverweis auf das Hauptkapitel gezogen; andere Querverweise bei HTML 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. Es kann mit ~NO~ zwar abgeschaltet werden, ist aber nicht ratsam.

.IF IPFDOC
Bei IPF wird ~text for link to main chapter~ nicht verwendet.
.END

Bei diesen Textangaben drfen Sie grundstzlich mit ~(Font X)~ am Ende der Zeile eine Schrift festlegen. Sie drfen auch Umschaltzeichen verwenden.

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.

Markieren externer Links

.snB
//graphics file for marking external URL links or NO for no graphics file
URL graphics file = World
.sn

Mit Ausnahme von Winhelp3 untersttzten alle Formate Querverweise ins WWW. Der Leser sollte wissen, welche Querverweise extern und welche intern sind, schlielich mu er bei den externen gerade online sein. Den automatischen externen Querverweisen kann man mit diesem Schalter eine Grafik als Kennzeichen voransetzen. ~NO~ bedeutet keine Grafik.

.IF HTMLDOC
.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
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 simple text or use Javaskript buttons
//possible settings: TEXT GIF JAVASCRIPT
buttons = GIF
.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.

Mit der Einstellung ~JAVASCRIPT~ werden mit Hilfe der Javascript Programmiersprache Knpfe erzeugt. Dieses Programm ist Bestandteil der HTML-Seite, so da die Knpfe schneller geladen werden als separate GIF-Dateien. Javascript-Knpfe haben aber den Nachteil, da ltere Browser ohne Java-Untersttzung (vor Netscape 2) diese Knpfe nicht anzeigen knnen und abhngig von der Lnge des Text-Ausdrucks die Breite der Knpfe unterschiedlich ist.


: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, auch Winhelp3)

.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!

.snB
//choose DOS or LONG - DOS means 8.3 filenames, LONG no limit
filenames = LONG
.sn

Normalerweise produziert HyperMake Warnungen, wenn beim vorigen Schalter als Endung ~.HTM~ gewhlt wurde und lngere Dateinamen als mit 8 Buchstaben geschrieben werden. Mit ~LONG~ knnen diese Warnungen unterdrckt werden.


Standard-Frame und Inhaltsverzeichnis-Frame

.snB
default frame = _top
contents 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. Die Standardeinstellung lautet ~top~.

Es kann bei greren Dokumenten hilfreich sein, wenn der Benutzer zwei Browser ffnen kann - einen fr das Inhaltsverzeichnis und einen fr den Text. Das lt sich realisieren, indem fr ~default frame~ und fr ~content frame~ unterschiedliche Bezeichner gewhlt werden, etwa "haupt" und "inh".


Titelzeile, Meta-Anweisungen und Statuszeilen-Text

.snB
//here you can define the text appearing in the browser titlebar
//enter DOCTITLE, HEADING, FILENAME and fixed text, e.g. a slash
//NO means no text
file title = DOCTITLE - HEADING
meta content = DOCTITLE - HEADING
statusbar mouseover = zum Kapitel: HEADING (Datei FILENAME)
statusbar default = DOCTITLE - Besuchen Sie bitte regelmig die Homepage!
.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.

Der Statuszeilen-Text ist der Text, der im grauen Textfenster am unteren Rand des HTML-Browsers erscheint. Befindet sich der Mauszeiger ber einem internen Link, so kann mit dem Schalter ~statusbar mouseover~ bestimmt werden, welcher Text erscheinen soll.

Die Zeichen " und ' werden bei den vier genannten Schaltern nicht umgesetzt.

Erscheinungsbild der Funoten

.snB
//choose between javascript popup footnotes (JAVASCRIPT) frame footnotes (FRAMES) or no frames (NOFRAMES)
footnotes = FRAMES
.sn

HyperMake kann Funoten auf dreierlei Weise erzeugen: ber Frames (~FRAMES~), ohne Frames (~NOFRAMES~) und als ActiveX-Funoten (~ACTIVEX~). Letzteres ist ein spezieller Microsoft-Dialekt und ist vor allem fr HTML-Help gedacht. Es kann nur von Microsoft-Produkten gelesen werden und eignet sich somit nicht fr Verffentlichungen im Internet!

.snB
notes text = Anmerkungen
.sn

Wenn ein Quelltext mit Funoten mit der Einstellung bzw. dem Programmparameter ~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.

Inhaltsverzeichnis in Baumansicht

.snB
//enter NO for non-Javascript or AlternateLinkText;OpenText;CloseText
contents tree = Link zur normalen Darstellung;aufklappen;zuklappen
.sn

Mit dem Schalter ~contents tree~ in der Ini-Datei lassen sich Texte whlen, die im Zusammenhang mit der Javascript Baumansicht erscheinen. "AltenateLinkText" wird zum Link, der auf das normale immer aufgeklappte Inhaltsverzeichnis zeigt. "OpenText" und "CloseText" erscheint bei neueren Browsern als Bubblehelp, wenn der Mauszeiger sich ber dem Grafikzeichen fr ffnen bzw. Schlieen des Baumes bewegt. Er wird auch angezeigt, wenn im Browser das Laden von Bildern deaktiviert ist (HTML IMG ALT-Text).

.END HTMLDOC

.IF WINHELPDOC
.2
Winhelp specific settings (Winhelp-spezifische Einst.)

.snB
//influences the left margin command and the indention of lists
list indention = 4
.sn

Hier kann die Strke der Einrckung beim Linken Rand .LM Punktbefehl sowie bei sortierten Listen und unsortierten Listen vergrert und verkleinert werden.

.snB
//default value is 10
default font size = 10
.sn

blicherweise nimmt Winhelp eine tendenziell eher kleine Schrift fr den normalen Flietext im Hilfefenster, nmlich ~10~. Insbesondere wenn Sie nur wenig Text schreiben, kann es sinnvoll sein, eine grere Schrift zu whlen. Sinnvoll sind noch ~11~ und ~12~. Bei ~11~ sind die Schriften schon deutlich dicker, jedoch kaum grer.

.snB
//heading level 123456
heading fonts = ddcooo
//omit scrolling of the heading, YES or NO
keep heading = YES
.sn

Hier knnen 6 Schrift-Buchstaben angegeben werden, eine pro Gliederungsebene. Damit wird die Schrift festgelegt, die die berschrift eines Kapitels einer bestimmten Gliederungsebene erhlt. Normalerweise werden Sie fr die Kapitel in der oberen Gliederungshierarchie (1, 2) eine grere Schrift whlen. Natrlich mssen die verwendeten Schrift-Buchstaben unter ~Font =~ auch in der Ini-Datei definiert sein.

Winhelp erlaubt es, die berschrift zu fixieren ("keep"), so da sie nicht mitgescrollt wird. Dies kann hier mit ~YES~ und ~NO~ ein- und ausgeschaltet werden.

.in contents creation
.snB
//enter CNTFILE, INTERNAL, BOTH or NO
contents creation = BOTH
//heading text for the subchapter containing the text
//of the main chapter in CNT files
contents general text = General
.sn

Dieser Schalter wird unabhngig von der Einstellung WINHELP3/WINHELP4 interpretiert. Bei ~INTERNAL~ wird in der HLP-Datei am Anfang ein Inhaltsverzeichnis geschrieben, wobei der bislang HTML-spezifische Befehl "contents level" interpretiert wird. Es kann also ein Inhaltsverzeichnis angelegt werden, das nur z. B. 2 Ebenen tief ist.

Das Winhelp4 Format hat eine eigene Inhaltsverzeichnis-Datei mit der Endung CNT (contents), Einstellung ~CNTFILE~. Dieses Format hat jedoch einen schweren Designfehler: Ein Hauptkapitel, das Text enthlt, ist nicht vorgesehen. Das ist aber die Regel: Bevor eine Unterberschrift kommt, ist meist erklrender Text vorhanden. Fr den Text, der eigentlich zum Hauptkapitel gehrt, erzeugt HyperMake eine Zeile mit dem Text "Allgemein", dieser kann hier verndert werden.

Mit ~BOTH~ kann sowohl ein HLP-internes Inhaltsverzeichnis als auch eine Winhelp4-spezifische CNT-Datei angelegt werden. Das macht Sinn, wenn Sie Ihren Hilfetext fr das Zielformat WINHELP3 erstellen und Nutzern von Windows 95 und Windows NT trotzdem die Mglichkeit eines aufklappbaren Inhaltsverzeichnisses anbieten mchten.

Beachten Sie bitte, da Sie die CNT-Datei mit der HLP-Datei ausliefern mssen.

.snB
//character which is the left fat dot in lists, in different list levels
printed listchars = oooo
.sn

Hier lt sich fr jede Listen-Einrckungsebene ein anderes Zeichen als "Kndel" aussuchen. Dieses Zeichen kann auch wiederum ein Bitmap reprsentieren (Befehl .BT Bitmap text).

.END WINHELPDOC

.2
Helpfile specific settings (nicht HTML)

Help Subtable Start ID (Startwert fr ID-Konstanten, nur IPF)

.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    (nur IPF)
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.

.FA verti 25
.1
ber HyperMake

.in HyperMake

.2
Registrierung

.saE
.in Registrierung
.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 ~70 Deutsche Mark~ oder ~40 Dollar~ und fr den groen Schlssel ~150 Deutsche Mark~ oder ~90 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.
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 oder registrieren Sie ber Amerika (siehe ENGLISH\BMTORDER.FRM).

Den Registrierungsschlssel tragen Sie in Ihren HyperMake Ini-Dateien unter "registration key" ein. Die Schlssel passen fr die Versionen aller Plattformen und auch fr knftige Versionen.

.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, 32. 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 E-Mail-Adresse 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

.in Programmversionen
.snE
Geplante Funktionen fr HyperMake 4.0
.sn

 Graphische Oberflche als integrierte Entwicklungsumgebung (OS/2 und Win95/NT), evtl. mit Editor
  - Einstellungen-Notizbuch
  - Aufklappbares Inhaltsverzeichnis zum Navigieren im Quelltext
  - autom. Compilieren nach bestimmten Zeitintervallen
  - bisherige Bedienung ber Kommandozeile und HMP-Dateien wird weiterhin untersttzt

Auf meiner Homepage werden Sie entsprechende Ankndigungen finden.

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

Ich werde Teile der knftigen Oberflche als OS/2-Programm vorab auf meiner Homepage schon verffentlichen.


.snE
Neue Funktionen in HyperMake 3.65
.sn

 Verbesserungen bei Tabellen, incl. eines neuen Punktbefehls .TW Table word wrap
 interne Numerierung von berschriften und Dateien bei HTML beeinflubar
 Groschreibung ignorieren bei Stichwrtern
 fr Grafiken bei HTML Angabe eines Bitmap Directory

.snE
Neue Funktionen in HyperMake 3.60
.sn

 Javascript Baumansicht des Inhaltsverzeichnisses fr HTML, lauffhig sowohl unter allen gngigen Browsern
 Statuszeilen-Text bei internen Querverweisen
 neue Befehle fr HTML Tabellen

.snE
Neue Funktionen in HyperMake 3.5
.sn

 Untersttzung des Winhelp Formates
 Rckwrts-Konvertierung von RTF nach HyperMake
 Untersttzung von Microsofts neuem kontextsensitiven HTML-Help
 HMP-Dateien als Ersatz fr die Kommandozeile
 HyperMake auch als DOS/Win3.1 Version verfgbar
 Javascript Navigations-Knpfe und ActiveX Funoten
 automatisches Kopieren von Grafik-Dateien
 manuelle externe Querverweise und automatische externe Querverweise ins WWW fr alle Zielformate auer Winhelp3; Markierung von externen Querverweisen
 HTML Info-Datei
 verbesserte Einbindung von HTML-Befehlen

Darber hinaus wurden zahlreiche kleinere Fehler beseitigt.

.snE
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.

.snE
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.

.snE
Neue Funktionen in (alter Name) 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

.2
Fehlerberichte

.in Fehlerberichte
Die Fehler von HyperMake 3.5 sind nicht dokumentiert.

Die folgenden Fehler wurden in HyperMake 3.60 gefunden und in 3.65 beseitigt:

 3.6.01: Wenn fr Winhelp compiliert wird und der Text mit einer sortieren/unsortierten Liste endet, gibt es einen Fehler (mehr { als } Klammern).
 3.6.02: Fehler bei der Konvertierung von IPF nach HyperMake: Beim IPF-Befehl :h1. :h2. usw. mssen mehr als zwei Zeichen dazwischen liegen. Wenn Sie nur zwei Zeichen haben (das ist eher selten), fuegen Sie noch ein Leerzeichen ein.
 3.6.04: mailto:emailadresse wird nicht zu einem Link.
 3.6.05. ASCIISOFTRET und Winhelp fhrt zu fehlenden Leerzeichen im Flietext
 3.6.06. (ist gar kein Bug, sondern absichtlich wegen eines Fehlers im Winhelp-Compiler eingebaut) Endet eine CNT-Datei mit einem Hauptkapitel ohne Unterkapitel, wird flschlicherweise trotzdem ein "Allgemein" Kapitel eingefgt.
 3.6.07. Bei Tabellen funktioniert das " Zeichen nicht in der ersten Tabellenspalte.

.2
Wo Updates?

.snE
Wo Sie HyperMake finden
.sn

Am einfachsten ist es, sie schauen gelegentlich auf meiner Homepage http://ourworld.compuserve.com/hompages/vrb/VIEREGG.HTM vorbei. Ich mchte HyperMake 4.0 im Sommer 1998 fertigstellen. Fr OS/2 wird es Vorab-Versionen geben.

Sie finden die neueste HyperMake OS/2 Version in Compuserve OS2UGER und die Windows-Version im DEUCONNECT Forum.

Alle Versionen sind im Internet verfgbar auf:
ftp://ftp.bmtmicro.com/bmtmicro

Im Internet gibt es die OS/2-Version in Deutschland
ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/utils
und die Win95/NT Version in Amerika ftp://ftp.simtel.net/pub/simtelnet/win95/html,
die OS/2-Version gibt es auch noch bei
ftp://ftp-os2.nmsu.edu,
ftp://ftp.cdrom.com/pub/os2
und die Win95/NT-Version auf
ftp://ftp.leo.org/pub/comp/os/windows/windows95 .

Namen der Archive:
OS/2-Version: hmakeos2.zip
Win95/NT-Version: hmakew95.zip
DOS/Win3.1-Version: hmakedos.zip

Die Dateigren betragen derzeit bei der Win95/NT- und OS/2-Version 325 kB und bei der DOS-Version 260 kB.

.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.
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 von Speedsoft, Chemnitz, einem TurboPascal/Delphi-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. HyperMake 4.0 mit graphischer Oberflche werde ich mit SpeedPascal 2.0 alias "Sibyl", einem Delphi-Clone und Cross-Compiler, plattformbergreifend entwickeln.

Die DOS/Win3.1-Version ist mit Turbo-Pascal erstellt und verwendet keinen erweiterten Speicher. Dadurch ist der Quelltext, je nach Anzahl der Querverweise, auf 1 bis 4 MB beschrnkt. HyperMake fr DOS ist theoretisch sogar unter einem XT lauffhig. Deshalb sollte HyperMake unter Betriebssystemen, fr die es einfache DOS-Emulatoren gibt (z. B. Linux), einwandfrei lauffhig sein. Der Pentium-300-bug aller Turbo-Pascal Programme (Abbruch wegen zu hoher Geschwindigkeit) ist nicht gefixt. Die graphische Oberflche wird es fr DOS/Win3.1 nicht geben, dafr wird die Kommandozeilenversion mit weiterentwickelt.

.IF NOT OS2
Sehen Sie als Windows-Benutzer das IBM IPF Format als "exotisch" an? Schreiben Sie selbst Windows-Programme? Dann sollten Sie sich ernsthaft berlegen, ob sich nicht die Portierung Ihres Windows-Programmes nach OS/2 lohnt. Es ist unter Windows-Programmautoren meist nicht bekannt, wie attraktiv dieses Betriebssystem fr Portierungen ist. Hierzu einige Fakten und Feststellungen:

 IBM hat zwar mit OS/2 den Kampf gegen den Heimanwender verloren, doch ist in groen Firmen OS/2 z. T. noch im Vormarsch und fr viele kleinere Betriebe wre der Umstellungsaufwand auf Windows NT viel zu gro, so da auch hier ber Jahre OS/2 verwendet wird. Gerade die zahlungskrftigen Anwender haben hufig OS/2. Es gibt rund doppelt so viele OS/2- wie Macintosh-Benutzer. IBM hat fr die nchsten 10 Jahre OS/2-Support zugesagt. Ob im Jahr 2008 Windows in der heutigen Form noch untersttzt wird?

 Aus meiner Erfahrung mit funktionsidentischen OS/2- und Windows- Sharewareprogrammen kann ich berichten, da die Rcklufe bei OS/2 besser sind als bei Windows. Der "Vorteil" des Mangels an guten OS/2-Programmen wiegt also schwerer als der Nachteil des kleineren Anwenderkreises.

 Die Portierung ist meist einfacher als man auf den ersten Blick denkt. Die 700 wichtigsten Win32-API-Funktionen stehen auch unter OS/2 (mit der Erweiterung "Open32", ab Warp 4 standardmig enthalten) zur Verfgung. Viele C++ Bibiliotheken gibt es auch in einer OS/2-Version. Bei Delphi-Programmen stehen die quelltextkompatiblen Delphi-Clone VirtualPascal und SpeedPascal zur Verfgung. Reiner 32-bit-Standard C Code ohne Benutzerschnittstelle ist weitgehend kompatibel, zumal ja im Unterschied zum z. B. Macintosh OS/2 schlielich auch ein Intel-basiertes Betriebssystem ist.

 Last but not least, das Thema OS/2 Hilfetext ist mit HyperMake erledigt.
.END NOT OS2

.2
Andere Progs

Ich habe noch einige kleine Programme geschrieben. Alle Programme haben auch deutsche Dokumentation.

OS/2, Windows 95 und NT

 pmCalc: ein graphischer Taschenrechner mit automatischer Zwischenablagenuntersttzung, Funktionen fr Programmier und wissenschaftlichen Funktionen, Regression (auch in deutsch, Shareware)

 Textbuch: Doppelte Buchfhrung fr Selbstndige und kleine bis mittlere GmbH's. Mit Inventarspiegel. Arbeitet wie ein Compiler. Input und Output sind Textdateien. Umfangreiche Hypertext-Hilfedatei. Multithreaded-Programm mit integriertem Editor und Sprechblasen-Hilfe. Shareware bei > 250 Buchungsstze pro Jahr. 

 Simple Zipshell: ZIP- und ARJ-Dateien ber die graphische Oberflche packen und auspacken. Freeware.

 cd-shortcut: Abkrzung fr cd (change directory). Statt vollstndiger Verzeichnisnamen werden Substrings eingegeben. Freeware.

nur OS/2, Win95/NT-Versionen geplant
 
 TinyAlarm 2.1: Kurzzeitwecker als 60-Minuten-Schieber oder Eingabe absoluter Weckzeit; Chime; Freeware. 

 Clear 1.0: Datensicherungs- und Lschprogramm. erstellt Textdatei-Dateilisten nach diversen Kriterien arbeitet mit zip zusammen. Freeware 

Auf meiner Homepage finden Sie Beschreibungen, Screenshots und Download-Links der Programme.
http://ourworld.compuserve.com/hompages/vrb/VIEREGG.HTM

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 http://www.ndrh.de/speed
.in Speedsoft
.IF WINHELP or IPF
.URL ..\buttons\content.htm
.ELSE
.URL ..\..\buttons\content.htm
.END
.in Button-Bibliothek
.LOCAL
