..Dies ist die Dokumentation im HyperMake (MakeIPF)-Format.
..Aus dieser Datei kann eine HTML oder IPF-Datei
..erzeugt werden. Lesen Sie bitte README.1ST.
.. In diesem Quelltext der Doku sind viele IF-Bedingungen. Der in diesen
.. Bedingungen enthaltene Text wird nur in der Doku aufgenommen, wenn
.. die Bedingung beim Erstellen mit HMAKE als Kommandozeilenparamter
.. eingegeben wird:
.. #HTMLDOC erzeugt spezifische Doku für die Erstellung von
.. HTML-Texten
.. #IPFDOC für IBM IPF
.. #HLPDOC für kontext-sensitives IBM IPF (HLP)
.. #WORDSTARDOC wenn für den Quelltext der alte DOS WordStar 4.0
.. benutzt wird
..Falls Sie trotzdem den Rohtext als "Anfänger" anschauen möchten,
..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.
..Kapitelüberschriften wird ein .n vorangestellt, wobei n die Hierarchie
..angibt (1 bis 6). Das Zeichen µ markiert Wörter für den Index und als
..Querverweis-Ziel, µ:Wort1 Wort2: markiert einen Ausdruck.
..Die restlichen Sonderzeichen sind Umschalter (Toggles), z. B. für
..fette Schrift.
.TI Dokumentation HyperMake 3.0
.fu[]
.bt¿ reddot
.ft¿
.stµ
.1
Einführung
HyperMake (früher MakeIPF) dient der einfachen Erstellung von Dateien im HTML- und IPF-Format. Statt direkt HTML-Dateien oder IPF-Dateien zu editieren, wird ein ASCII-Rohtext erstellt, der weitaus weniger Kommandos erhält. Querverweise werden automatisch gezogen, mit nur einem Befehl werden Fenster verschiedener Gliederungsebenen gleichzeitig angezeigt ("Frames"), am Ende eines Kapitels wird automatisch auf Unterkapitel verwiesen und vieles mehr.
Die Version 3.0 ist das erste "major release", , das auch HTML-Dateien erzeugen kann. Aus nur einem Quelltext lassen sich sowohl HTML- als auch wie bisher IPF-Dateien erzeugen.
Neu sind außerdem Tables (Tabellen) als auch eine Rückwärts-Konvertierung von IPF nach HyperMake. Dies ist dann sinnvoll, wenn eine Dokumentation schon im IPF-Format vorliegt.
HyperMake existiert derzeit als Win32 (Windows 95 und NT) und als OS/2-Versionen. Künftige Versionen wird es unter weiteren Betriebssystemen geben.
HyperMake ist nicht in erster Linie dafür gedacht, eine einzelne kleine Homepage zu schreiben. Seine Stärke liegt in der Erstellung größerer Dokumente wie komples Homepages, wissenschaftliche Arbeiten oder Programmdokumentationen mit Inhaltsverzeichnis und Stichwortverzeichnis (Index).
Wenn Sie HyperMake verwenden, müssen Sie lediglich das vergleichsweise einfache HyperMake-Format erlernen. Sie können HyperMake Quelltexte erstellen mit
■ einem ASCII-Editor mit autom. Zeilenumbruch
■ einem ASCII-Editor ohne autom. Zeilenumbruch
■ oder einem alten DOS WordStar Version 3.4 oder 4.
HyperMake hat einige leistungsstarke Features zu bieten:
■ Automatische Querverweis- und Index-Erstellung
Das Markieren eines Wortes oder eines Ausdrucks mehrerer Wörter mit einem speziellen Zeichen hat zur Folge:
- Querverweise (engl. links) von allen gleichlautenden Ausdrücken im Text zur markierten Textstelle hin
- einen entsprechenden Eintrag im Index (zu deutsch Stichwortverzeichnis).
.IF HTMLDOC
■ Automatische Zerlegung in zahlreiche HTML-Dateien
Beim Erzeugen von HTML-Dateien wird eine Quelldatei in zahlreiche einzelne HTML-Dateien zerlegt. Dies führt zu höherer Performance bei der Benutzung von Browsern. Weder der Autor des Textes noch der Betrachter merkt etwas davon.
.END
.IF IPFDOC
■ Automatische Erstellung von Helptables
Für OS/2 HLP-Dateien dürfen in den HyperMake ASCII-Quelltext direkt ID Konstanten wie "ID_buttonOK" eingetragen werden, um eine Verbindung zwischen dem Knopf und der erläuternden Textpassage herzustellen. HyperMake generiert eine Helptable-Datei, die in die RC-Datei eingebunden werden kann.
.END
■ Automatische Erstellung von Querverweisen zu Unterkapiteln
.sno
Am Ende eines Hauptkapitels, vor dem ersten Unterkapitel, werden Querverweise zu allen Unterkapiteln und zum nächsten 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 Größen am Bildschirm - es werden also Kindfenster (engl. Frames) generiert. Zwei oder gar drei Fenster verschiedener Gliederungsebenen, also Kapitel, Unterkapitel, Unterunterkapitel, erscheinen so gleichzeitig, vgl. Beispiel Fensteranordnung.
■ Einfache Erstellung von Fußnoten
Bei HTML werden Fußnoten über Frames realisiert, bei IPF öffnet sich pro Fußnote ein kleines Fußnotenfenster.
■ Tables (Tabellen)
Tabellen werden wie bei einer ASCII-Datei mit festen Schritten eingegeben. HyperMake setzt dies in HTML- bzw. IPF-Tabellen um.
■ Automatisches Linienziehen, um Kästchen zu erstellen
■ Kurze, einfache Befehle
- für Kapitelüberschriften und deren Gliederungsebene
- um Schriften auszuwählen
- um Grafiken allein oder im Fließtext auszugeben
- um unsortierte Listen / sortierte Listen (engl. unordered lists / ordered lists) zu generieren. (Dies hier ist eine zweistufige unsortierte Liste.)
In dieser Version 2.9 fehlt noch die Unterstützung von Tabellen (Tables) sowohl für HTML als auch für IPF. Dies ist für 3.0 vorgesehen.
.2
HTML-Dateien, Web-Browser und Internet
.in Dateiformat HTML
.in HTML-Datei
Die µ:Hypertext-Markup-Language HTML: ist ein plattformübergreifendes Dateiformat für 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, benötigt man Browser.
In der Regel befinden sich die Dateien nicht lokal auf dem eigenen Rechner, sondern im Internet. Trotzdem aber läßt sich das HTML-Format dazu benutzen, lokal gespeicherte Daten wie Programmdokumentationen oder Nachschlagewerke anzuschauen.
Der aktuelle Entwicklungsstand von HTML ist 3.2. Dieser Stand wird von HyperMake unterstützt. Die wichtigste Neuerung sind Frames (Fensteranordnung). Mit HyperMake erzeugte HTML-Dateien, die Frames enthalten, können auch mit älteren Browsern betrachtet werden, dann natürlich ohne Frames.
.2
IPF, INF und HLP-Dateien
.in Dateiformat IBM INF
.in Dateiformat IBM HLP
.in Dateiformat IBM IPF
.in IPF-Datei
HTML Browser sind langsam und schwerfällig. IBM INF und HLP Dateien sind kompakte Binärdateien. Der Viewer (Betrachter) ist klein und sehr schnell. IBM INF Viewer gibt es für OS/2 (das Format aller OS/2-Programmdokumentationen), für Win16 und für DOS. Der Win16 Viewer ist Teil des Pakets "Just add Warp"; es werden die Dateien LIBIPFX.DLL, VIEW.EXE und VIEWH.HLP benötigt. Der DOS Viewer ist in IBM DOS 7 enthalten und es gibt auch ein Freewareprogramm (VIEW01.ZIP Compuserve OS2DF1).
Um IBM INF-Dateien zu erstellen, benötigen Sie den IBM IPFC Compiler (von IPF nach INF). Dieser ist Bestandteil von OS/2-Entwicklungssystemen, es soll ihn aber auch für Windows geben.[Die Windows-Version ist Bestandteil des IBM Visual Age C++ Entwicklungssystems.]
Im Vergleich zu HTML-Browsern haben die IBM INF Viewer einige leistungsstarke Features, die vor allem bei großen Dokumenten zum Tragen kommen:
■ der Index ist Bestandteil des binären INF Formates
■ ebenso das Inhaltsverzeichnis, Kapitelüberschriften lassen sich wie Verzeichnisbäume auf- und zuklappen
■ sehr schnelle Such-Funktion: Da intern jedes Wort nur einmal gespeichert ist und Zeiger auf die tatsächlichen Textstellen zeigen, können mehrere MB pro Sekunde nach bestimmten Wörtern abgesucht werden. Der Benutzer erhält dann ein Auswahlfenster mit allen Kapiteln, in denen der Suchbegriff vorkommt.
■ Mehrere INF-Dateien können per Kommandozeilenparameter "zusammengehängt" werden, so daß für den Benutzer eine große Hilfedatei mit entsprechend vergrößertem Inhaltsverzeichnis und Index entsteht.
Die wichtigen HTML-Features wie Tables, Frames, Bilder usw. sind alle auch im IBM INF-Format enthalten.
Der Inhalt von IBM INF- und HLP-Dateien wird in einer Sprache namens IPF eingegeben, ähnlich HTML. Es ist ein mächtiges Werkzeug, mit dem praktisch alles machbar ist, was in einem solchen Hypertext denkbar ist. Allerdings ist diese Eingabesprache ziemlich umständlich und hat kaum eine Eigenintelligenz. Deshalb findet man als OS/2-Anwender häufig farblose Hypertexte, die z. B. fast keine Querverweise enthalten.
Die Dokumentation zum IPF-Format gibt es nur in englischer Sprache, so daß manche Benutzer dabei ihre Schwierigkeiten haben.
HyperMake erleichtert Ihnen die Erstellung von IBM INF-Dateien[Das IBM information format ist ein Hypertext-Format, insbesondere für Programmdokumentationen.] und HLP-Dateien[Das HLP-Format ist ähnlich dem INF-Format, ermöglicht aber Verbindungen zwischen dem zu beschreibenden Programm und dem Hypertext. HLP-Dateien sind sozusagen Bestandteil des Anwenderprogramms.]. HyperMake generiert IPF[Das IPF Format (Information Presentation Facility) ist der Ausgangstext, um INF- oder HLP-Dateien zu erstellen.] Dateien von einem speziellen HyperMake ASCII-Format. Aus einer solch automatisch erstellten IPF-Datei wird dann mit dem IBM-Programm µIPFC[IPFC ist Bestandteil jedes OS/2 Programm-Entwicklungssystems. Auf meinem Rechner sind es die Dateien IPFC.EXE, IPFC20.INF und IPFCEXMP.INF sowie ein Verzeichnis IPFC mit länderspezifischen Informationen.] die INF- oder HLP-Datei erzeugt.
.1
Erstellen eines HyperMake Quelltextes
.in Erstellen eines HyperMake Quelltextes
.FA verti 25
.2
Grundlagen
.3
Punktbefehle
Das HyperMake-Format verwendet µ:Punktbefehl:e wie der gute alte DOS WordStar. Ein Punktbefehl benötigt eine eigene Zeile und beginnt mit einem Punkt, zum Beispiel
.snb
.SN
.sn
stellt die Normalschrift auf den Standardwert (engl. default). Punktbefehle können sowohl mit Klein- als auch mit Großbuchstaben 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, müssen Sie nur die ersten zwei Buchstaben unbedingt schreiben.
Beginnt ein Punktbefehl nicht in der ersten Spalte, so wird er nicht interpretiert, sondern erscheint im Fließtext.
In diesem Hypertext befindet sich ein Verzeichnis aller Punktbefehle.
.IF IPFDOC
.3
IPF-Befehle
.snb
.:IPFbefehl.
.:IPFbefehl. Ausdruck
.sn
Sie können IPF-Befehle direkt eingeben (was jedoch eher die Ausnahme ist, da alle wichtigen Kommandos Bestandteil des einfacheren HyperMake Formates sind.)
.END IPFDOC
.sab
.IF HTMLDOC
.3
HTML-Befehle
Die folgenden zwei Befehle sind dann für Sie sinnvoll, wenn Sie mit HTML-Befehlen vertraut sind und für einzelne Teilaufgaben diese den HyperMake-Befehlen vorziehen.
.snb
.HTML
<HTML-Kommandos> Fließtext usw.
.HYPERMAKE
.sn
Sie können auch direkt HTML-Text und -Kommandos schreiben - z. B. für µ:Java-Skript:s, er wird ohne Änderung übernommen.
Als weitere Möglichkeit bietet HyperMake die direkte Verwendung von <HTML-Befehlen> in spitzen Klammern direkt im Fließtext: Mit dem Punktbefehl HTML command
.snb
.HC an (on)
.HC aus (off)
.sn
können im Fließtext 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. Standardmäßig 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, können Sie ~.HC an~ einmal aktivieren und eingeschaltet lassen, so lange Sie im Fließtext keine spitzen Klammern verwenden möchten.
.END HTMLDOC
.3
Umschaltzeichen
.in Umschaltzeichen
.in toggle
.in Zeichen für Umschalter
In der Ini-Datei können Sie einige Umschaltzeichen (engl. toggle char) definieren. Zwischen zwei identischen Umschaltzeichen wird eine bestimmte Funktion aktiviert, beispielsweise "fett". Wenn Sie in der Ini-Datei "*" für "fett" und " @" für "italic" (d. h. schräg) eingestellt haben, können Sie schreiben:
.snb
Dieser *Teil des Satzes* ist besonders wichtig.
.sn
Sie erhalten dann:
Dieser Teil des Satzes ist besonders wichtig.
Sie können 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 unterstützt,[natürlich ohne 0x0A, 0x0D, 0x1A (dezimal 10, 13, 26)] und bei HTML die Zeichen oberhalb von ASCII dezimal 127.
Umschaltzeichen sollten nur selten anderweitig im Text verwendet werden. Wenn Sie ein Umschaltzeichen ausdrucken und nicht interpretiert haben wollen, müssen Sie es zweimal hintereinander schreiben:
.snb
@Meine Email-Adresse:@
100661.626@@compuserve.com
.sn
.3
Bedeutung von Returns
.in Bedeutung von Returns
.in ASCIIHARDRET
.in ASCIISOFTRET
Wenn Sie einen HyperMake-Quelltext mit einem ASCII Editor schreiben, können Sie zwischen zwei verschiedenen Arten wählen, wie Returns (Zeilenvorschübe) interpretiert werden sollen. Mit der ASCIIHARDRET Einstellung in der Ini-Datei, Abschnitt source format, wird jeder Return auch tatsächlich als eine neue Zeile verstanden. Wählen Sie diese Einstellung, wenn Ihr Editor zu lange Zeilen automatisch in die neue Zeile umbricht, ohne aber selbständig Return-Steuerzeichen in den Text zu schreiben. Der OS/2 E und EPM Editor unterstützen dies ("Optionen - Zeilenumbruch ein").
Andernfalls verwenden Sie besser ASCIISOFTRET. Das interpretiert ein Return-Steuerzeichen nur dann als wirkliche neue Zeile, wenn
■ zwei Returns direkt aufeinander folgen (also eine Leerzeile eingefügt ist)
■ das letzte Zeichen in der vorangegangenen Zeile . ! ? : ; ist.
.IF WORDSTARDOC
Wenn Sie den Quelltext mit einem DOS WordStar schreiben, gibt es solche Probleme nicht, weil WordStar zwischen harten und weichen Returns unterscheidet.
.END
Auf meiner Homepage finden Sie demnächst Makro-Dateien für µWinword zur leichten Konvertierung von Winword-Textdateien in den HyperMake Quelltext.
.2
Textanfang
Jedes Dokument hat einen µTitel. Dieser erscheint als Titel des Hauptfensters und auch in der Fensterliste.
.snb
.TI Dokumentation von meinem Programm
.sn
legt den Titel der HTML-Datei bzw. INF-Datei fest. Jeder HyperMake-Quelltext, mit dem eine INF-Datei erstellt wird, muß mit einem solchen Titel beginnen, noch vor der ersten Kapitelüberschrift.
.IF HTMLDOC
HyperMake erzeugt aus nur einer Quelldatei mehrere HTML-Dateien. Jede HTML-Datei erhält den selben Titel.
.END
.IF IPFDOC
Bei HLP-Dateien wird der Titel über den Programm-Quelltext festgelegt (siehe function InitHelp). Der Titel-Punktbefehl im HyperMake-Quelltext wird ignoriert.
In HLP-Dateien werden standardmäßig die Tasten "Inhalt", "Zurück" und "Vorwärts" ausgeblendet. Wenn Sie die gleichen Tasten wie bei INF-Dateien haben wollen, so verwenden Sie am Textanfang den folgenden Punktbefehl:
.snb
.<>
.sn
.END
.2
Kapitel
Die mit HyperMake erzeugten HTML-Dateien und IBM INF-Dateien verfügen über ein µInhaltsverzeichnis.
.IF IPFDOC
Wenn man eine INF-Datei aufruft, erhält man zu Beginn ein Inhaltsverzeichnis, bei dem man wie in einem Verzeichnisbaum Kapitelüberschriften auf- und zuklappen kann. Der Text, der unter jeder µKapitelüberschrift steht, erhält ein eigenes Fenster.
.END
.IF HTMLDOC
Erzeugt HyperMake HTML-Dateien, dann erhält man unter dem Dateinamen INDEX.HTML ein Inhaltsverzeichnis.
.END
Es lassen sich µKapitel und Unterkapitel wie in einer wissenschaftlichen Arbeit gliedern:
.snA
Hauptüberschrift
Erste Unterüberschrift
Zweite Unterüberschrift
Erste Unterunterüberschrift
Zweite Unterunterüberschrift
Dritte Unterüberschrift
.sn
Im HyperMake Quelltext schreiben Sie Kapitelüberschriften wie folgt:
.snb
.1
Erste Hauptüberschrift
.2
Erste Unterüberschrift
.2
Zweite Unterüberschrift
.3
Erste Unterunterüberschrift
.3
Zweite Unterunterüberschrift
.2
Dritte Unterüberschrift
.1
Zweite Hauptüberschrift
.sn
Unter dem Punktbefehl, in dem sie die µGliederungsebene angeben, schreiben Sie den Text der Kapitelüberschrift.
Der Text darf mehr als eine Zeile lang sein. Wenn Sie als Quelltextformat ASCIISOFTRET gewählt haben, müssen Sie zwei Returns (also eine Leerzeile) nach der Kapitelüberschrift eingeben.
In einem normalen, ausgedruckten Schriftstück würde man stattdessen z. B. Dezimalklassifiation verwenden:
1. Erste Hauptüberschrift
1.1 Erste Unterüberschrift
1.2 Zweite Unterüberschrift
1.2.1 Erste Unterunterüberschrift
1.2.2 Zweite Unterunterüberschrift
1.3 Dritte Unterüberschrift
2. Zweite Hauptüberschrift
.IF IPFDOC
Der Text hinter dem Gliederungsebenen-Punktbefehl ist auf etwa 200 Buchstaben begrenzt[Der IPFC Compiler würde eine Fehlermeldung erzeugen.], aber man sieht im Fenstertitel nur etwa 70 bis 120 Buchstaben, abhängig von der Breite des Fensters auf dem Bildschirm.
.END
Zu Beginn des HyperMake-Quelltextes kann normaler Text erst nach der ersten Kapitelüberschrift eingegeben werden.[Jede Kapitelüberschrift steht für ein Fenster. Ohne Fenster kann kein normaler Text dargestellt werden, der IPFC Compiler würde Fehlermeldungen erzeugen.]
Es dürfen bis zu 6 Gliederungsebenen verwendet werden.
.IF HTMLDOC
Mit dem Schalter content level in der Ini-Datei können 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 Fließtext. Das ist natürlich nicht akzeptabel. Wenn Sie HTML-Dateien mit 5. und 6. Gliederungsebene erstellen möchten, sollten Sie den Überschriften der Ebenen 4 bis 6 oder zumindest 5 und 6 größere Schriften zuweisen.
~.HS 123234~
oder etwa
~.HS 112233~
ordnet Überschriften einer bestimmten Ordnung eine andere Größe der Überschrift zu.
Standardwert ist
~.HS 123456~
.END
.3
Querverweise zu Unterkapitel
.in Querverweise zu Unterkapitel
Wenn ein Kapitel Unterkapitel hat, werden automatisch Verweise zu Unterkapiteln und ein Verweis auf das nächste Hauptkapitel generiert. In der Ini-Datei können mit ~text for link to...~ die Erklärungstexte "nächstes Hauptkapitel" usw. verändert 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) können Sie die Darstellung der automatischen Querverweise zu Unterkapiteln verändern.
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 können Sie auch Grafiken zwischen den Überschriften verwenden:
.snb
.btx blackdot
.sc x
.2
Erste Unterkapitelüberschrift
.sc RETURN
.sn
(x steht für ein beliebiges unbenötigtes Sonderzeichen)
Die Unterkapitel werden nebeneinander geschrieben, optisch getrennt durch BLACKDOT.GIF.
.snb
.sc RETURN RETURN
.sc PARAGRAPH
.sn
sind zwei mögliche Schreibweisen zur Einfügung einer Leerzeile.
.snb
.sc LIST
.sn
schreibt die Unterkapitel in der Listen-Schreibweise (unsortierte Liste).
.3
Gleichzeitiges Anzeigen mehrerer Fenster
.in Fensteranordnung
.in Frames
Mit nur einem einmalig zu verwendenden Punktbefehl sind Sie in der Lage, das Hypertext-Fenster in zwei oder drei Abschnitte zu teilen, so daß zwei oder drei Kapitel verschiedener Gliederungsebenen gleichzeitig angezeigt werden.
.snL
Gleichzeitiges Anzeigen zweier Gliederungsebenen
.sn
Wenn Sie den Punktbefehl Fensteranordnung
.snb
.FA verti 30
.sn
vor einem normalen Gliederungsebenen-Punktbefehl schreiben, wird das Hauptfenster vertikal in ein linkes Fenster (30% der Bildschirmbreite) und ein rechtes Fenster (die verbleibenden 70%) unterteilt. Im linken Fenster erscheint das Fenster, dessen Kapitelüberschrift 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 erhält das obere Fenster (40% der Gesamthöhe), das Unterkapitel das untere Fenster (die verbleibenden 60%).
Sie dürfen Prozentwerte von 10 bis 90 eingeben.
Mit dem Kommandozeilenparameter ~/NOFRAMES~ wird dieser Punktbefehl unterdrückt.
Für ein Beispiel zur zweiteiligen Fensteranordnung siehe Verzeichnis aller Punktbefehle und Ini-Datei.
.snL
Gleichzeitiges Anzeigen dreier Gliederungsebenen
.sn
Diese Funktion steht bislang nur bei der Erstellung von IPF-Dateien zur Verfügung.
.IF IPFDOC
In gleicher Art und Weise können Sie auch drei Gliederungsebenen gleichzeitig anzeigen lassen. Dabei müssen 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 Länge 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 größeres. Sie können wählen, welche Gliederungsebene das größere Fenster bekommt, wobei Sie zwischen ~I~ und ~III~ einstellen können. So können Sie zwischen insgesamt vier Arten der Fensteranordnung wählen:
.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 für ~I~ reservierte Platz ungenutzt.
Wenn Sie drei Gliederungsebenen gleichzeitig angezeigt haben wollen, aber nicht jedes Kapitel über die dritte Gliederungsebene verfügt, sollte immer Ebene ~I~ das größte Fenster erhalten, also ~I~ und nicht ~III~ im FA-Punktbefehl stehen. Dann nimmt das Kapitel der Ebene II den sonst für III reservierten Platz mit ein.
.4
Beispiel Fensteranordnung - Quelltext
.snz
.FA verti 50 hori 40 I
.4
Beispiel Fensteranordnung - Ergebnis
Das Hauptkapitel mit Querverweisen zu Unterkapiteln.
.5
Erstes Unterkapitel
Das erste Unterkapitel.
3-fach-Unterteilung für HTML wird in HyperMake 3.0 noch nicht unterstützt.
.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 für HTML wird in HyperMake 3.0 noch nicht unterstützt.
.6
Erstes Unterunterkapitel
Das erste Unterunterkapitel vom ersten Unterkapitel.
.6
Zweites Unterunterkapitel
Das zweite Unterunterkapitel vom ersten Unterkapitel.
.5
Zweites Unterkapitel
Das zweite Unterkapitel.
.6
Erstes Unterunterkapitel
Das erste Unterunterkapitel vom zweiten Unterkapitel.
.6
Zweites Unterunterkapitel
Das zweite Unterunterkapitel vom zweiten Unterkapitel.
.END IPFDOC
.FA verti 75
.2
Schriften
.in Schrift
.in font
.snL
µ:Schrift Normal:
.sn
Mit dem Punktbefehl Schrift Normal
.sab
~.SNX~
können Sie eine Schrift auswählen, wobei ~X~ für einen Schrift-Buchstaben (A bis Z und a bis z) steht; Groß- und Kleinbuchstaben werden unterschieden! Ein Schrift-Buchstabe steht für eine bestimmte
Sie können jedem der 2 x 26 Schrift-Buchstaben in der Ini-Datei verschiedene Schriften, Größen und Farben zuordnen.
Es gibt noch zwei andere Schrift-Einstellungen in der Ini-Datei: ~OmitLinks~ ist beschrieben in Querverweise, Unterdrücken von Querverweisen, ~LineStandard~ in Linienziehen.
Um Schrift Normal auf den Standardwert (default) zu setzen, schreiben Sie einfach den Punktbefehl ohne weitere Parameter:
~.SN~
.IF HTMLDOC
.snL
µ:Phrase Element und Schriftart bei HTML:
.sn
Eine besondere Erläuterung benötigen die Schriftarten und Phrase Elements von HTML.
Bei "klassischem" HTML geben Sie nicht direkt die Schriftart "Courier", "Helvetica" usw. ein, denn das zugrundeliegende Konzept ist ein anderes - schließlich wird vielleicht der Text auf einem Rechner angeschaut, der gar keine "Courier" Schrift verwendet. Die Schrift soll der Benutzer einstellen können. Als Autor des HTML-Textes können Sie stattdessen mittels Phrase Elements den Zweck des Textes angeben: etwa CODE für Programmcode (es wird Schrift in festen Schritten verwendet). Der Browser wählt dann eine passende Schrift dazu aus.
Trotzdem können Sie aber Schriftarten definieren. Diese werden jedoch nicht von allen Browsern unterstützt und Sie können nicht sicher sein, ob eine bestimmte Schrift vom einem bestimmten Betriebssystem auch unterstützt wird. Damit die "Trefferwahrscheinlichkeit" möglichst groß ist, müssen Sie mehrere Schriftarten angeben. Also etwa ~Arial,Helv,Helvetica,Univers~. HyperMake erfordert, daß Sie wenigstens zwei Schriftarten angeben, die nur durch ein Komma ohne Leerzeichen voneinander getrennt sind. Wenn Sie eine Schriftart eingeben wollen, die wie "Tms Rmn" ein Leerzeichen enthält, müssen Sie statt dem Leerzeichen einen Unterstrich _ eingeben.
Ich persönlich möchte Ihnen raten, von dieser Möglichkeit nicht Gebrauch zu machen, da Sie nicht mit Sicherheit wissen, über welche Fähigkeiten der Browser und das Betriebssystem verfügt. Außerdem ist es eine gewisse Bevormundung des Benutzers, ihm seine "Lieblingsschrift" zu verwehren.
Es gibt die folgenden Phrase Elements:
PRE ADDRESS EM STRONG DFN CODE SAMP VAR CITE
PRE spielt dabei eine Sonderrolle: Wenn eine Schrift mit Phrase Element PRE gewählt ist, bleiben die Zeilenumbrüche aus dem Rohtext alle erhalten - die automatische Formatierung von Fließtext ist dann ausgeschaltet.
Die restlichen Phrase elements haben die folgende Bedeutung:
~EM~ Standard-Hervorhebung, meist kursiv dargestellt
~STRONG~ starke Hervorhebung, meist fett dargestellt
~DFN~ für Definitionen
~CODE~ für Programm-Quellcode
~SAMP~ für Programm-Beispielsausgaben
~VAR~ für Variablen oder Parameter von Befehlen
~CITE~ für Zitate
.END
.snL
Formatier-Attribute
.sn
Mit dem ~center~ Attribut in der Ini-Datei wird eine Schrift immer zentriert ausgegeben. Der Punktbefehl Output Centered läßt sich so sparen.
.IF IPFDOC
Für IPF läßt sich mit dem Attribut ~PRE~ die automatische Formatierung abstellen, beispielsweise für Quelltexte.
Der entsprechende Punktbefehl Formatierung ist in diesem Fall nicht mehr nötig.
.END
.snL
µ:Schrift Alternativ:
.sn
.in Zeichen für 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 Fließtextes umschalten:
.saZ
Das schaut ziemlich ~d~ä~m~l~i~c~h~ aus.
.sab
.IF IPFDOC
Der IPFC Compiler erlaubt nicht mehr als 14 Schriften in einer Datei.
Ich empfehle, nicht mehr als 3 oder 4 verschiedene Schriften zu verwenden. Außerdem möchte ich Ihnen nahelegen, den Standardwert auch wirklich für den überwiegenden Teil des normalen Fließtextes zu verwenden. weil der Standardwert eine vernünftig lesbare Schrift auf jedem Bildschirm ist.
.END
Eine ausgewählte Schrift ist bis zum nächsten Schrift-Punktbefehl aktiv, selbst über Kapitel hinweg.
Alternative Schriften sollten nur innerhalb eines Absatzes verwendet werden. Wenn Sie mehrere Absätze mit einer anderen Schrift schreiben wollen, verwenden Sie besser den ~.SN~-Befehl.
.IF HTML
.3
Phrase element Beispiele
Phrase element Befehle werden von Browser zu Browser unterschiedlich dargestellt.
.HTML
<ADDRESS>Beispielstext mit Phrase element ADDRESS</ADDRESS><br>
<PRE>Beispielstext mit Phrase element PRE</PRE><br>
<EM>Beispielstext mit Phrase element EM</EM><br>
<STRONG>Beispielstext mit Phrase element STRONG</STRONG><br>
<DFN>Beispielstext mit Phrase element DFN</DFN><br>
<CODE>Beispielstext mit Phrase element CODE</CODE><br>
<SAMP>Beispielstext mit Phrase element SAMP</SAMP><br>
<VAR>Beispielstext mit Phrase element VAR</VAR><br>
<CITE>Beispielstext mit Phrase element CITE</CITE><br>
.HYPERMAKE
.END
.3
Schrift-Beispiele
.in Schrift-Beispiele
.IF HTMLDOC
HTML unterstützt nur Size (Schriftgröße), nicht direkt Font (Schrifttyp).
- Hintergrundfarbe (gleiche Farben wie bei Vordergrundfarben).
Verändern Sie einmal die Breite des Fensters und beobachten Sie die Textformatierung. Ein solches Ergebnis läßt sich nicht mit normalen Zeichen erzielen.
Die hier sichtbaren µAuflistungszeichen können nicht beeinflußt werden, da sie im IPFC Compiler bzw. im HTML-Browser festgelegt sind.
Bei sortierten Listen wird ähnlich wie bei unsortierte Listen vorgegangen.
Die HTML- und IPF-Funktion Definition List wird nicht unterstützt; sie können es aber mit Hilfe des Befehls automatischer Rand simulieren.
.IF WORDSTARDOC
.3
Eingabe mit DOS WordStar
.sab
WordStar verfügt über "µ:weiche Leerzeichen;" ~░~. Sie können 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 gelöscht. Mit Tab (^I) lassen sich keine weichen Leerzeichen erzeugen.]
Es gibt keine bestimmten Auflistungszeichen für die verschiedenen Auflistungsebenen wie bei der Eingabe mit einem ASCII Editor. Stattdessen müssen weiche Leerzeichen verwendet werden.
░░-░░Hintergrundfarbe (gleiche Farben wie bei Vordergrundfarben).
.sn
Mit Ausnahme der ersten Auflistungsebene müssen 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 gewählt worden ist, darf innerhalb der gleichen Liste dies nicht mehr geändert werden. Beim folgenden Beispiel würde HyperMake Fehlermeldungen erzeugen:
Nachdem Sie einen normalen Abstatz ohne Listen-Funktion geschrieben haben, dürfen Sie für die nächste 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 für Auflistungsebenen
In der Ini-Datei können Sie Auflistungszeichen definieren. Auflistungszeichen stehen am Anfang einer Zeile. Angenommen, in der Ini-Datei sind folgende Auflistungszeichen festgelegt: * für die erste und = für die zweite Auflistungsebene.
Um die unsortiere Liste von der letzten Seite zu erstellen, geben Sie ein:
= Hintergrundfarbe (gleiche Farben wie bei Vordergrundfarben).
.sn
Sie können auch noch Auflistungszeichen für 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 zulässig, zur eigenen Übersicht weitere Leerzeichen zu verwenden. Das gleiche Ergebnis wie oben erhält man deshalb mit der folgenden Eingabe:
Eine sortierte Liste zählt 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 läßt 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
läßt 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 für 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" angehängt. IPFC unterstützt außerdem OS/2-MET-Dateien. [Um von GIF nach BMP zu konvertieren, bietet sich das Freeware-Tool GIF2BMP an (Graham Welland, September 1989, OS/2 16 bit).]
.END
.IF HTMLDOC
Bei der Erstellung von HTML-Dateien wird automatisch ".GIF" angehängt, wenn der Grafikdateiname ohne Erweiterung angegeben wird.
.END
.sab
Statt eines Dateinamens können Sie mit den Schlüsselwörtern ~LINKS~ ~RECHTS~ ~MITTE~ (MITTE nur IPF) die Grafik ausrichten. Standardwert ist ~LINKS~. Die Ausrichtung der Grafik gilt so lange, bis diese erneut geändert wird. Um eine Grafik rechtsbündig zu bekommen, schreiben Sie also
.snb
.BM RECHTS
.BM Dateiname
.sn
Mit einem zweiten Punktbefehl µ:bitmap text: lassen sich Grafiken in den Fließtext integrieren:
.snb
.BTX Dateiname
.sn
.bt▒ box
.in Grafikzeichen
~X~ steht stellvertretend für ein Sonderzeichen, das sonst nicht im Text verwendet wird (sog. Grafikzeichen). Dieses Sonderzeichen wird ersetzt durch die Grafik "Dateiname". Beachten Sie, daß Grafiken ▒ höher sind als Buchstaben, so daß sich ein größerer 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 zulässig, verschiedene Grafikzeichen gleichzeitig zu definieren.
Um eine Grafikzeichen-Definition wieder aufzuheben, wird eingegeben:
.snb
.BTX
.sn
ohne Dateiname.
.fa hori 35
.2
Querverweise und Index
.in Querverweis
.in Index
.in Zeichen für Index- und Querverweismarkierung
.3
Automatische Erstellung von Querverweisen und Indexeinträgen
Die Erstellung von Querverweisen ist die mächtigste Funktion von HyperMake. Wenn man eine HTML-Datei oder IPF-Datei direkt schreiben würde, so müßte 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 müßte man selbst 1000 mal einen Querverweis programmieren... Letztlich wird dann auf sinnvolle Querverweise ganz verzichtet.
Mit HyperMake müssen Sie lediglich einmal einen gewünschten Ausdruck (ein Wort oder mehrere Wörter) mit einem bestimmten Zeichen (dem Indexzeichen) markieren, und zwar an der Stelle, wo der Ausdruck erklärt 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 große Stichwortverzeichnis
Für HTML wird ein alphabetischer Index in einer eigenen Datei erzeugt. Dieses Stichwortverzeichnis gibt es in einer großen und einer kleinen Ausgabe, abhängig von der Anzahl der Einträge. Das große Stichwortverzeichnis verfügt über Querverweise zu den Anfangsbuchstaben A bis Z. Ab wann das große und bis wann das kleine Stichwortverzeichnis angelegt werden soll, kann in der Ini-Datei unter extended index angegeben werden.
.END
.3
Markieren eines einzelnen Wortes, Ändern des Indexzeichens
.in Indexzeichen
.snL
Markieren eines einzelnen Wortes
.sn
Um ein einzelnes Wort für 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 Kapitelüberschriften, benutzen Sie hierfür die Duplizierung von Kapitelüberschriften.
.snL
Ändern des Indexzeichens
.sn
Mit dem Punktbefehl Indexzeichen
.snb
.IZ@
.sn
.sab
wird die aktuelle Einstellung für das Indexzeichen aus der Ini-Datei, z. B. ~#~, in ~@~ geändert.
.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, können in der Ini-Datei unter extended letters definiert werden.)
Um einen Ausdruck mehrerer Wörter zu markieren, werden zusätzlich zum Indexzeichen Doppelpunkte wie Klammern verwendet:
.snb
Heutzutage ist die #:Sicherheit von Computern: fast schon...
...
Trotzdem kann die #:Sicherheit von Großrechnern: nicht als...
...
Dafür hat die #:Benutzerfreundlichkeit von Computern; doch...
.sn
Im Index wird folgendes erscheinen:
.snC
Sicherheit
von Computern
von Großrechnern
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 µ:führende Wort:, ein "#:XXXXα;α" das letzte Wort. Das führende Wort wird im Index zuerst genannt und bestimmt somit die alphabetische Reihenfolge im Index. Die Wahl des führenden Wortes hat keine Auswirkung auf Querverweise.
Wenn ein führendes Wort im Index nur einmal vorkommt wie
.snC
Computern
Benutzerfreundlichkeit von
.sn
schreibt HyperMake im Index
.snC
Computern, Benutzerfreundlichkeit von
.sn
Ihnen wird schon aufgefallen sein, daß die Endung "Computern" nicht sehr schön ausschaut. Solche unschönen Endungen dürfen Sie ausklammern:
.snb
Dafür hat die #:Benutzerfreundlichkeit von Computer;n doch...
...
hat gezeigt, daß bei #:Computer:n
.sn
.3
Markieren eines Ausdruckes außerhalb des Fließtextes
Mit dem Punktbefehl INdex
.snb
.IN Ausdruck
.sn
können Sie ein Wort oder einen Ausdruck mehrerer Wörter im Index ablegen und Querverweise von gleichlautenden Ausdrücken anderer Textstellen zu dieser Stelle hin erzeugen. Das hat den Vorteil, daß der Indexeintrag bzw. das Querverweis-Ziel nicht wortwörtlich im Fließtext 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 führende Wort. Wenn dagegen das letzte Wort das führende 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 können sich dies ggf. zunutze machen.
.3
Querverweise bei leicht abweichenden Wörtern
.snL
µ:Verfahrensweise bei Wortendungen;
.sn
Was macht HyperMake, wenn das Wort "Maschineαnα" 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 "Maschineαnα" markiert wurde, so wird bei "Maschine" kein Querverweis gezogen. Markieren Sie deshalb die Wörter in schlichter Form (Singular, 1. Fall).
Um bei Wörtern, die mit Vokalen[Buchstaben a e i o u y] enden wie "Konto" "Konten" trotzdem die Gleichheit zu finden, kürzt HyperMake vor dem Vergleich die Wörter erst einmal um den letzten Buchstaben, wenn er ein Vokal ist.
.snL
Groß- und Kleinschreibung
.sn
Querverweise werden unabhängig von der Groß- bzw. Kleinschreibung des Anfangsbuchstabens gezogen. Wenn dagegen weitere Buchstaben in ihrer Groß- bzw. Kleinschreibung abweichen, wird der Querverweis nicht erstellt. Beispiel:
.sab
~.IN Wort~
.sn
Querverweise werden erstellt nach ~Wort~, ~wort~, aber nicht nach ~WORT~.
.3
Mehrmalige Markierung eines Wortes
HyperMake geht davon aus, daß Sie in einem Hypertext jedes Wort/jeden Ausdruck nur einmal markieren. Wenn er mehrmals markiert ist, erscheint er mehrmals im Index direkt untereinander und Querverweise werden an die erste markierte Stelle hin gezogen.
.3
Unterdrücken von Querverweisen
.in omitting links
.in Unterdrücken von Querverweisen
Querverweise werden natürlich nicht gezogen, wenn sie auf das selbe Fenster (Kapitel) zeigen würden. Querverweise werden außerdem nicht gezogen, wenn der Ausdruck mehrmals im gleichen Absatz vorkommt. Also beispielsweise Punktbefehl Punktbefehl Punktbefehl - nur das erste Vorkommen von "Punktbefehl" im Absatz erhält den Querverweis.
Wenn Sie lieber mehrfache Querverweise vom gleichen Ausdruck nicht nur in einem Absatz, sondern gleich im gesamten Fenster (Kapitel) unterdrücken wollen, müssen Sie in der Ini-Datei den Schalter "no more links in" von PARAGRAPH in WINDOW ändern.
Es kann hin und wieder nützlich sein, bei bestimmten Schriften - etwa Beispielstext - Querverweise grundsätzlich zu unterdrücken. Das erreichen Sie in der Ini-Datei mit dem Schalter Font, Parameter ~OmitLinks~.
Natürlich ist es erlaubt, eine andere Schrift mit gleichen Einstellungen außer dem OmitLinks-Parameter zu definieren. Mit diesem Trick können Sie Querverweise unterdrücken, ohne wirklich die Schrift zu wechseln.
.IF IPFDOC
.3
Externe Querverweise bei IPF (external links)
µ:Externe Querverweise: sind Querverweise, die zu einem Kapitel eines anderen INF- oder HLP-Dokuments hin zeigen. Um solche externen Querverweise (external links) zu erzeugen, sind
■ die Ini-Datei
■ die Datei, zu deren Kapitel hin gesprungen werden soll (Sprungziel-Datei)
■ die Datei, aus der heraus gesprungen werden soll (Sprungstart-Datei)
zu editieren.
Externe Querverweise nutzen die HyperMake Funktion der Erstellung von Panel ID's. Das Kapitel über Panel ID's müssen Sie aber nicht extra lesen.
.snL
1. Ini-Datei
.sn
In der Ini-Datei muß unter "Panel ID filename =" eine Bezeichnung beginnend mit *. eingetragen werden, also etwa
.snb
Panel ID filename = *.PAN
.sn
Der Dateiname der Quelldatei mit der Erweiterung PAN wird so zur Panel ID Datei, die HyperMake beim Kompilieren der Sprungziel-Datei automatisch erstellt. Diese Panel ID Datei verwendet HyperMake dann wiederum beim Kompilieren der Sprungstart-Datei.
.snL
2. Sprungziel-Datei
.sn
Beim Indizieren der Überschriften numeriert HyperMake die Kapitelüberschriften von eins fortlaufend durch. Da es unpraktisch wäre, sich eine Nummer wie 237 zu merken und sich die Nummer eines bestimmten Kapitels schließlich ändert, wenn davor ein neues Kapitel eingeschoben wird, werden diese ID's (Identifikationsnummern) der Kapitelüberschriften durch verständlichere Bezeichnungen wie Kapitel_Einleitung ersetzt. Mit dem Befehl
.snb
.ID Kapitel_Einleitung
.sn
in der Sprungziel-Datei erhält das Kapitel, wo der Punktbefehl steht, die Kurzbezeichnung "Kapitel_Einleitung", vgl. Datei BEISPIEL. Alle durch den ID-Punktbefehl deklarierten Kurzbezeichnungen speichert HyperMake in der Datei Quelldateiname.PAN oder einer anderen Erweiterung, je nach Eintrag in der Ini-Datei, ab. Auf diese Datei greift HyperMake dann zu, wenn die Sprungstart-Datei kompiliert wird.
.snL
3. Sprungstart-Datei
.sn
In der Datei, aus der gesprungen werden soll, wird der ID-Punktbefehl aus der Sprungziel-Datei wiederholt und darunter werden die gewohnten IN- und IV- (Index vertauscht) Punktbefehle gesetzt. Das ganze wird zwischen zwei neue EX-Punktbefehle plaziert.
.snb
.EX Dateiname.inf
.ID Kapitel_Einleitung
.IN Ausdruck
.EX
.sn
Hinter dem EXtern-Punktbefehl wird ein Dateiname angegeben, wobei sowohl die Erweiterung INF als auch HLP möglich 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 Fließtext stehen.
Alle in der Sprungstart-Datei gefundenen Ausdrücke "Ausdruck" erhalten einen externen Querverweis zu dem Kapitel der Datei Dateiname.inf, das mit dem ID Punktbefehl ".ID Kapitel_Einleitung" gekennzeichnet ist.
Wo der .EX - .EX -Block in der Sprungstart-Datei steht, spielt überhaupt keine Rolle.
Pascal-Programmierer aufgepaßt! Bei der Kurzbezeichnung hinter dem ID-Befehl wird Groß- und Kleinschreibung unterschieden!
Beachten Sie die Aktualität 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 erhält. Erst dann kann die Sprungstart-Datei kompiliert werden.
Bei der Angabe des Dateinamens
.snb
.EX Dateiname.inf
.sn
noch Pfade anzugeben, macht meist keinen Sinn, da sich die Datei bei verschiedenen Computern auf verschiedenen Pfaden und Laufwerken befinden kann. Wenn die Datei sich im gerade angemeldeten Pfad befindet, gibt es keine Probleme, auch nicht, wenn der Pfad bei SET BOOKSHELF der Datei CONFIG.SYS enthalten ist. Ist das jeweils nicht der Fall, sollten Sie Umgebungsvariablen verwenden.
Als Beispiel für externe Querverweise können Sie Beispiel Externe Querverweise ausprobieren oder gleich hier auf die Worte Kanzler, SPD und CDU drücken. Beim Erstellen dieses Hypertextes (also der Sprungstart-Datei) habe ich an einer beliebigen Stelle den folgenden Befehlsblock geschrieben:
.snb
.EX Beispiel.inf
.ID Kapitel_Kanzler
.IN Kanzler
.ID Kapitel_Parteien
.IN SPD
.IN CDU
.EX
.sn
.EX Beispiel.inf
.ID Kapitel_Kanzler
.IN Kanzler
.ID Kapitel_Parteien
.IN SPD
.IN CDU
.EX
In der Sprungziel Datei BEISPIEL finden sich in den Kapiteln über Kanzler und Parteien die zwei ID-Punktbefehle ebenfalls.
.END IPFDOC
.IF HTMLDOC
.3
Externe Querverweise bei HTML (external links)
Mit HyperMake können Sie bestimmte Wörter definieren, die grundsätzlich zu einer bestimmten µURL, also einer beliebigen Adresse im Internet, zeigen sollen. Wenn etwa alle Wörter "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 sämtliche externe Links zu konzentrieren.
.END HTMLDOC
.IF IPFDOC
.3
Programme per Querverweis starten (launching programs, nur IPF)
.in Programme starten
.in Starten von Programmen
.in launching programs
Ähnlich wie externe Querverweise kann auf externe Programme verwiesen werden, können also externe Programme gestartet werden.
.snb
.EX mppm.exe c:\mmos2\movies\macaw.avi
.IN Papagei
.EX e.exe BEISPIEL.TXT
.IN Datei BEISPIEL
.EX
.sn
.EX mppm.exe c:\mmos2\movies\macaw.avi
.IN Papagei
.EX e.exe BEISPIEL.TXT
.IN Datei BEISPIEL
.EX
.sao
Der Papagei ist ein Vogel. (Der Querverweis "Papagei" ist nur dann aktiv, wenn Sie OS/2 Multimedia installiert haben.) Der Querverweis zur Datei BEISPIEL, bei dem der Systemeditor gestartet wird, ist Ihnen vielleicht schon im vorangegangenen ~Kapitel~ aufgefallen.
Drückt der Benutzer auf "Papagei" oder "Datei BEISPIEL", wird das entsprechende externe Programm gestartet. Im EX-Punktbefehl sind die Parameter hinter dem Programmnamen optional. Programmname und Parameter sind durch ein Leerzeichen getrennt. Die Erweiterung ~.EXE~ muß angegeben werden! Es können natürlich auch Batchdateien mit der Endung ~.CMD~ oder DOS-Dateien mit der Endung ~.BAT~ oder ~.COM~ gestartet werden.
Wenn Daten nicht bei jedem Benutzer in einem bestimmten Pfad, z. B. C:\MMOS2\MOVIES, zu finden sind, müssen Umgebungsvariablen verwendet werden.
Sie können einem EX-Punktbefehl auch mehrere IN-Punktbefehle folgen lassen, etwa um sowohl bei "Papagei" als auch bei "Papageienfilm" den Film starten zu lassen.
Damit eine Bezeichnung wie "CONFIG.SYS" oder "Eule (Film)" einen Querverweis bekommt, müssen Punkt bzw. Klammern in der Ini-Datei unter extended letters aufgeführt sein.
.4
Umgebungsvariablen
.in Umgebungsvariable
Bei externen Querverweisen und beim Starten von Programmen können Umgebungsvariablen sehr ratsam sein.
Beim Verwenden einer INF-Datei auf verschiedenen Rechnern sollten bestimmte Datenpfade durch Umgebungsvariablen ersetzt werden, etwa %MMVIDEO%. Jeder Rechner, der Ihren Hypertext benutzt, sollte dann in der Datei CONFIG.SYS z. B. folgenden Eintrag haben:
.snb
SET MMVIDEO=C:\MMOS2\MOVIES
.sn
Im HyperMake-Quelltext schreiben Sie dann:
.snb
.EX mppm.exe %MMVIDEO%\macaw.avi
.IN Papagei
.EX
.sn
OS/2 ersetzt dann den Ausdruck %MMVIDEO% gegen den in der CONFIG.SYS angegebenen Laufwerks- und Pfadnamen.
Genauso können Sie bei externen Querverweisen verfahren.
In den Fällen, wo die Pfadbezeichnung mit einem Strichpunkt endet, etwa
.snb
SET MMBASE=C:\MMOS2;
.sn
funktioniert allerdings die Umgebungsvariable nicht mehr und der Querverweis wird nicht gezogen.
.EX view.exe cmdref.inf
.IN OS/2-Referenzhandbuch
.EX
Zum Thema Umgebungsvariablen können Sie auch unter "SET" im OS/2-Referenzhandbuch nachschlagen.
.END IPFDOC
.2
Duplizierung von Kapitelüberschriften
.in Duplizierung von Kapitelüberschriften
Es ist häufig erforderlich, die Kapitelüberschrift als Querverweis-Ziel zu deklarieren, in den Index aufzunehmen und - insbesondere bei IPF relevant - im Textfenster mit größerer oder farbiger Schrift zu wiederholen:
.snb
.3
Kapitelüberschrift
.IN Kapitelüberschrift
.snX
Kapitelüberschrift
.sn
.sn
Diese Tipparbeit kann man sich sparen. Mit dem Punktbefehl DuPliziere
.snb
.dpX
.sn
wird die Kapitelüberschrift zu Beginn des Fließtextes in Schrift C dupliziert, d.h. wiederholt, und zwar in allen Gliederungsebenen.
.IF IPFDOC
Besonders vorteilhaft ist dies bei sehr langen Überschriftstexten, da bei INF-Dateien in der Fensterleiste meist nur die ersten 70 Buchstaben Platz finden.
.END
Mit Hilfe der Einstellung Index Filter in der Ini-Datei können bestimmte Zeichen im Stichwortverzeichnis und bei der Duplizierung von Kapitelüberschriften unterdrückt werden.
.snb
.dp34X
.sn
führt die Duplizierung nur für 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 Kapitelüberschrifts-Textes im .IN -Punktbefehl kann man so sparen. Statt # läßt sich auch das Stichwortzeichen aus der Ini-Datei verwenden.
.snb
.dp##
.sn
nimmt den Überschrifts-Text nicht nur als Querverweis-Ziel, sondern zusätzlich noch im Index auf. Diese Funktion sollte nur mit Bedacht gewählt werden, da die Information sowohl im Index als auch im Inhaltsverzeichnis auftaucht, also redundant ist.
.IF IPFDOC
Übrigens kann ein großer Index eine INF-Datei bei der Benutzung des Index sehr langsam machen.
.END
.snb
.dp3##X,
.3
Meier, Fritz
.sn
im Fließtext 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" können beliebig kombiniert werden, wobei die Reihenfolge egal ist.
.3
Beispiel Duplizierung Kapitelüberschriften - Quelltext
.snz
.fa verti 30
.dp4R#,
.3
Beispiel Duplizierung Kapitelüberschriften - Ergebnis
Bundeskanzler seit 1949
(CDU, SPD und Kanzler sind externe Querverweise. Schrift R ist in Ini-Datei definiert.)
.4
Adenauer, Konrad
1949-1963, CDU, war der erste Kanzler nach dem zweiten Weltkrieg. Ihm folgte Ludwig Erhard.
.4
Erhard, Ludwig
1963-1966, CDU, Nachfolger von Konrad Adenauer. Zweiter Kanzler der Bundesrepublik. Ihm folgte Kurt Georg Kiesinger.
.4
Kiesinger, Kurt Georg
1966-1969, dritter Kanzler der CDU, leitete die große Koalition von CDU und SPD. Nachfolger von Ludwig Erhard.
.4
Brandt, Willy
1969-1974, erster Kanzler der SPD.
.4
Schmidt, Helmut
1974-1982, Kanzler der SPD aus den Siebzigern. Nachfolger von Willy Brandt.
.4
Kohl, Helmut
amtierender Kanzler der CDU seit 1982. Nachfolger von Helmut Schmidt.
.sn
.fa verti 30
.3
Beispiel Duplizierung Kapitelüberschriften - Ergebnis
.in Beispiel Duplizierung von Kapitelüberschriften
.in Beispiel Externe Querverweise
.dp4R#,
Bundeskanzler seit 1949
(CDU, SPD und Kanzler sind externe Querverweise. Schrift R ist in Ini-Datei definiert.)
.4
Adenauer, Konrad
1949-1963, CDU, war der erste Kanzler nach dem zweiten Weltkrieg. Ihm folgte Ludwig Erhard.
.4
Erhard, Ludwig
1963-1966, CDU, Nachfolger von Konrad Adenauer. Zweiter Kanzler der Bundesrepublik. Ihm folgte Kurt Georg Kiesinger.
.4
Kiesinger, Kurt Georg
1963-1966, dritter Kanzler der CDU, leitete die große 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 ermöglicht 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 Fähigkeiten von IPF-Tabellen sind lange nicht so groß wie bei HTML. Für 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 grundsätzlich nur mit fester Schrift.
.END
.sab
Eine Tabelle (Table) beginnt mit einem ~.TA~ Punkbefehl, gefolgt von einem Titel. Soll die Tabelle keinen Titel erhalten, muß ~.TA NO~ geschrieben werden. ~.TA~ gefolgt von einem Return, also ohne weitere Angaben, beendet die Tabelle.
Tables können weitestgehend so eingegeben werden, wie man sie in einem Editor mit mit festem Zeichenabstand darstellt. Es gelten folgende Regeln:
■ Zwischen zwei Zellen müssen zwei Leerzeichen sein. Dies ist das Kriterium für die Trennung zwischen den Zellen. Die zwei Leerzeichen müssen nicht immer untereinanderstehen, zumindest eine Spalte sollte aber schon über alle gewünschten Zeilen nur Leerzeichen enthalten. Linksbündigkeit bzw. Rechtsbündigkeit spielt keine Rolle.
■ Soll eine Zelle über zwei Zellen-Zeilen gehen, so wird sie nach unten mit einem Gänsefüßchen verlängert.
■ Soll eine Zelle größer sein als deren Textinhalt, so darf der Text am Anfang und Ende mit Bindestrichen aufgefüllt werden. Diese werden wieder gelöscht, wenn sie nicht einzeln vorkommen wie beim Beispiel -123,45.
■ mehrere Zeilen können zu einer Zelle zusammengefaßt 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.
Standardmäßig werden Zellen, die überwiegend Ziffern enthalten, rechtsbündig geschrieben und Zellen, die überwiegend Buchstaben enthalten, linksbündig.
Mit dem Punktbefehl
~.TT~
(Table Tags) können HTML Table Tags verändert werden. Standard ist
~.TT BORDER CELLPADDING=5~
~.TT BORDER CELLPADDING=5 BGCOLOR="#D0D0D0"~
verwendet für die Tables einen grauen, einfarbigen Hintergrund. Das kann vonnöten 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 unübersichtlich aussehen.
.2
Linienziehen
.in Zeichen für 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 für das Zeichen, welches die Ecken eines Rechtecks markiert und Y für den Beginn einer Unterteilung. Ein vorangestelltes Zeichen Z ergibt Doppelstriche (nur IPF). Verwenden Sie für X, Y und Z Zeichen, die sie sonst in der Liniengraphik nicht benötigen.
Die standardmäßig eingestellte Schrift für Linienziehen können 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 unterstützt. Falls Sie andere Codepages verwenden müssen, 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 können Sie die korrekte Ausrichtung des Rechtecks überprüfen.
.END
.2
Fußnoten
.in Fußnote
Die Erstellung von Fußnoten geht mit HyperMake sehr leicht. Fußnoten dürfen etwa in Klammern geschrieben werden wie {Inhalt der Fußnote}, nachdem Sie den Punktbefehl FUßnoten verwendet haben:
~.FU{}~
Statt den Klammern und dem Fußnoteninhalt erscheint nur ein Sternchen[Inhalt der Fußnote], auf das Sie mit der Maus drücken können.
.fu{}
Andere brauchbare Fußnotenzeichen sind [ ], < > oder ▄ (Alt-220) ▀ (Alt-223) - sozusagen fette Gänsefüßchen (bei IBM codepage).
.fu[]
.IF HTMLDOC
Sie können für das HTML-Fußnotenfenster eine andere Schrift wählen:
~.FU{}snX~
Für das HTML-Fußnotenfenster wird dann Schrift X verwendet.
Mit dem Befehl Fußnoten Size
~.FS 30~
können Sie die Größe des Fußnotenfensters in Prozent verstellen. Standard ist 15 Prozent. Dieser Befehl muß vor einem neuen Kapitel, das die geänderte Fensteraufteilung haben soll, aktiviert werden.
.END
Die Fußnotenfunktion kann zwischendurch auch wieder ausgeschaltet werden, indem keine Parameter dahinter geschrieben werden:
~.FU~
oder Sie können zwischendurch auch andere Fußnotenzeichen definieren. Standardmäßig sind gar keine Fußnotenzeichen definiert.
Wenn Sie statt einem "*" als Knopf zur Aktivierung des Fußnotenfensters einen anderen Text haben wollen, können Sie dies mit dem Punktbefehl Fußnoten Text ändern:
~.FT XXX~
Statt einem Sternchen erscheint dann der Text "XXX". Sie dürfen dabei auch eine Grafik statt Text verwenden:
.snb
.BT& Dateiname
.FT&
.sn
(siehe Grafiken)
.IF HTMLDOC
Wenn Sie bei HTML Fußnoten nicht als Frames dargestellt haben möchten, sondern als separate Datei, können Sie dies mit dem Kommandozeilenparameter ~/NOFRAMES~ erreichen.
.END
.FA hori 30
.2
Ränder 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 Einrückung auch in den folgenden Zeilen korrekt ist.
.LM20
Dies ist ein Beispielstext mit linkem Rand 20; beachten Sie, daß die Einrückung auch in den folgenden Zeilen korrekt ist.
.LM1
Der linke Rand läßt sich mit dem Punktbefehl Left Margin (linker Rand) verstellen:
~.LM n~
n steht für 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 verändern. HyperMake simuliert die Verstellung des linken Randes unter Verwendung der HTML definition list. Das hat zur Folge, daß der Rand nur in Fünferschritten geändert werdn kann. Left Margin 1 und 2 hat gar keine Wirkung, 4 bis 8 stellt ihn auf ca. 5 (abhängig vom Browser), 9 bis 13 auf 10 usw.
.END
.IF WORDSTARDOC
Beim DOS WordStar müssen 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 darüber erzeugten weichen Leerzeichen. Genauso können Sie weiche Leerzeichen durch Tabulatoren (^OL) und der Absatzeinrückung (^OG) generieren; beim nachträglichen Formatieren werden weiche Leerzeichen mit ^OG ^B erzeugt.]
.END
.3
Formatierung aus- und einschalten
.IF IPFDOC
.in Formatierung
Bei Erstellung von IPF-Dateien läßt sich mit den Punktbefehlen Formatierung aus und Formatierung an
.snb
.FM aus
.sn
.snb
.FM an
.sn
der automatische Zeilenumbruch aus- und wieder einschalten. Standardmäßig ist die Formatierung eingeschaltet. Aus bedeutet, daß die Formatierung (Zeilenvorschübe) so bleiben wie im Quelltext. Die Einstellung gilt bis zum nächsten Formatierungs-Befehl, selbst über Kapitelüberschriften 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 Einträge im Index würden 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
Für HTML-Dateien gibt es keine Punktbefehle zum Ein- und Ausschalten des Zeilenumbruches. Wenn Sie einen Text nicht formatiert haben wollen, müssen Sie eine Schrift mit Phrase Element PRE verwenden.
.END
.IF IPFDOC
Bei IPF können Sie bei Festlegung der Schrift ~PRE~ in der Ini-Datei deklarieren, Sie können 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 können aber auch bei Festlegung der Schrift ~center~ schreiben, die eigenen Punktbefehle können Sie dann sparen.
.3
Automatischer Rand (auto margin)
.in definition list
.sv automatischer Rand
Sie können (z. B. für Definitions-Listen) den linken Rand zwischendurch mit Hilfe von Leerzeichen verändern.
.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 Größen 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 Größen von 14 bis 21 Zoll; Am Bildschirm sollte am wenigsten gespart werden.
Mit dem Punktbefehl µ:Auto Margin: (autom. Rand) läßt 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 Fließtext auf an lassen. Wird die erste Zeile eines Absatzes eingerückt, ändert das den Rand für den einen Absatz. Sie müssen den AM Befehl nur dann unbedingt auf aus stellen, wenn Sie nur die erste Zeile eines Absatzes eingerückt haben möchten.
Wenn Sie einen ASCII-Editor mit ASCIIHARDRET verwenden, so sollte die Einrückung nur am Absatzanfang sein; die folgenden Zeilen, die vom Editor umgebrochen werden, dürfen keine Leerzeichen am Anfang erhalten.
.IF WORDSTARDOC
WordStar-Dateien brauchen die Auto Margin Funktion gar nicht.[Sie können im WordStar jederzeit mit ^OG und weichen Leerschritten den linken Rand beeinflußen.]
.END
.2
If-Bedingungen
.in If-Bedingung
Mit Hilfe von If-Bedingungen lassen sich für z. B. ähnliche Programmversionen leicht unterschiedliche IPF- bzw HTML-Dateien aus dem selben Quelltext erstellen. Hierfür gibt es drei neue Punktbefehle:
.snb
.IF BEDINGUNG
.ELSE
.END
.sn
Die Groß- oder Kleinschreibung der Bedingungen ist dabei egal. Der ELSE-Befehl ist natürlich optional.
Zum Kompilieren des Quelltextes wird in der Kommandozeile z. B. eingegeben:
.snp
.fu
[C:\myProject] HMAKE MeinDoku.txt #BEDINGUNG
.fu[]
.sn
Es können auch mehrere Bedingungen in die Kommandozeile eingegeben werden. Entscheidend ist das # Zeichen, nicht die Reihenfolge.
IF bedeutet "wenn", ELSE bedeutet "andernfalls". Mit END endet die If-Bedingung.
Mehrere Bedingungen in der If-Bedingung (verknüpft mit AND oder OR) werden nicht unterstützt.
Standardmäßig sind die Bedingungen #HTML bzw. #IPF gesetzt.
.IF HTMLDOC
.1
HTML-spezifische Funktionen
HyperMake bietet einige spezielle Funktionen für Problemstellungen, die speziell bei HTML und dem Veröffentlichen im WWW entstehen. Die meisten hier aufgeführten Funktionen werden nicht über Befehle im Quelltext, sondern über die Ini-Datei und über Kommandozeilenparameter aktiviert.
Wenn Sie HyperMake-Texte im WWW veröffentlichen wollen, sollten Sie dieses Kapitel durchlesen, auf alle Fälle aber das Unterkapitel zu HTML-Dateinamen!
.2
Buttons (Navigations-Knöpfe)
.in Buttons
.in Navigations-Knöpfe
Allgemeine Navigations-Buttons
Beachten Sie bitte die Button-Bibliothek von HyperMake im Verzeichnis BUTTONS.
In HTML-Texten ermöglichen üblicherweise Buttons (Navigations-Knöpfe) am Anfang und am Ende jeder einzelnen HTML-Seite, den Benutzer von einer zur anderen Seite zu leiten. Sie können in der Ini-Datei entsprechende Funktionen angeben.
.snb
function for first line = BACK FORWARD CONTENT INDEX
text for first line = zurück vorwärts Inhalt Stichwörter
.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 nächsten Seite
■ CONTENT springt zum Inhaltsverzeichnis
■ INDEX springt zum Stichwortverzeichnis.
Analog zu den Funktions-Bezeichnern BACK FORWARD usw. müssen die Dateinamen der Buttons BACK.GIF, FORWARD.GIF usw. lauten.
Zu jeder Funktion gibt es auch einen Text. Wenn im HTML-Browser das automatische Laden von Bildern deaktiviert wird, erscheint statt dem graphischen Button ein entsprechender Text. Sie können aber auch in der Ini-Datei mit ~buttons = NO~ die graphischen Buttons ganz ausschalten und erhalten dann von vornherein nur den Text als Querverweis statt dem Navigations-Button.
Wenn Sie bestimmte Knöpfe nicht haben wollen, löschen Sie die entsprechenden Anweisungen in den Zeilen unter "function for.." und "text for..". Dies können Sie separat für die Buttons am Seitenanfang ("first line") und Seitenende ("last line") tun. Sie können auch die Reihenfolge der Knöpfe 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 möglich, selbst Navigations-Buttons zu definieren, die auf ein beliebiges Kapitel verweisen. Hierfür 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 = zurück vorwärts Inhalt Stichwörter BezeichA BezeichB ...
.sn
und im Quelltext in den gewünschten Kapiteln:
.snb
.ID LABEL_A
.ID LABEL_B
.sn
drückt 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 heißt die HTML-Datei dann LABEL_A.HTML, während HyperMake sonst Dateinamen mit fortlaufender Nummer vergibt. Wenn Sie Navigations-Knöpfe verwenden wollen, aber ausdrücklich keine festen Dateinamen, können Sie dies über einen Kommandozeilenparameter ~/NOID~ erreichen:
Beachten Sie bitte die Button-Bibliothek.
Buttons als externe Querverweise
Es ist zulässig, 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 erhält der Button NETSCAPE.GIF eine URL als Adresse.
So können 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 persönlichen Homepage.
.2
HTML-Dateinamen
.in Dateinamen
Normalerweise nummeriert HyperMake die Kapitel einfach durch: N000.HTML, N001.HTML usw. Es gibt verschiedene Möglichkeiten, Einfluß auf die automatische Wahl von Dateinamen zu nehmen.
Vorgabe eines festen Dateinamens
.snb
.2
Über den Autor
.ID AUTOR
Ich bin 31 Jahre alt, habe Betriebswirtschaft studiert...
.sn
Sie können eine bestimmte Textstelle mit einer ID (Identity, Identifizierung) versehen. Auf eine solche Textstelle können benutzerdefinierte Navigations-Knöpfe (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 außen angesprungen werden, bei einem Update auf einmal ihren Namen ändern. Das kann auch bei einer umfangreichen Homepage sinnvoll sein: Mit ID markierte HTML-Seiten können auch separat aktualisiert werden, ohne daß für jede Textakutalisierung sämtliche Dateien erneut hochgeladen werden müssen.
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 für jedes Projekt eine separate Ini-Datei. Um separate Ini-Dateien zu vermeiden, gibt es einen weiteren Kommandozeilenparamter:
.snp
.fu
[C:\myProject] HMAKE mein.txt /PRE
.fu[]
.sn
erzeugt HTML-Dateien ~MEIN\MEIN*.HTML~ .
Sie können dann gegegebenenfalls die HTML-Dateien aller Einzelprojekte in ein gemeinsames Verzeichnis kopieren.
Bei DOS-Laufwerken darf der "pre filename" bzw. der Quelltext nicht länger als 3 Buchstaben sein!
8.3 Dateinamen, lange Dateinamen, Groß- und Kleinschreibung
Dateinamen gehorchen unter verschiedenen Betriebssystemen unterschiedlichen Gesetzen. DOS kennt nur kurze Dateinamen der 8.3 Schreibweise. Die PC-Betriebssysteme DOS, OS/2, Windows 95 und Windows NT unterscheiden nicht zwischen Groß- und Kleinbuchstaben, wohl aber Unix-Systeme. Und Unix-Systeme sind der Standard bei Internet-Servern. Es kann also vorkommen, daß die Links (Querverweise) auf Ihrem Rechner einwandfrei funktionieren, im Internet nach dem Hochladen auf den Server aber nicht mehr!
Um das zu verhindern, bietet HyperMake diverse Mechanismen: Einen Schalter in der Ini-Datei, einen Kommandozeilenparameter und eine automatische Erkennung von Laufwerken mit kurzen DOS-Dateinamen.
In der Ini-Datei können Sie einstellen, wie die Dateinamen aussehen sollen.
Entscheidend ist das "schwächste Glied" in der Kette von Kopier- und Hochlade-Vorgängen. 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 Beschränkung und DOS wandelt alle Kleinbuchstaben in Großbuchstaben um. Die richtige Einstellung ist also ~SAMPLE.HTM~. Benutzen Sie durchweg Windows95-Programme, sollten Sie ~Sample.html~ wählen.
Wählen Sie hier eine falsche Einstellung, etwa ~sample.html~ auf einem DOS-Laufwerk, das der 8.3 Beschränkung unterliegt, korrigiert HyperMake die Endung automatisch auf ".HTM" um, wobei die Querverweise ebenfalls richtig gezogen werden.
Mit dem Kommandozeilenparameter ~/FAT~ (File allocation table, so heißt das DOS-Dateisystem) erreichen Sie den selben Effekt wie mit der Einstellung ~SAMPLE.HTM~ in der Ini-Datei: Auch wenn das Dateisystem lange Dateinamen unterstützt, hält sich HyperMake an die DOS-Konventionen.
Achten Sie auf die richtige Groß- und Kleinschreibung der Dateinamen von GIF-Dateien!
Unterschiedliche Sprachen in einem Verzeichnis
Wenn Sie etwa eine deutsch- und englischsprachige Homepage in ein gemeinsames Verzeichnis kopieren möchten, ergibt sich das Problem, daß sowohl die deutschsprachigen Buttons FORWARD.GIF, BACK.GIF usw. als auch die englischsprachigen Buttons identische Dateinamen haben.
Der Kommandozeilenparameter ~/_~ (Unterstrich) hängt an alle Verweise auf Buttongrafik-Dateinamen noch _ an: FORWARD_.GIF, BACK_.GIF, USER_.GIF. Für eine der beiden Sprachen müssen Sie diese Funktion verwenden und die Button-Dateinamen entsprechend umbenennen.
.2
Titel und Meta-Anweisungen
.in Meta-Anweisungen
.in Titelzeile
Zu Beginn jeder HTML-Datei wird ein Titel festgelegt, der in der Titelzeile (titlebar) des Browsers erscheint.
Für dieses aktuelle Kapitel ist etwa
HyperMake 3.0 - Titel und Meta-Anweisungen
eine sinnvolle Bezeichnung. Welcher Text auf jeder HTML-Seite als Titel erscheint, können Sie mit "file title" beeinflussen:
.snb
//here you can define the text appearing in the browser titlebar
//enter DOCTITLE and/or HEADING and fixed text, e.g. a slash; NO means no text
file title = DOCTITLE - HEADING
.sn
DOCTITLE ist der Titel des gesamten HyperMake-Dokuments, den Sie hinter den Punktbefehl ~.TI~ schreiben. HEADING ist der aktuelle Überschrifts-Text. Neben diesen zwei Schlüsselwörtern können 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. Für die Fußnotendatei bzw. -dateien wird der Text aus dem Ini-Eintrag "notes text" verwendet.
Analog zum Titel kann mit "meta content" ein automatischer Meta-Eintrag vorgenommen werden.
.snb
meta content = DOCTITLE - HEADING
.sn
An die entsprechende Stelle der HTML-Datei wird dann geschrieben:
.snb
<META NAME "keywords" CONTENT="...">
<META HTTP-Request "keyword" CONTENT="...">
.sn
Dies sind Informationen für Suchmaschinen im WWW und sollten in keiner veröffentlichten HTML-Datei fehlen. Browser zeigen diesen Text nicht an, er wird nur von Suchmaschinen verwendet.
Einbinden von benutzerdefinierten HEAD-Anweisungen
Es können entweder für einzelne oder für alle HTML-Dateien zusätzliche Anweisungen im HEAD-Block geschrieben werden. Standardmäßig schreibt HyperMake in die HTML-Datei nur:
.snb
<HEAD>
<META NAME="generator" content="HyperMake 3.00">
<META NAME ="Author" CONTENT="Name des Autors">
<title>Titel des Dokuments</title>
</HEAD>
.sn
Vor der <title> Anweisung können auf Wunsch weitere Informationen erscheinen. Diese werden in Dateien mit festgelegtem Dateinamen abgelegt. Sollen alle HTML-Dateien die zusätzlichen Informationen erhalten, muß die Datei mit den zusätzlichen HEAD-tags ~EVERY.HEAD~ heißen. Soll nur eine bestimmte HTML-Datei diese zusätzlichen Informationen erhalten, wird sie mit dem bekannten ~.ID USERLABEL~ markiert und dann eine Datei ~USERLABEL.HEAD~ mit dem gewünschten Inhalt angelegt.
Entscheidend für das Einbinden von benutzerdefinierten HEAD-Anweisungen ist die Existenz entsprechender *.HEAD-Dateien. Einen eigenen Schalter hierfür gibt es nicht.
Wenn ein "Pre filename" (siehe Ini-Datei) verwendet wird, müssen die Dateinamen der HEAD-Dateien mit dem Pre Filename beginnen.
Wird ein DOS-Laufwerk verwendet oder die "filename appearance" ist auf die Erweiterung mit nur 3 Buchstaben gestellt, so muß die Endung der Dateinamen nicht ~.HEAD~, sondern ~.HEA~ lauten.
.END
.1
Erstellung von Helptables
.IF HLPDOC
.in Helptable
.in Panel ID
Das wichtigste Merkmal einer HLP-Datei gegenüber 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 erklärt werden soll. In HLP-Dateien lassen sich Verbindungen zwischen Programmfenstern oder Programmknöpfen zu Kapiteln des Hypertexts herstellen. Drückt 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 Drücken von F1 mit dem entsprechenden Knopf (oder Menüpunkt) aktiviert; statt F1 kann man auch auf einen speziellen Hilfe-Knopf drücken, dessen Flags BS_HELP | BS_NOPOINTERFOCUS gesetzt sind. Im Helptable ist eingetragen, welche Knöpfe / Menüpunkte 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 können auch bei textorientierten Programmen zum Einsatz kommen.
Ohne HyperMake müßte also eine Helptable-Datei innerhalb der RC-Datei [Programmierer sollten RC-Dateien kennen; sonst können Sie dieses Kapitel überspringen, da nur INF-Dateien für Sie in Frage kommen.] erstellt werden. Für direkte Verbindungen müßte eine Panel ID header-Datei mit den IPF-internen Kapitel (resource) ID's angelegt werden, assoziiert mit ausdrucksstarken Bezeichnern wie (Panel_Einfuehrung).
.2
Erstellen des HyperMake Quelltextes
.in ressource connection
Im HyperMake Quelltext werden zwei neue Punktbefehle verwendet: Ressource Connection
.snb
.RC ID_window, ID_button_or_Menu_Item
.sn
bedeutet, daß wenn der Knopf "ID_button_or_Menu_Item", der sich im Kindfenster "ID_Window" befindet, zusammen mit F1 gedrückt 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 aufgepaßt! Bei der Kurzbezeichnung hinter dem ID-Befehl wird Groß- und Kleinschreibung unterschieden!
Sie können diese Punktbefehle irgendwo innerhalb des Kapitels verwenden, zu dem die Verbindung hergestellt werden soll. Ich empfehle jedoch, diese Befehle möglichst nah an die Stelle des Kapitels zu setzen, wo der entsprechende Knopf bzw. Menüpunkt erklärt wird. Das hat den Vorteil, daß wenn Sie später 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 müssen.
Wenn Sie den RC-Punktbefehl verwenden, müssen Sie normalerweise zwei ID's eingeben: Die erste für das Programmfenster, in dem sich der Knopf/Menüpunkt befindet[zu verwenden ist der Konstanten-Name, der in der RC-Datei hinter MENU oder DIALOG steht], und die zweite für die ID des Knopfes, Menüpunktes, 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 beeinflußt. Das bedeutet, Sie können bedenkenlos aus solch einer IPF-Datei eine INF-Datei statt einer HLP-Datei erstellen.
Für 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 enthält die zwei neuen Punktbefehle Ressource connection und Panel ID:
.snz
.1
Einführung
.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 - können Sie OK drücken.
.1
Verwendung des Cancel-Knopfes
.RC ID_Kindfenster, ID_Cancel
Mit dem Cancel-Knopf können Sie den Befehl abbrechen.
.sn
.2
Einbindung in den C Programm-Quelltext
HyperMake erstellt automatisch eine Datei HLPTABLE.RC:
HELPSUBITEM ID_Cancel, 3 // Verwendung des Cancel-Knopfes
}
.sn
HyperMake erstellt außerdem 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 für den HyperMake-Benutzer ohne Belang sind. In der Helptable-Datei werden deshalb noch als Kommentar die Kapitelüberschriften eingetragen, so daß sich die Helptable-Datei für die Fehlersuche leichter lesen läßt. (Normalerweise dürften Sie kein Interesse haben, die Helptable und Panel ID -Datei zu lesen.)
Den Startwert für die in der Helptable-Datei verwendeten Subtable ID's können Sie in der Ini-Datei unter der Einstellung ~Help Subtable Start ID~ ändern, außerdem können 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 müssen 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 gültig sein.
Im C Quelltext benötigt 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ß natürlich schon definiert worden sein. Wenn Sie kein Standardwindow sondern nur eine Dialogbox als Programm haben, können 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 benötigt, 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 können, müssen Sie am Anfang folgendes eintragen:[Das kann Compiler-spezifisch sein; ich benutze Borland C]
.snb
#define INCL_HELP
.sn
.3
C Quelltext für die drei Hilfe-functions
.snb
.in function InitHelp
.in function DestroyHelp
.in function DisplayHelpPanel
#define HelpFilename "FILENAME.HLP"
#define HelpWindowTitle "Überschrift des Hypertext-Fensters"
HELPSUBITEM ID_OK, 2 /* Verwendung des OK-Knopfes */
HELPSUBITEM ID_Cancel, 3 /* Verwendung des Cancel-Knopfes */
END
.sn
HyperMake erstellt außerdem 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 für den HyperMake-Benutzer ohne Belang sind. In der Helptable-Datei werden deshalb noch als Kommentar die Kapitelüberschriften eingetragen, so daß sich die Helptable-Datei für die Fehlersuche leichter lesen läßt. (Normalerweise dürften Sie kein Interesse haben, die Helptable und Panel ID -Datei zu lesen.)
Den Startwert für die in der Helptable-Datei verwendeten Subtable ID's können Sie in der Ini-Datei unter der Einstellung ~Help Subtable Start ID~ ändern, außerdem können 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 können.
.snb
DisplayHelpPanel (PanelID)
.sn
wird benötigt, 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 hängt davon ab, ob Sie die SpeedPascal 1.5 OPML verwenden oder nicht.
.3
Einbindung der Hilfefunktion bei Benutzung der OPML
Einbindung der Hilfefunktion auf konventionelle Weise
Zum Aktivieren und Deaktivieren der Hilfe-Funktion benötigen 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ß natürlich schon definiert worden sein. Wenn Sie kein Standardwindow sondern nur eine Dialogbox als Programm haben, können 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 später) benutzen, habe ich die relevanten Variablen und Prozeduren zusammengestellt.
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 mögliche Parameter für SendHelpMessage
HM_HELP_INDEX zeigt Index
HM_HELP_CONTENTS, zeigt Inhalt
HM_DISPLAY_HELP zeigt Hilfe für Hilfefunktion (help for help)
}
PROCEDURE SendHelpMessage (HelpMessage:LONG);
BEGIN
if fHelpEnabled THEN
if WinSendMsg(hwndHelpInstance, HelpMessage, 0, 0)<>0
then InfoBox ('Failed to display help panel.');
END;
{
Parameter sind die Panel ID's, definiert über die ID Punktbefehle
im HyperMake Quelltext
}
PROCEDURE DisplayHelpPanel (PanelID:LONG);
BEGIN
if fHelpEnabled then
if WinSendMsg(hwndHelpInstance, HM_DISPLAY_HELP,
MPFROMLONG(MAKELONG(PanelID, 0)),
MPFROMSHORT(HM_RESOURCEID))<>0
then InfoBox ('Failed to display help panel.');
END;
.sn
.2
Mehrere verschiedensprachige HLP-Dateien
Falls Sie mehrere verschiedensprachige HLP-Dateien und nur eine EXE-Datei erstellen, reicht es aus, wenn Sie die ID- und RC-Punktbefehle in nur einem HyperMake-Quelltext eintragen. Wenn Sie dann im anderssprachigen HyperMake-Quelltext exakt die gleiche Gliederungsstruktur haben, gibt es keine Probleme. HyperMake numeriert nämlich die Kapitelüberschriften einfach fortlaufend durch.
.ELSE
Das IBM IPF-Format wird benötigt, um kontextsenitive Programmdokumentationen (Erweiterung HLP) unter dem Betriebssystem OS/2 zu erstellen. HyperMake stellt hier für die Verbindung Hypertext - EXE-Programm einige Funktionen zur Verfügung. Die Dokumentation darüber ist aber nur vorhanden, wenn der Hilfetext mit der Bedingung #HLPDOC erzeugt wurde.
Für die von Microsoft geplante Windows HTML Programmhilfe werde ich in einer künftigen HyperMake Version vergleichbare Funktionen anbieten.
.END HLPDOC
.FA verti 40
.1
Verzeichnis aller Punktbefehle
Hier finden Sie eine kurze Beschreibung aller HyperMake Punktbefehle. Die gleiche Kapitelstruktur finden Sie in Erstellen eines HyperMake Quelltextes.
.in Verzeichnis aller Punktbefehle
Einige Punktbefehle sind speziell deutsch und haben englische oder auch WordStar-Synonyme; diese zweite mögliche Schreibweise von Punktbefehlen ist in Klammern gesetzt und kann genauso verwendet werden.
.2
Grundlagen
.sab
~..Kommentar~
"Kommentar" wird nicht interpretiert.
.IF IPFDOC
.snb
.:ipf-Kommando.
.:ipf-Kommando. Ausdruck
.sn
Ein IPF-Kommando kann auch direkt eingegeben werden.
.END
.IF HTMLDOC
.snb
.HTML
<HTML-Kommandos> Fließtext usw.
.HYPERMAKE
.sn
Direkte Eingabe von HTML Text.
.snb
.HC an (on)
.HC aus (off)
.sn
läßt die Verwendung von <HTML-Tags> mit spitzen Klammern im HyperMake-Quelltext zu. Standard ist aus.
.END HTMLDOC
.2
Textanfang
~.TI Hypertext-Titel~
setzt den Titel des Hypertexts.
.IF IPFDOC
~.<>~
stellt HLP-Dateien die Hypertext-Benutzerknöpfe "Inhalt", "Zurück" und "Vorwärts" zur Verfügung, die es sonst nur bei INF-Dateien gibt.
.END
.2
Kapitel
~.1~ bis ~.6~ definiert eine Gliederungsebene
~.1~
~Hauptüberschrift~
Die Kapitelüberschrift des ersten Punktes der ersten Gliederungsebene heißt "Hauptüberschrift".
.IF HTMLDOC
(Heading size) Änderung der Größe des Überschrifts-Textes bei HTML. Z. B. 4. Ebene erhält die Schriftgröße 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 können 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, erhält 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 Schlüsselwort "NAME" eingetragen werden. Es erhält dann einen Navigations-Knopf "NAME.GIF" am Anfang bzw. Ende der HTML-Seite einen Querverweis zum mit ~.ID NAME~ markierten Kapitel. Sie finden eine Button-Bibliothek im Verzeichnis BUTTONS.
.END
.IF IPFDOC
Bei IPF wird dieser Befehl für die Erstellung von Helptables genutzt.
.END
.2
Schriften
~.SNX~ (~.SFX~)
~.SAX~ (~.AFX~)
Schrift Normal und Schrift Alternativ stellt die Schrift X ein. X steht für 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 nächsten Auflistungen eine sortierte Liste
~.UL~
stellt wieder auf unsortierte Listen (Standardeinstellung).
.2
Einbindung von Grafiken
~.BM Dateiname~
gibt eine Grafik dateiname.bmp (IPF) bzw. dateiname.gif (HTML) zentriert aus.
~.BTX Dateiname~
schreibt im Fließtext statt dem Buchstaben X die Grafik dateiname.bmp.
.2
Querverweise und Index
~.IZX~ (~.ICX~)
wählt das beliebige Zeichen X als Indexzeichen.
~.IN Ausdruck~
nimmt "Ausdruck" im Index auf; alle Vorkommnisse von "Ausdruck" im gesamten Hypertext erhalten einen Querverweis zu dem Kapitel, in dem der .IN Punktbefehl steht.
~.IV Ausdruck~
Index Vertauscht: wie .IN, verwendet aber das letzte Wort des Ausdrucks als führendes Wort.
.IF IPFDOC
Externe Querverweise (IPF)
~.EX extern.inf~
~.ID Kapitel_Einleitung~
~.IN Ausdruck~
~.EX~
Alle Vorkommnisse von "Ausdruck" erhalten einen externen Querverweis zu dem Kapitel in der Datei extern.inf, das mit
~.ID Kapitel_Einleitung~
markiert wurde.
.END IPFDOC
.IF HTMLDOC
Externe Querverweise (HTML)
~.URL URL~
~.IN Ausdruck~
~.LOCAL~
Alle Vorkommnisse von "Ausdruck" erhalten einen externen Querverweis zu der URL "URL".
.END HTMLDOC
.IF IPFDOC
Programme starten (IPF)
~.EX Programmname.exe Parameter~
~.IN Ausdruck~
~.EX~
Alle Vorkommnisse von "Ausdruck" werden zu einem Querverweis, bei dem das Programm "Programmname" mit dem Parameter "Parameter" gestartet wird.
.END
.2
Duplizierung von Kapitelüberschriften
~.dp34C~
Die Kapitelüberschrift wird in Gliederungsebene 3 und 4 am Anfang des Fließtextes mit Schrift C dupliziert.
~.dp##C~
In allen Gliederungsebenen wird die Überschrift mit Schrift C im Fließtext dupliziert, als Querverweis-Ziel verwendet (erster #) und in den Index aufgenommen (zweiter #).
~.dp-34~
schaltet die Duplizierung in Gliederungsebene 3 und 4 wieder aus.
.2
Tabellen (Tables)
.snb
.TA Tabellenüberschrift
Zelle eins Zelle zwei Zelle drei
zweite Zeile zweite Zeile eine+
dritte Zeile " große Zelle
.TA
.sn
wird zu:
.TA Tabellenüberschrift
Zelle eins Zelle zwei Zelle drei
zweite Zeile zweite Zeile eine+
dritte Zeile " große Zelle
.TA
In Tabellen können Zell-Zeilen mit " und mit + zusammengefügt werden (nur HTML).
~.tc X~
(table character) ändert das Zusammenfüge-Zeichen + in einen beliebiegen Buchstaben.
~.TT~
(Table Tags) Standard ist
~.TT BORDER CELLPADDING=5~
Grauer Hintergrund ohne Bild:
~.TT BORDER CELLPADDING=5 BGCOLOR="#D0D0D0"~
.2
Linienziehen
.snb
..LI▄▌
.LIXYZ
X Y X ┌───┬───┐
│ │ │
Y Ergebnis: ├───┼───┤
│ │ │
X X └───┴───┘
.LI
..li
.sn
Im Linienziehen Punktbefehl steht das beliebige Zeichen X für die Ecken und Y für Unterteilungen des Rechtecks. Ein Zeichen Z vor X oder Y macht Doppelstriche (nur IPF).
.2
Fußnoten
~.FU{}~
~.FU{}snX~
definiert die Zeichen, mit denen der Inhalt von Fußnoten eingeklammert wird; definiert zusätzlich noch eine Schrift X für das Fußnotenfenster. Die Eingabe
.snb
und Sie erhalten {Inhalt der Fußnote}.
.sn
führt zu:
und Sie erhalten [Inhalt der Fußnote].
.IF HTMLDOC
~.FS 30~
Fußnoten Size: ändert den Standardwert der Aufteilung HTML-Textfenster / Fußnotenfenster von 85 zu 15 auf 70 zu 30.
.END
~.FT XXX~
Fußnoten-Text: schreibt "XXX" statt dem standardmäßigen "*". Grafik statt Text ist erlaubt (Verwendung von Bitmap Text).
.2
Ränder und Formatierung
~.LM 10~
setzt den linken Rand (left margin) vom Standardwert 1 nach 10.
.IF IPFDOC
~.FM aus~ (~.FM off~)
~.FM an~ (~.FM on~)
(nur IPF) Mit dem Punktbefehl Formatieren wird die Formatierung aus- und eingeschaltet. Standard ist an.
.END
~.OC an~ (~.OC on~)
~.OC aus~ (~.OC off~)
schaltet zentrierten Text (Output Centered) an und aus.
~.AM aus~ (~.AM off~)
~.AM an~ (~.AM on~)
verstellt den linken Rand dadurch, daß ein Absatz mit entsprechenden Leerzeichen beginnt. Standard ist an.
.IF HTMLDOC
In HTML-Dateien wird der Rand nur in Fünfer-Schritten verstellt.
.END
.2
If-Bedingungen
.snb
.IF BEDINGUNG
.ELSE
.END
.sn
überträgt nur bestimmte Teile des Quelltextes ins IPF-Format. Die If-Bedingungen werden über die Kommandozeile gesetzt (Groß- oder Kleinschreibung egal)
.snp
.fu
[C:\myProject] HMAKE MeinDoku.txt #BEDINGUNG
.fu[]
.sn
.2
Erstellung von Helptables
(nur IPF, zur Erstellung von IBM HLP-Dateien)
.snb
.RC ID_window
.RC ID_window, ID_button_or_Menu_Item
.RC , ID_button_or_Menu_Item
.ID PanelID
.sn
RC Punktbefehle erzeugen einen Helptable mit dem Dateinamen HELPTABLE.RC, ID Punktbefehle eine Datei mit Panel ID's unter dem Dateinamen PANELID.H.
.FA hori 40
.1
Ini-Datei
.in Ini-Datei
In der Ini-Datei können Sie einige dokumenten- und sprachspezifische Einstellungen vornehmen. Es empfiehlt sich, für jedes Projekt eine eigene Ini-Datei anzulegen. Die Ini-Datei können Sie mit einem ASCII-Editor verändern. Die erste Zeile wird nicht interpretiert.
Für Ihre eigene Ini-Datei benutzen Sie als besser eine Kopie von BEISPIEL.INI als von DOKU.INI. In letzterer sind recht ausgefallene ASCII-Werte für die Toggles gewählt.
Wie in C++ sind Zeilen, die mit zwei Schrägstrichen // beginnen, auch Kommentarzeilen. Windows-konform können Kommentarzeilen auch mit ; beginnen. Die Reihenfolge der Schalter darf geändert werden, aber es muß jeder Schalter einmal vorkommen. Mit wenigen Ausnahmen wird in der Ini-Datei Groß- und Kleinschreibung nicht unterschieden.
Der Text links vom Istgleich-Zeichen = ist der Name des Schalters; dieser darf nicht geändert werden. Rechts davon dürfen Einstellungen geändert werden.
.2
general settings (Allg. Einstellungen)
Registration key (Registrierungsschlüssel)
.in Registration key
.in Registrierungsschlüssel
.snb
Registration key = 0
.sn
Hier tragen Sie Ihren Registrierungs-Code ein, um Quelltexte von mehr als 20 kB verarbeiten zu können. Siehe auch Registrierung.
Language (Sprache)
.snb
//possible settings: ENGLISH, GERMAN, C, PASCAL
Language = GERMAN C
.sn
Landessprache: HyperMake kann entweder auf englisch oder auf deutsch Fehlermeldungen ausgeben; auf die erstellte HTML-Datei oder IPF-Datei hat dieser Schalter keine Wirkung.
Diesen Hypertext gibt es auch auf englisch. Einige Punktbefehle weichen in der englischen Anleitung von den deutschen Befehlen ab; sie werden gleichermaßen interpretiert.
Programmiersprache (nur IPF): Wenn Sie von HyperMake Panel ID und Helptable Dateien erstellen lassen, können Sie zwischen C und µPascal wählen.
beep (Pieps)
.snb
//beep when finishing compiling - possible settings: YES, NO
beep = YES
.sn
Wenn HyperMake eine IPF-Datei oder mehrere HTML-Dateien erfolgreich erstellt hat, hören Sie einen Pieps. Sie können diesen Ton hier abstellen, indem Sie ~NO~ statt ~YES~ eingeben.
.2
format settings (Format-Einstellungen)
Target (Zielformat)
.in Zielformat
.snb
//possible settings: IPF, HTML
Target = HTML
.sn
Die Standardeinstellung kann durch die Kommandozeilenparameter IPF und HTML temporär überschrieben werden.
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) können Sie für Ihre Quelltexte auswählen: ISO (ISO 8859-1), auch Latin1 genannt, oder IBM 850 bzw. 437. ISO ist für Windows und Unix üblich, IBM für DOS und für OS/2. Wenn Sie diese Einstellung falsch wählen, so werden Umlaute falsch angezeigt bzw. interpretiert. Wenn Sie diese Einstellung verändern, müssen 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 für unsortierte Listen und sortierte Listen benötigt, wenn Sie Auflistungen mit einem ASCII-Editor erstellen wollen.
Index char (Indexzeichen)
.snb
Index char = #
.sn
Siehe Erstellung von Querverweisen, Index und Indexzeichen. Mit dem Punktbefehl ~.IZX~ wird die hier festgelegte Standardeinstellung mit dem Zeichen X überschrieben.
toggles (Umschalter)
.snb
//highlighted char toggles
//both HTML and IPF: 1 alternate 2 italic 3 bold 4 underlined
//only IPF: 5 red 6 cyan 7 blue
//only HTML: 8 strike 9 big 10 small 11 sub 12 sup
// 123456789012
toggles = ************
.sn
Hier lassen sich die Umschaltzeichen festlegen. Sie müssen immer alle zwölf Zeichen eingeben, auch wenn Sie IPF oder HTML nicht benutzen.
.IF WORDSTARDOC
Bei der Verwendung von WordStar-Steuerzeichen müssen Sie die Zeichen eingeben, die dem ASCII-Code entsprechen. [Also etwa für ^PA Alt-1, für ^PB Alt-2, für ^PS Alt-19 usw.]
.END
Index Filter
.in index filter
.snb
//characters not shown in index and duplicated heading
index filter = ().
.sn
Es können bestimmte Zeichen im Stichwortverzeichnis und bei der Duplizierung von Kapitelüberschriften unterdrückt werden.
//language specific letters besides A...Z, a...z, 0...9
//english '-
//german äöüßÄÖÜ-
extended letters = äöüßÄÖÜ-
.sn
Sie müssen 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 Wörter. Die normale Markierung des Wortes "Kindergärten" hätte dann einen Indexeintrag "Kinderg" zur Folge.
Damit eine Bezeichnung wie "CONFIG.SYS" oder "Eule (Film)" einen Querverweis bekommt, müssen Punkt bzw. Klammern in der Ini-Datei unter extended letters aufgeführt sein. Gleichzeitig müssen 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 gewünschten 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, können Ausdrücke wie "Ini-Datei" einfach mit dem Indexzeichen markiert werden, ohne Doppelpunkt-Klammern; dafür 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
Font b = Courier 12 CODE black 437 Linestandard OmitLinks
Font B = 30 Helv neutral
Font Z = GREEN 30 Helv yellow
Font G = 15 Helv black
Font T = 18 Tms_Rmn
Font C = black
Font o = OmitLinks
.sn
Hier lassen sich Schriftbuchstaben für 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:
■ Schriftgröße: alle Zahlen, die kleiner als 200 sind
■ Codepage: (nur IPF) alle Zahlen größer/gleich 200
■ Schrift-Typ: (nur IPF) Alle Eingaben, die nicht den bisherigen Kriterien entsprechen. Beachten Sie, daß statt Leerzeichen wie bei "Tms Rmn" unbedingt ein Unterstrich "_" geschrieben werden muß.
Sie müssen nur diejenigen Parameter eintragen, die vom Standardwert abweichen.
.IF IPFDOC
Die standardmäßig verwendete Codepage hängt bei IPF von Einstellungen im OS/2-Betriebssystem bzw. vom Parameter hinter IPFC ab.
.END
Beachten Sie bitte, daß Sie IPF- und HTML-Kommandos hier mischen können, so daß ein Schrift-Buchstabe sowohl das Outfit im IPF als auch im HTML-Format festlegen kann.
vgl. Schrift-Beispiele und Farb-Beispiele
.2
link specific settings (Einst. bzgl. Querverweise)
endings of words (Endungen von Wörtern)
.in endings of words
.snb
//endings in german words: e n en s es
//endings in english words: s es 's ion ions ing ings
ending of words = e n en s es
.sn
Siehe Querverweise, Verfahrensweise bei Wortendungen.
Wenn Sie einen deutschen Text mit vielen englischen Ausdrücken 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 für Querverweise zu ...)
.snb
Text for link to subchapters = @Unterkapitel:@
Text for link to next chapter = @nächstes Hauptkapitel:@
//only HTML frames
text for link to main chapter = zum Hauptkapitel
.sn
.IF HTMLDOC
Werden HTML Frames erstellt, so werden zwei Gliederungsebenen gleichzeitig angezeigt. Im Fenster mit dem Unterkapitel wird zu Beginn ein Querverweis auf das Hauptkapitel gezogen; andere Querverweise wie "Inhalt" werden in solchen Fenstern nicht gezogen, da diese schon im Hauptkapitel-Fenster vorhanden sind. Der Querverweis zum Hauptkapitel ist erforderlich, um bei einem direkten Aufruf des Unterkapitels zum restlichen Dokument zu gelangen und kann nicht abgeschaltet werden.
.END
.in Querverweise zu Unterkapitel
.in link to subchapters
.sao
HyperMake zieht automatisch ~Querverweise~ am Ende eines Kapitel-Fensters zu allen Unterkapiteln dieses Kapitels sowie zum nachfolgenden Kapitel gleicher Gliederungsebene bzw. höherer Gliederungsebene. Hier können Sie eintragen, was HyperMake über solche automatischen ~Querverweise~ schreiben soll. Sie dürfen nicht nur Buchstaben, sondern auch Umschalter oder Grafikzeichen verwenden.
Wenn Sie ein NO in Großbuchstaben eingeben, zieht HyperMake keine solchen Kapitel-Querverweise:
.snb
Text for link to subchapters = NO
Text for link to next chapter = NO
.sn
no more links in (keine weiteren Querverweise in ...)
.in no more links in
.snb
//possible Settings: PARAGRAPH, WINDOW
no more links in = PARAGRAPH
.sn
Zweite und dritte Querverweise können in einem Absatz (paragraph) oder innerhalb eines gesamten Kapitels (window) unterdrückt werden.
siehe Querverweise, Unterdrücken von Querverweisen.
.2
HTML specific settings (HTML-spezifische Einst.)
title in every file (Titel in jeder Datei)
Standardmäßig wird der Titel am Anfang jeder Datei wiederholt, dies kann mit
.snb
title in every file = NO
.sn
abgeschaltet werden.
First and last line (erste und letzte Zeile)
.snb
//only HTML: first and last line in file
title in every file = YES
function for first line = BACK FORWARD CONTENT INDEX
text for first line = zurück vorwärts Inhalt Stichwörter
function for last line = FORWARD CONTENT INDEX
text for last line = vorwärts Inhalt Stichwörter
.sn
HyperMake erzeugt zahlreiche HTML-Dateien. Der Benutzer sollte am Textende zur nachfolgenden Datei springen können (FORWARD) und am Anfang zur vorherigen Datei (BACK). Außerdem 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 Verfügung stehen sollen, kann hier eingestellt werden, auch die Reihenfolge der Funktionen sowie die Wörter, die den Querverweis darstellen (text for...).
Buttons (Druckknöpfe)
.snb
//you can use buttons BACK.GIF FORWARD.GIF CONTENT.GIF INDEX.GIF instead of text
buttons = YES
.sn
Für die erste und letzte Zeile können die Querverweise "zurück vorwärts Inhalt Stichwörter" 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 enthält, dann erscheint statt den Buttons der Text, den Sie unter "text for first/last line" definiert haben. Wenn die Dateien sich auf einem Unix-Server befinden, wird Groß- und Kleinschreibung unterschieden! Achten Sie deshalb auf die korrekte Schreibweise der Dateinamen.
Beachten Sie bitte die Button-Bibliothek von HyperMake im Verzeichnis BUTTONS.
body tags ("body" Einträge)
.snb
//enter tags or NO
body tags = NO
.sn
Es können 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 wählen, sind die Querverweise nicht mehr sichtbar. Beachten Sie dabei, daß manche Benutzer andere Standardfarben gewählt haben wie Sie! Nur wenn Sie einen überwiegend weißen oder grauen Hintergrund wählen, gehen Sie kein Risiko ein.
extended index (Großes Stichwortverzeichnis)
.in extended index
.snb
entries for extended index = 30
.sn
Hier können Sie einstellen, ab welcher Zahl von Indexeinträgen das große 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 können Sie beeinflußen, wieviel Dateien erstellt werden sollen. "3" bedeutet, daß für die Kapitel der Gliederungsebenen 1, 2 und 3 grundsätzlich neue HTML-Dateien begonnen werden.
In Bereichen, in denen die Fensteranordnung (Frames) aktiv ist, erzeugt HyperMake jedoch für alle Kapitel grundsätzlich 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 läßt horizontale Striche über das ganze Fenster hinweg zu. Diese können dazu genutzt werden, einzelne Kapitel voneinander zu unterteilen, falls sie ohnehin nicht in unterschiedlichen HTML-Dateien liegen. Der Wert für "horizontal rule level" muß deshalb höher sein als der für "new file level". "4" bedeutet, daß die Kapitel 1., 2., 3. und 4. Ordnung mit einem Strich getrennt werden, falls sie in derselben Datei abgelegt werden.
content level (angezeigte Ebenen im Inhaltsverzeichnis)
.in context level
.snb
//Enter heading level up to which has to be shown in the HTML content file
// (6 means all levels, 0 means no content)
content level = 6
.sn
Mit diesem Schalter können 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 große Zahl von Dateien. Diese Dateien haben Namen, die HyperMake festlegt. So werden einfach Nummern für Dateinamen vergeben: N000.HTML, N001.HTML usw. Um in nur einem Pfad mehrere unterschiedliche HyperMake-Texte haben zu können, läßt sich ein String eingeben, der all den Dateinamen incl. INDEX.HTML vorangestellt wird. Beispielsweise führt die Eingabe von ~XYZ*~ dazu, daß die Dateinamen dann XYZN000.HTML, XYZN001.HTML usw. heißen. 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.)
Hier können Sie festlegen, wie von HyperMake erzeugte Dateinamen aussehen sollen (Groß- oder Kleinschreibung, kurze oder lange Dateinamen). Wenn Sie HTML-Dateien im WWW veröffentlichen wollen, sollten Sie das Kapitel über Dateinamen lesen. Wenn diese Einstellung falsch ist, kann es vorkommen, daß auf Ihrem Rechner die Links funktionieren, auf dem Server aber nicht mehr!
Standard-Frame
.snb
default frame = _top
.sn
Wenn sämtliche HTML-Seiten des Dokuments in einem Frame eines anderen Dokuments erscheinen sollen, kann diese Einstellung geändert werden. Die Änderung dieses Standardwertes erfordert fortgeschrittene Kenntnisse in HTML und ist im Regelfall nicht erforderlich.
Titelzeile und Meta-Anweisungen
.snb
//here you can define the text appearing in the browser titlebar
//enter DOCTITLE and/or HEADING and fixed text, e.g. a slash; NO means no text
file title = DOCTITLE - HEADING
meta content = DOCTITLE - HEADING
.sn
Hier können Sie den Inhalt der Titelzeile des HTML-Browsers und Meta-Anweisungen für Internet-Suchmaschinen festlegen. DOCTITLE entspricht dem Text, den Sie hinter ~.TI~ geschrieben haben, HEADING ist der Überschrifts-Text der aktuellen HTML-Seite.
Überschrift bei einer separaten Fußnoten-Seite
.snb
notes text = Anmerkungen
.sn
Wenn ein Quelltext mit Fußnoten von HyperMake mit dem Kommandozeilenparameter "/NOFRAMES" kompiliert wird, erzeugt HyperMake eine einzige große Datei mit allen Fußnoten-Inhalten. Diese trägt dann die Überschrift, die sie unter ~notes text~ festlegen. Sinnvolle Bezeichnungen sind Fußnoten, Anmerkungen, Quellennachweise, Querverweise, Literaturangaben. Diese Bezeichnung kann dann auch in der Titelzeile der entsprechenden HTML-Seite erscheinen.
.2
IPF specific settings (IPF-spezifische Einst., nicht HTML)
Help Subtable Start ID (Startwert für ID-Konstanten)
.snb
Help Subtable Start ID = 7000
.sn
Mit der Help Subtable Start ID können Sie einen Startwert für die ID's angeben, die die Subtables definieren. Das brauchen Sie nicht zu ändern, außer Sie definieren in Ihrem Programm-Quelltext selber auch schon Konstanten mit Werten von 7001, 7002 usw.
Filenames (Dateinamen)
.in Filenames
.snb
//files will be overwritten without warning
Helptable filename = HLPTABLE.RC
Panel ID filename = PANELID.H
.sn
Hier können 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 gewählt.
Achtung! Die beiden Dateien werden ohne Vorwarnung überschrieben.
.1
Starten des HyperMake Compilers
Das HyperMake-Programm ist ein Compiler, der von der Kommandozeile gestartet wird, ähnlich IPFC.
.in Installation
.in kompilieren
.in compiling
.in Kommandozeilenparameter
Beim Betriebssystem OS/2 müssen Sie, bevor Sie HyperMake benutzen können, müssen Sie HMAKE.EXE in einen Pfad kopieren, der in der Datei CONFIG.SYS unter PATH vorkommt; die Datei KBDVIO32.DLL muß in einem Pfad sein, der unter LIBPATH vorkommt. Findet die EXE-Datei die DLL nicht, so erscheint die OS/2-Fehlermeldung "0005".
Sie müssen ein oder zwei Parameter übergeben:
.snp
.fu
[C:\myProject] HMAKE MeinDoku.txt Meine.ini
.sn
.fu[]
Die Reihenfolge der Parameter ist egal. Die Dateinamen-Erweiterungen müssen 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 für Text- und Ini-Datei verwenden wie etwa MeinDoku.txt und MeinDoku.ini, so reicht es aus, nur den Namen des HyperMake Quelltextes anzugeben - HyperMake sucht dann nach der entsprechenden Ini-Datei:
.fu
.snp
[C:\myProject] HMAKE MeinDoku.txt
.sn
Wenn HyperMake keine derartigen Ini-Dateien findet, sucht er im aktuellen Verzeichnis noch nach HMAKE.INI. Wenn diese auch nicht vorhanden ist, bricht das Programm ab.
Für Ihre eigene Ini-Datei benutzen Sie als besser eine Kopie von BEISPIEL.INI als von DOKU.INI. In letzterer sind recht ausgefallene ASCII-Werte für die Toggles gewählt.
.snL
Mehrere Quelltexte
.sn
Sie können Ihren Quelltext auf mehrere Dateien verteilen. HyperMake kopiert die Dateien dann zusammen, bevor es mit der eigentlichen Arbeit beginnt. Dabei gilt die Reihenfolge der Übergabeparameter. Wenn nicht explizit eine Ini-Datei angegeben wird, so wird der Name der Ini-Datei vom ersten Quelldateinamen abgeleitet.
.snL
HTML- oder IPF-Dateien erzeugen
.sn
Mit den Kommandozeilenparametern ~HTML~ und ~IPF~ kann die Standardeinstellung "target file" in der Ini-Datei temporär überschrieben werden.
.IF HTMLDOC
.snL
Frames-lose HTML-Dateien erzeugen
.sn
.fu
.iv keine Frames
Der Kommandozeilenparameter ~/NOFRAMES~ erzeugt Frames-lose HTML-Seiten. Er hat zwei Effekte: Zum einen werden alle ~.FA~ bzw. ~.WA~ (Fensteranordnung) Punktbefehle nicht ausgeführt. Zum anderen werden alle Fußnoten in eine einzige Fußnotendatei geschrieben und die Fußnoten erhalten fortlaufende Nummern wie [17], auf die der Benutzer klicken kann.
.END
.fu[]
.2
Wie HyperMake vorgeht
Nachdem HyperMake aufgerufen wurde, geht das Programm wie folgt vor:
.sao
■ Einlesen der Ini-Datei
■ Einlesen des Quelltextes
Der Quelltext wird mit einem Schlag in den Heap geladen
■ Indizieren der Kapitelüberschriften
Alle Kapitelüberschriften bzw. Kapitel erhalten eine Identifizierungsnummer.
■ Indizieren der Querverweise
Alle Wörter oder Ausdrücke, die mit dem Indexzeichen oder mit den entsprechenden Punktbefehlen markiert sind, werden im Heap abgelegt.
■ Schreiben der IPF-Datei oder der HTML-Dateien
Zuletzt wird die IPF-Datei bzw. werden die HTML-Dateien erstellt, was die Hauptarbeit ist. Jedes Wort des Hypertextes muß mit den indizierten Wörtern aus dem Heap verglichen werden, um ggf. Querverweise zu ziehen. Hier werden auch die meisten Punktbefehle und Umschalter ausgewertet sowie Helptables im Heap erstellt. HTML-Dateien werden in einen ggf. neu anzulegenden Pfad gespielt.
.IF HLPDOC
■ Schreiben der Helptable-Datei
Bei der Verwendung von RC-Punktbefehlen im HyperMake Quelltext wird die im Heap angesammelte Information über den Helptable in der Helptable-Datei abgespeichert.
.END
Beim Indizieren von Kapitelüberschriften, Indizieren von Querverweisen und dem Schreiben der IPF-Datei erscheint für jedes bearbeitete Kapitel (Fenster) ein Punkt am Bildschirm.
Ertönt ein tiefer µPiepston, so hat HyperMake einen so schweren Fehler gefunden, daß die IPF-Datei bzw. die HTML-Dateien nicht erstellt werden konnten.
.IF HTMLDOC
Als Dateinamen-Erweiterung für HTML-Dateien wird ".HTML" gewählt. Nur auf FAT-Laufwerken wird ".HTM" verwendet.
.END
.2
Schreiben von Batch-Dateien
.IF IPFDOC
Weil das IPF-Format nicht mehr von Interesse ist, kann man HyperMake und IPFC über eine µ:Batch-Datei: (mit der Endung ".CMD") aufrufen. Eine vernünftige Batch-Datei zum Abarbeiten im Hintergrund ist die folgende:
.snb
@echo off
rem Erstellung eines Hypertextes mit HyperMake und IPFC
Die letzte Zeile enthält zwei Zeichen Alt-7, das ergibt zwei Piepser.
Wenn Sie eine fehlerhafte INF- bzw. HLP-Datei erhalten, können Sie die ASCII-Dateien HyperMake_errors und ipfc_errors lesen (bzw. beim FAT-Dateisystem kürzere Dateinamen).
Wenn Sie hinter ipfc nicht /inf schreiben, so wird eine HLP-Datei statt einer INF-Datei erzeugt. Die von HyperMake erzeugte IPF-Datei kann immer für beides verwendet werden, selbst wenn Sie HLP-spezifische ressource connection und Panel ID Punktbefehle verwendet haben.
Wenn Sie mit Batchdateien nicht vertraut sind, so können Sie darüber unter "OS/2-Befehle (nach Funktion sortiert), Stapeldatei- und Befehlsverarbeitung" im OS/2-Referenzhandbuch nachlesen.
.END IPFDOC
Denken Sie beim Sichern Ihrer Festplatte daran, daß Sie HTML-Dateien bzw. IPF-Dateien nicht sichern müssen, weil Sie sie jederzeit aus dem HyperMake Quelltext reproduzieren können.
.IF HTMLDOC
Bei der Erstellung von HTML-Dateien läßt sich eine Batchdatei schreiben, die zuerst die alten HTML-Dateien löscht und dann HyperMake aufruft:
.snb
del %1\*.html
HMAKE %1.txt #Bedingung >HyperMake_errors
edit HyperMake_errors
.sn
.END HTMLDOC
.2
Debug-Modus
.in Fehlersuche
Es kann leider vorkommen, daß HMAKE bei der Arbeit abstürzt, weil eine bislang unbedachte Situation eintritt. Um zu lokalisieren, wo genau der Absturz erfolgt, kann man mit Hilfe des Parameters ~/count~ die aktuellen Zeilennummern ausgeben und anschließend 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 während des Schreibens der IPF/HTML-Dateien ausgegeben.
Ich bitte um Benachrichtigung bei derartigen Abstürzen. Bitte schicken Sie mir einen Quelltext und Ini-Datei, so daß ich den Absturz reproduzieren und dann einkreisen kann, damit bei der nächsten Version dann eine saubere Fehlermeldung erscheint.
.1
Rückwärts-Konvertierung von IPF nach HyperMake
Wenn Sie einen Text schon im IPF-Format vorliegen haben, hilft Ihnen HyperMake bei der Rück-Übersetzung ins HyperMake Quelltext-Format. Es gibt noch keinen völlig perfekten Quelltext, aber die wichtigsten Funktionen werden korrekt übersetzt.
Die µRückwärts-Konvertierung ist zu folgendem in der Lage:
■ Umschalter (toggles)
■ Kapitel
■ unsortierte Listen, sortierte Listen
■ die wichtigsten Formatierbefehle (paragraph, break, Formatieren ein/aus)
■ Indexeinträge (nur i1 Ebene), sie werden auch gleich zum Querverweis-Ziel
■ Grafiken.
Nicht funktioniert das folgende:
■ Schriften
■ Fensteranordnung
■ Ränder
■ Fußnoten
■ definition list
■ Panel ID's, die Verbindung zu einem EXE Programm.
Bei der Rückwärts-Konvertierung wird auch die Ini-Datei gelesen. Werfen Sie vorher schon einen Blick auf die Einstellungen "list char", "toggle char" and "Source format". Achten Sie vor allem darauf, daß genügend "list char" definiert sind, also etwa vier Stück wenn im IPF-Text Listen mit bis zu vier Ebenen vorkommen.
.sab
Um die Rückwärts-Konvertierung zu starten, geben Sie neben der Ini-Datei noch eine Datei mit der Erweiterung ~IPF~ ein.
.snp
.fu
[C:\myProject] HMAKE meineDok.ipf meineDok.ini
.sn
.fu[]
Es wird grundsätzlich eine HyperMake Quelldatei mit dem Namen HMSOURCE.TXT erstellt.
.FA verti 25
.1
Über HyperMake
.in HyperMake
.2
Registrierung
.saL
.inRegistrierung
.in Preis
Dieses Programm ist ~Shareware~ wenn Sie größere Quelltexte als 20 kB bearbeiten lassen möchten. Dafür müssen Sie einen Registrierungsschlüssel anfordern. Kleinere Quelltexte als 20 kB lassen sich auch ohne Registrierungsschlüssel compilieren, in diesem Fall ist es ~Freeware.~
Warum gerade 20 kB? Ich bin der Meinung, daß für die Erstellung kurzer HTML-Texte und INF- und HLP-Dateien für einfache Freeware-Programme die Benutzung von HyperMake kostenlos sein sollte. Wenn Sie also Fehler finden und nicht registriert sind, dürfen Sie mir gerne trotzdem eine Mail schicken.
Es gibt einen kleinen (bis 150 kB Quelltext) und einen großen Registrierungsschlüssel (unbegrente Quelltextlänge). Die Registrierungsgebühr für den kleinen Schlüssel beträgt ~60 Deutsche Mark~ oder ~40 Dollar~ und für den großen Schlüssel ~120 Deutsche Mark~ oder ~70 Dollar~.
Beim Erwerb von mehreren Lizenzen erhalten Sie 30% Rabatt für jede zusätzliche Lizenz.
Wenn Sie Zugang zu Compuserve haben, können Sie diese Software über Compuserve registrieren lassen. Go ~SWREG~. Die Nummer (Registration ID) lautet ~9988~ für den kleinen und ~15175~ für den großen Schlüssel.
Die Schlüssel passen für die Versionen aller Plattformen und auch für künftige Versionen.
Meine Kontoverbindung lautet:
Dresdner Bank Ottobrunn (Deutschland), BLZ 700 800 00, Nr. 075 64 62 400
Bitte senden Sie mir keine Fremdwährung! Ich müßte 15 DM Umrechnungsgebühr an meine Bank zahlen! Schicken Sie mir dann lieber DM (oder zur Not Banknoten Ihrer Währung) einfach per Post in einem Briefkuvert.
Wenn Sie sich nicht über Compuserve registrieren lassen, erhalten Sie eine Rechnung über den entsprechenden Betrag und ihren Registrierungsschlüssel auf dem Postweg. Den Registrierungsschlüssel tragen Sie in Ihren HyperMake Ini-Dateien unter "registration key" ein.
.2
Haftungsausschluß
Der Autor übernimmt keinerlei Haftung für Schäden, sei es durch fehlerhafte Bedienung oder durch Fehler im Programm. Es wird auch keine Garantie über die Registrierungsgebühr hinaus gegeben.
.2
Autor
..in Ich
.in Autorenadresse
Martin Vieregg, 30. Ich habe Betriebswirtschaft mit Schwerpunkt Verkehrswirtschaft studiert. Ich arbeite in einer Zwei-Mann-Beratungsgesellschaft. Unser Spezialgebiet ist der Öffentliche Verkehr, speziell Eisenbahn. Das Thema meiner Doktorarbeit lautet "Effizienzsteigerung im Schienenpersonenfernverkehr" (ISBN 3-929115-51-4).
.sno
Meine Mailadresse ist:
.sn
Martin Vieregg Compuserve 100661,626
vom Internet aus:
Martin Vieregg 100661.626@COMPUSERVE.COM
Meine Postanschrift lautet:
Dr. Martin Vieregg
Hubertusstr. 26
D-85521 Ottobrunn
.2
Versionen
.snL
Ideen zu künftigen HyperMake-Versionen
.sn
■ Graphische Oberfläche, evtl. mit Editor; Wenn der Benutzer den Quelltext abspeichert, wird HyperMake automatisch im Hintergrund aktiv
■ weitere Computer-Plattormen
■ Unterstützung von Microsofts neuem kontextsensitives HTML
■ Unterstützung des WinHelp Formates (lohnt sich das noch?)
■ Rückwärts-Konvertierung von RTF nach HyperMake (Rich text format, bisheriges Eingabeformat der Windows-Hilfe).
Auf meiner Homepage werden Sie entsprechende Ankündigungen finden. Wenn Sie selbst Ideen haben, schicken Sie mir doch eine Email!
.snL
Neue Funktionen in HyperMake 3.0
.sn
■ Tables (Tabellen-Funktion) sowohl für IPF als auch für HTML
■ Benutzerdefinierte Navigations-Knöpfe (Buttons) in Ergänzung 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 für die Titelzeile im HTML-Browser
■ Kommandos zur Fehlersuche
■ Veränderung des Erscheinungsbildes von Querverweisen zu Unterkapitel
■ flexiblere Anwendung der Umschaltzeichen (toggle chars)
■ HTML Schriften (Fonts)
■ Button-Bibliothek.
.snL
Neue Funktionen in HyperMake 2.9
.sn
■ zusätzlich HTML als Zielformat
■ Rückwärts-Konvertierung von IPF nach HyperMake
■ index filter
■ mehrere Quelltexte (siehe Kommandozeilenparameter)
■ (2.91) erste Version auch als Win32-Programm verfügbar
■ (2.91) Fußnoten auch für HTML.
.snL
Bereinigte Fehler in (neuer Name) HyperMake 2.9
.sn
■ "link to subchapters = NO" führte zu Programmabsturz
■ Bei Verwendung der IPFC Version 2.1 von 1993 und der Einstellung "ASCIIHARDRET" fehlte in längeren Absätzen nach ca. 200 Buchstaben ein Leerzeichen.
■ Bei der Einstellung "ASCIIHARDRET" traten Probleme mit unsortieren Listen auf.
.snL
Neue Funktionen in MakeIPF 2.0
.sn
■ externe Querverweise (external links) zu separaten HLP- und INF-Dateien hin
■ Programme starten mittels Querverweise
■ automatische Duplizierung von Kapitelüberschriften im Fließtext, Kapitelüberschrift als Querverweis-Sprungziel, Aufnahme von Kapitelüberschriften in den Index
■ zahlreiche neue Fehlermeldungen, die sonst erst beim IPFC-Compiler kommen
■ Tabs werden automatisch in die entsprechende Anzahl Leerzeichen verwandelt (nur bei Schrift mit festen Schritten sinnvoll)
■ verbesserte Fensteranordnung (siehe letzten Absatz im besagten Kapitel)
■ Registrierung über Compuserve
.snL
Bereinigte Fehler in MakeIPF 2.0
.sn
.in neue Version
■ Fehler beim Ausdrucken von INF/HLP-Texten (feste Schrift "tritt auf der Stelle")
■ Fehlerhafte Anzahl von Returns bei "Formatieren aus"
Darüber hinaus wurden zahlreiche kleinere Fehler beseitigt.
.snL
Gefundene Fehler und Verbesserungen MakeIPF Beta 0.91 nach 1.0
.sn
■ Absturz "access denied" kommt nicht mehr vor; geringerer Speicherbedarf
■ jetzt mit dem endgültigen (Nicht-Beta) SpeedPascal Compiler erstellt. (Datenumleitung jetzt o.k.)
■ automatischer Rand .AM
■ If-Bedingungen
■ Verbesserung der automatischen Querverweise, insbes. Wortendungen
■ diverse Fehler beseitigt
.2
Wo Updates?
.snL
Wo Sie HyperMake finden
.sn
Sie finden die neueste HyperMake OS/2 Version in Compuserve OS2UGER und OS2BVEN. Im Internet sind es die üblichen OS/2-Adressen ftp-os2.nmsu.edu, ftp.cdrom.com/pub/os2 und auf dem Münchner ftp.leo.org/pub/comp/os/os2.
Die Win32-Version gibt es auf ftp.leo.org/pub/comp/os/win95 und im Compuserve in WINGER und GERWIN.
Die OS/2-Version finden Sie unter Hmakeo*.ZIP.
Die Win32-Version finden Sie unter HmakeW*.ZIP.
Haben Sie Ideen zu neuen Funktionen für HyperMake? Ich freue mich über jeden Kommentar oder Verbesserungsvorschlag.
.2
Warenzeichen
IBM und OS/2 sind eingetragene Warenzeichen der International Business Machines Corp.
WordStar ist eingetragenes Warenzeichen von MicroPro.
SpeedPascal ist ein Warenzeichen von SpeedSoft GmbH.
TurboPascal ist eingetragenes Warenzeichen von Borland Corp.
Windows ist eingetragenes Warenzeichen von Microsoft.
.2
Betriebssysteme
.iv verschiedene Betriebssysteme
Sie waren bestimmt von der Verarbeitungsgeschwindigkeit sehr angetan. Dabei gibt es eine kleine Überraschung: Ich habe das Programm nicht in C geschrieben, sondern mit Speed-Pascal[SpeedSoft, Chemnitz], einem TurboPascal-kompatiblen OS/2-Compiler mit IDE. Er erzeugt sowohl OS/2- als auch Win32-Programme. Für die Zukunft ist noch Powermac, Linux und AIX geplant, so daß es auch für diese Plattformen HyperMake geben wird.
.2
Andere Progs
Ich habe noch einige kleine Programme programmiert, es ist meist Freeware. Außer Textbuch sind es nur OS/2-Programme (bis jetzt...), alle Programme haben auch deutsche Dokumentation.
■ PMCALC20 PmCalc 2.0, ein PM Taschenrechner mit automatischer Zwischenablagenunterstützung, hex und wissenschaftlichen Funktionen (auch in deutsch, Shareware)
■ TINYALRM TinyAlarm 2.1, Uhr mit Eieruhr als Schieber von 1 bis 60 and einem Wecker, bei dem man eine Weckzeit einstellen kann
■ ZIPSHELL Simple Zipshell, eine Handvoll kleiner Batch-Dateien, um mit ZIP- und ARJ-Dateien elegant über die WPS umgehen zu können (auch in Deutsch)
■ CD_SHORT CD Shortcut 2.0, Abkürzung für den CD-Befehl. Statt vollständiger Verzeichnisnamen gibt man nur Wortteile ein (Anleitung auch in Deutsch)
■ CLEAR10G Clear 1.0, erzeugt Dateilisten zum zippen auf Disketten und zum Löschen, mit komplexen Auswahlkriterien
■ TEXTBUCH 1.0 (auch DOS, nur deutsch).
Doppelte Buchführung für Selbständige und kleine bis mittlere GmbH's. Arbeitet wie ein Compiler. Input und Output sind Textdateien. Umfangreiche INF-Datei (OS/2-Version), Textdatei (DOS-Version), HTML-Datei (Win32-Version). Shareware bei > 350 Buchungssätze pro Jahr.
Sie finden die OS/2-Programme in Compuserve OS2UGER 7 und im Internet unter ftp.leo.org/pub/comp/os/os2.
Auf meiner Homepage finden Sie Beschreibungen und Screenshots der Programme. pmCalc werde ich nach Win32 portieren.
Ende des Hypertextes
..
..Externer Querverweis auf meine Homepage und auf die Button-Bibliothek