Indexübernahme von DCF nach WinWord
- Autor:
- Ulf Caspers
(UCaspers@Caspers.de)
- Datum:
- 30.10.1998
- Zusammenfassung:
-
Hier sind noch einmal alle Schritte erläutert, die für
eine Übernahme von Index-Einträgen aus DCF/SGML-Dokumenten nach
WinWord über HTML mit B2H notwendig sind.
Diese Seite ist eine Ergänzung zum Vortrag
von DCF zu PDF.
Grobbeschreibung
Da es im HTML selbst keine Indizes gibt, können Indexeinträge
im DCF/SGML nicht direkt in entsprechende HTML-Befehle umgesetzt werden.
Tatsächlich kann B2H zwar einen Index erzeugen, dieser ist jedoch
ein fester HTML-Text und wird beim Importieren nach WinWord auch wie einfacher
Text behandelt. Inbesondere werden daher keine Seitenzahlen im Index erzeugt.
Die Idee ist, die Begriffe für den Index mit spezieller Kennzeichnung
in den generierten Text einzustreuen. Die Indexbegriffe und die Kennzeichnungen
werden beim WinWord-Import unverändert übernommen. Nach der Kennzeichnung
kann dann im WinWord-Dokument gesucht und die zugehörigen Begriffe
als Indexeinträge definiert werden. Anschließend werden die
Begriffe mit ihrer Kennzeichnung wieder aus dem Dokument gelöscht.
Damit B2H die Indexbegriffe in den Text streuen kann, muss das Symbolfile
vom B2H geändert werden, da B2H alle Indexeinträge selbst
verarbeiten will. Das Ersetzen der Kennzeichnungen im importierten Word-Dokument
kann mit Hilfe eines WinWord-Macros automatisiert werden.
Schritt für Schritt
Im einzelnen ist folgendes zu tun:
B2H-Symbolfile anpassen
In der B2h-Profildatei b2h.sym folgende Zeilen suchen
:TAG. IH1 IH2 IH3 INDEX I1 I2 I3 IT=Y VAT=N ATT=Y SE=N V='=INTERNAL'
und wie folgt abändern:
*:TAG. IH1 IH2 IH3 INDEX I1 I2 I3 IT=Y VAT=N ATT=Y SE=N V='=INTERNAL'
:TAG. IH1 IH2 IH3 INDEX I1 I2 I3 IT=Y VAT=N ATT=Y SE=N V='#INDEX#&text#EINDEX#'
Dokument nach HTML konvertieren
Das Konvertieren selbst läuft wie immer ab. Per Parameter sollte jedoch
die Indexerzeugung unterdrückt werden. Im fertigen HTML-Code sind
nach der Konvertierung alle Indexeinträge im laufenden Text zusammen
mit der Markierung enthalten.
HTML in WinWord importieren
Der HTML-Code wird zusammen mit den Index-Einträgen in WinWord importiert.
Dabei werden die Indexeinträge mit ihren Markierungen wie normaler
Text importiert.
Nach dem Import muss das Dokument als WinWord-Dokument gespeichert
werden.
Umwandeln der Markierungen in WinWord-Felder
Die im Dokument enthaltenen Markierungen mit Indexeinträgen werden
anschließend mit Hilfe eines VisualBasic-Macros in WinWord-Felder
umgewandelt. Dieses Makro muss lediglich nach den Markierungen suchen,
den zugehörigen Indexeintrag lesen und anschließend beides durch
ein WinWord-Feld für einen Indexeintrag ersetzen.
Ein Beispiel für solch ein VisualBasic-Macro für Word97 können
Sie von hier laden:
-
Speichern Sie die Datei setindex.bas mit dem
Browser auf Ihrer lokalen Festplatte, indem Sie mit der rechten Maustaste
auf den folgenden Link klicken und Verknüpfung speichern unter...
bzw. Ziel speichern unter... wählen.
VisualBasic-Macro für WinWord: setindex.bas
-
Misstrauische Zeitgenossen können den gespeicherten Code jetzt mit
einem beliebigen Editor (notepad etc.) betrachten und feststellen, dass
er virenfrei ist!
-
Zum Importieren starten Sie WinWord und laden Sie das Dokument mit den
Indexmarkierungen
-
Drücken Sie ALT+F11, um den VisualBaisc-Editor zu öffnen.
-
Wählen Sie im VisualBasic-Editor Datei/Datei importieren...
und suchen Sie die gespeicherte Datei setindex.bas.
-
Schließen Sie den VisualBasic-Editor
-
Starten Sie anschließend über Extras/Makro/Makros...
das Makro SetIndex.
-
Das Makro endet mit einer Meldung über die gefundenen Indexeinträge.
Falls Sie in Ihrer Dokumentvorlage bereits einen Index haben, können
Sie diesen jetzt aktualisieren, ansonsten können Sie über Einfügen/Index
und Verzeichnisse... an der gewünschten Stellen im Dokument einen
erstellen.
© 1998 DV-Beratung Ulf Caspers, Mannheim
(Stand vom 30.10.1998)