Benutzer-Werkzeuge

Webseiten-Werkzeuge


embedded:word

Indexing in Word

siehe auch Word

Anmerkungen dazu finden sich auch im Buch von Cindy Meister, John McGhie und Peter Jamieson „Microsoft Word - Das Profibuch“ (S. 165).

Prinzip des Embedded Indexing mit Word

[Walter Greulich, 6.2.2010]

Alles, was hier zum Embedded Indexing mit Word gesagt wird, gilt 
**sowohl für Windows als auch für MacOS**, und zwar für alle modernen 
Versionen (also ab Word 97 für Windows und Word 2004 für Mac).

Die Erzeugung eines Registers in Word ist einerseits recht einfach, kann andrerseits aber sehr komplex und somit auch kompliziert werden. Was sich mit Word bzgl. Indexing alles machen lässt, hängt von den „Gegebenheiten“ ab, also von den Wünschen, Vorstellungen, Zwängen und Grenzen, die der Auftraggeber, wir selbst und auch das Programm haben. Betrachtet wird als erstes der Fall, dass Word als Layoutprogramm fungiert. Das bedeutet vor allem eines: Die Indexeinträge, die in einem Dokument festgelegt werden, bekommen die Seitenzahlen dieses Dokuments zugewiesen.

[Bereits an dieser Stelle der Hinweis: Word kann auf verschiedene Weise zum und beim Registererstellen eingesetzt werden. Mal spielt es eine Hauptrolle, mal nur eine Nebenrolle. Wenn mit Word gelayoutet wird, kommt ihm beim Registererstellen eine Hauptrolle zu. Näheres zu den geheimnisvollen „Nebenrollen“: siehe unten: „Themen, die noch folgen werden“.]

Um ein Register in Word - einen sog. Embedded Index, also ein Register mit eingebetteten Registermarken - zu erzeugen, sind zwei grundsätzliche Schritte nötig:

  1. Festlegen der Indexeinträge,
  2. „Einfügen“ des Index (am Ende des Dokuments).

Festlegen (Einbetten) der Indexeinträge

Zum Festlegen (Einbetten) wird der Begriff durch Doppelklick markiert und dann im Dialogfeld „Indexeintrag festlegen“ eben als Registerbegriff festgelegt. Das Dialogfeld kann auf zwei Weisen aufgerufen werden:

  • Menü <Einfügen – Referenz – Index und Verzeichnisse – Eintrag festlegen> oder
  • per Tastatur: Alt+Umschalt+x.

Das Dialogfeld kann geöffnet bleiben, und man kann einfach der Reihe nach Begriffe markieren und als Indexeinträge festlegen. Auf diese Weise landen allerdings nur solche Begriffe im Index, die genauso geschrieben im Text vorkomen. Das, was man macht, ist nichts anderes als das Herausziehen von Begriffen. (Aus registertheoretischer Sicht entsteht so ein reines Stichwortverzeichnis, was nicht unbedingt schlecht sein muss, aber es ist kein „echtes“ Register.)

Soll ein Begriff ins Register wandern, der nicht als String auf der Seite vorkommt, so muss er eingetippt werden. 
Untereinträge können grundsätzlich nur eingetippt werden. Dasselbe gilt für Querverweise ("siehe" oder "siehe auch"). 
Besonders mühevoll wird es, wenn als Seitenverweis nicht nur die aktuelle Seite, sondern eine Spanne von Seiten 
aufgenommen werden soll. Das geht in Word nur über die Verwendung einer entsprechenden **Textmarke**. 

Dazu ein Ausschnitt aus der Word-Hilfe:

Festlegen von Seitenbereichen als Bezug für Indexeinträge

  1. Markieren Sie den Textbereich, auf den sich der Indexeintrag beziehen soll.
  2. Klicken Sie im Menü Einfügen auf Textmarke.
  3. Geben Sie im Feld „Name der Textmarke“ einen Namen ein, und klicken Sie dann auf Hinzufügen.
  4. Klicken Sie im Dokument auf das Ende des Textes, den Sie mit einer Textmarke gekennzeichnet haben.
  5. Drücken Sie Alt+Umschalt+x.
  6. Geben Sie im Feld Haupteintrag den Indexeintrag für den gekennzeichneten Text ein.
  7. Geben Sie im Feld Textmarke den Namen der Textmarke ein, den Sie in Schritt 3 festgelegt haben, oder wählen Sie diesen aus.
  8. Klicken Sie auf Festlegen.

Bearbeiten oder Formatieren eines Indexeintrags

Indexeinträge können nur in den sog. XE-Feldern bearbeitet oder formatiert werden. Ein XE-Feld entsteht automatisch an der Stelle, an der sich der Cursor befindet während man einen Indexeintrag festlegt (s.o.).

Damit Indexeinträge bearbeitet werden können, müssen die XE-Felder zu sehen sein. Wenn die XE-Felder nicht angezeigt werden,
einfach auf der Standardsymbolleiste auf Einblenden/Ausblenden der Absatzmarke klicken (dann werden alle Steuerzeichern und 
eben auch die XE-Felder angezeigt).

Nun zu dem XE-Feld hingehen, das bearbeitet werden soll. Am besten geschieht das Hingehen, indem man die Suche aufruft, XE gefolgt vom Eintragstext in Anführungszeichen eingibt und dann die Suche abschickt. Soll einfach nur das nächste XE-Feld gefunden werden, reicht es, im Suchen-Feld XE einzugeben und die Suche abzuschicken.

Eine andere Möglichkeit, von einem XE-Feld zum nächsten zu gehen, besteht darin, die „Gehe-zu-Funktion“ von Word zu verwenden:

  • F5-Taste (alternativ: Strg-g oder per Maus Browseobjekt →), dann bei „Gehe zu Element“ auswählen: „Feld“; rechts bei „Feldname“ auswählen: „XE“.

Im XE-Feld können neben einer inhaltlichen Bearbeitung des Eintrags die unterschiedlichsten Merkmale – im Word-Jargon „Schalter“ – eingegeben werden. Je nach Schalter übt das XE-Feld andere Funktionen aus, bewirkt, ob und wie ein Eintrag ins Register aufegommen wird.

Löschen der XE-Felder

Das Löschen der XE-Felder kann natürlich von Hand vorgenommen werden. Besser wäre allerdings ein Makro.

Makro 1: Einzellöschung
Sub xefeldraus()
'
' xefeldraus Makro
'
  Selection.GoTo What:=wdGoToField, Which:=wdGoToNext, Count:=1, Name:="xe"
  Selection.Find.ClearFormatting
  With Selection.Find
      .Text = ""
      .Replacement.Text = ""
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
  End With
  Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
  Selection.TypeBackspace
End Sub
Makro 2: Schleife zum Löschen aller XE-Felder
Sub xefelderraus()
'
' xefelderraus Makro
'
  Selection.Find.ClearFormatting
  With Selection.Find
      .Text = "XE"
      .Replacement.Text = ""
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = True
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
  End With
  While Selection.Find.Execute
  Selection.MoveLeft Unit:=wdCharacter, Count:=3
  Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
  Selection.TypeBackspace
  Wend
  MsgBox "Alle XE-Felder entfernt", vbOKOnly
End Sub

Syntax des XE -Feldes

{ XE "Text" [Schalter ] }

„Text“: ist zunächst der als Haupteintrag festgelegte Text. Untereinträge werden durch einen Doppelpunkt vom Haupteintrag getrennt.

Schalter:

\b

Wendet Fettformatierung auf die Seitenzahl des Eintrags an.

\f „Typ“

Legt einen Eintragstyp fest.

Beispiel: Der Eintrag für das Feld { XE „Hoffmann“ \f „a“ } wird nur in einen Index aufgenommen, der über das Feld { INDEX \f „a“ } (Näheres zum Index-Feld siehe unten) eingefügt wird. Der Standardeintragstyp ist „i“ (muss aber nicht extra angegegeben werden). D.h., mit diesem Schalter lassen sich z. B. Einträge für ein Personenregister von Einträgen für ein Sachregister trennen, und zwar, indem man den Sacheinträgen weder Schalter noch Eintragstyp zuweist und den Personeneinträgen Schalter \f und Eintragstyp „a“ (oder umgekehrt; man muss es nur konsequent durchziehen).

Das Gute: Man muss nicht „a“ nehmen, sondern kann einen beliebigen Buchstaben verwenden. Und es können beliebig viele Eintragstypen in einem Dokument vergeben werden. D.h. also: Falls gewünscht, ließen sich z.B. drei oder vier (oder noch mehr) verschiedene Register gleichzzeitig in einem Dokument anlegen und verwalten! Dazu würde man beim ersten Register mit Schalter \f und Eintragstyp „a“, beim zweiten mit Schalter \f und Eintragstyp „b“, beim dritten mit Schalter \f und Eintragstyp „c“ usw. arbeiten.

\i

Formatiert die Seitenzahl des Eintrags kursiv.

\r Textmarke

ist der Schalter für einen Seitenbereich. Seitenbereiche können in Word nur per Textmarke eingegeben werden (s.o.).

\t „Text“

ist der Schalter für einen Querverweis. Achtung: das Wort „siehe“ oder „siehe auch“ muss eingetippt werden!

Also z.B. { XE „Physik“ \t „siehe auch Chemie“ }

Auf der Seite WordTips von Allen Wyatt wird noch eine weitere Verwendung des Schalters \t angegeben: Man kann, anstatt Text einzutippen, auch Felder einbauen!

Das eröffnet vollkommen neue Möglichkeiten!

Zunächst muss man sich klar machen, dass der Schalter \t eigentlich nicht den Zweck hat, einen Querverweis anlegen, sondern anstatt der Seitenzahl beliebigen Text bringen zu können! Im Grunde dient er also zum Ersatz der Seitenzahl durch beliebige andere Daten.

Wurde zum Beispiel zur Nummerierung der Überschriften nicht mit Listenformatvorlagen, sondern mit dem SEQ-Feld gearbeitet (mehr zum SEQ-FEld ist hier zu finden), so kann man das gesamte Register so erzeugen, dass keine Seitenzahlen als Locators kommen, sondern die SEQ-Nummern. Das ist der Hammer! Man muss lediglich dafür sorgen, dass in allen XE-Feldern der Schalter \t steht und dass das SEQ-Feld auf die richtige Weise eingebaut wird.

Beispiel:

Es sei mit den SEQ-Feldern { SEQ u1 \n } und { SEQ u2 \n } gearbeitet worden. u1 ist der Name des Nummerierungslaufs, der für die Überschriften 1. Ordnung genommen wird, u2 derjenige für Überschriften 2. Ordnung. Der Schalter \n im SEQ-Feld sorgt dafür, dass die Nummer fortlaufend um 1 hochgesetzt wird. Es gibt noch andere Schalter, von denen für Index-Zwecke der Schalter \c wichtig ist. Er „holt“ aktuelle Nummer eines Nummerierungslaufs, setzt die Nummer also nicht hoch, sondern lässt sie konstant. Hat man etwa den Begriff „Mechanik:Geschwindigkeit“ im Unterkapitel 2.4 als Indexeintrag (mit Haupt- und Unterthema) markiert, so kann das XE-Feld so bearbeitet werden, dass es wie folgt aussieht:

{ XE „Mechanik:Geschwindigkeit“ \t „{ SEQ u1 \c }.{ SEQ u2 \c }“ }

Die Bearbeitung kann leider nicht bereits im Eintragsfenster (an der Stelle „Querverweis“) geschehen, denn hier lassen sich keine Felder einbauen.

Im Index würde der Eintrag dann folgendermaßen aussehen:

Mechanik
 Geschwindigkeit  2.4   

Mit einem Makro sollte es zu schaffen sein, den Textstring \t „{ SEQ u1 \c }.{ SEQ u2 \c }“ nachträglich automatisch in jedes XE-Feld einzubauen.
<hi>Da der Text im \t-Schalter beliebig sein kann, ist es möglich, auch andere Nummern aufzunehmen, die nichts mit der Überschriftnummerierung zu haben. So kann man beispielsweise Absätze mit dem SEQ-Feld nummerieren (unter Nutzung der Marginalien-Text-Funktion) und anstatt von Seitenzahlen Absatznummern ins Register aufnehmen! Näheres zur Absatznummerierung siehe Absatznummern in Word</hi>
Das Ganze hat leider einen Haken: Bei mehreren Fundstellen sortiert Word aus irgendwelchen Gründen (auch von MVPs kein Grund genannt) genau in der umgekehrten Reihenfolge des Auftretens! Es könnte also zu folgendem Eintrag kommen:

Mechanik
 Geschwindigkeit  2.4, 2.3, 2.1   

Das ist natürlich nicht akzeptabel.

Lösbar ist diese Einschränkung durch die folgenden Schritte:

  1. den gesamten Index von der Feldfunktion entkoppeln
  2. das Trennzeichen zwischen Eintragsthema und Locator (üblicherweise Doppelblank) per Suchen/Ersetzen in einen Tabulator verwandeln
  3. Tabelle draus machen
  4. die Spalte, die die Locators enthält, markieren und per Suchen/Ersetzen „Kommas, gefolgt von Leerzeichen“ in Absatzmarken umwandeln
  5. von Zelle zu Zelle gehen und den Zelleninhalt sortieren. Es wird standardmäßig nach Absätzen sortiert, außerdem Sortierung auf „Zahlen“ einstellen
  6. nach Abarbeiten der Tabelle die Absatzmarken in der Locator-Spalte wieder per Suchen/Ersetzen in „Kommas, gefolgt von Leerzeichen“ umwandeln
  7. Tabelle wieder in Text zurückverwandeln (tabulatorgetrennt)
  8. per Suchen/Ersetzen werden die Tabulatoren wieder in Doppelblanks verwandeln.

Das war's.

Schritt 5 (Gehen von Zelle zu Zelle und Sortieren) müsste natürlich in ein Makro gepackt werden, weil es sonst zu aufwändig wäre. Es wäre auch denkbar, alle 8 Schritte in ein großes Makro zu packen. Auf jeden Fall ist die Aufgabe lösbar.

Übrigens liegt das Reihenfolgeproblem natürlich genauso bei Querverweisen vor. Baut man an verschiedenen Stellen im Dokument Querverweise vom selben Begriff zu unterschiedlichen Zielen ein, so werden die Verweisziele nicht etwa alphabetisch sortiert, wie man es erwarten würde, sondern erratisch. Man könnte z.B. folgendes Ergebnis erzielen:

Physik  Siehe Chemie, Siehe Biologie

Bei Querverweisen ist die Sache aber insofern ein geringeres Problem (als beim Ersatz der Seitenzahl), als diese Fälle in einem Index nur an wenigen Stellen auftreten werden. Das heißt, die Bereinigung ist nicht aufwändig. Wie kann bereinigt werden? Einfach, indem man das XE-Feld mit dem Querverweis nur einmal im Dokument einbaut und in diesem Feld sämtliche Verweisziele nennt, und zwar in einer Reihenfolge, die man durch Eintippen selbst vorgibt.

Sortierung

Spezialsortierungen von einzelnen Einträgen

Eine andere Sortierreihenfolge des Haupt- oder Untereintrags kann dadurch erreicht werden, dass nach Haupt- oder Untereintrag jeweils ein Semikolon eingetippt und danach der Text in der Form eingegeben wird, wie er sortiert werden soll.

(Anmerkung: Dass sich die Sortierreihenfolge von Indexeinträgen manuell beeinflussen lässt, steht weder in den üblichen Word-Handbüchern noch ist dazu etwas in der Word-Hilfe zu finden!)

Beispiel (ohne Schalter):

{ XE "1,2,4-triazinones;triazinones1,2,4-:in corn herbicide;corn herbicide, in }

Haupteintrag ist 1,2,4-triazinones, und er wird sortiert wie triazinones1,2,4-.

Untereintrag ist in corn herbicide, und er wird sortiert wie corn herbicide, in.

Ein anderer Eintrag könnte lauten:

{ XE "1,2,4-triazinones;triazinones1,2,4-:DMI fungicide }

Im fertigen Register stünden die beiden Einträge wie folgt eingeordnet in andere Einträge:

  • triazine
    • status of reregistration process 27
  • 1,2,4-triazinones
    • in corn herbicide 26
    • DMI fungicide 26
  • triazolone herbicides 27

Buchstabenweise Sortierung (letter-by-letter sort)

Das lässt sich am einfachsten mit WordEmbed umsetzen (in DEXembed ist diese Funktion nicht enthalten).

WordEmbed nutzt zum Einbetten von Einträgen in ein Word-Dokument eine RTF-Datei, die von einem Stand-Alone-Programm (wie Cindex) aus erzeugt wurde. Die Einträge müssen als Locators die Nummern enthalten, die vorher im WordDokument mit den entsprechenden WordEmbed-Befehlen erzeugt wurden; die Nummern sind im Word-Dokument als Textmarken vorhanden. Beim Einbetten kann nun gewählt werden, dass nicht die standardmäßige wortweise Sortierung greift, sondern die buchstabenweise. WordEmbed macht nichts anderes als in allen XE-Feldern eine Spezialsortierung ohne Leerzeichen einzubauen (nach dem Semikolon).

Möchte man wieder umschalten auf die wortweise Sortierung, können entweder alle XE-Felder gelöscht und neu eingebettet werden, oder man nimmt eine Kopie der Ur-Word-Datei, die die Textmarken von WordEmbed enthält, und bettet die Felder hier ein. Dann erzeugt die eine Word-Datei den Index mit wortweiser, die andere mit buchstabenweiser Sortierung.

Ist es möglich, die Indexeinträge nach Seitenzahl zu sortieren?

Anwort: im Prinzip ja!

Dazu muss das Page-Feld direkt hinter dem Semikolon beim Haupteintrag eingefügt werden; dann wird nämlich nach dem Inhalt des Page-Feldes, also nach der Seitenzahl, sortiert.

Im obigen Beispiel hätten wir also:

{ XE "1,2,4-triazinones;{PAGE}triazinones1,2,4-:in corn herbicide;corn herbicide, in }
{ XE "1,2,4-triazinones;{PAGE}triazinones1,2,4-:DMI fungicide }
{ XE "triazolone herbicides;{PAGE}}
{ XE "triazine;{PAGE}:status of reregistration process }

Die ersten beiden Einträge befinden sich auf Seite 26, die anderen beiden auf Seite 27, wir erhielten also folgende Ansicht im Gesamtindex:

  • 1,2,4-triazinones
    • in corn herbicide 26
  • 1,2,4-triazinones
    • DMI fungicide 26
  • triazine
    • status of reregistration process 27
  • triazolone herbicides 27

Wie kommt das PAGE-Feld in die XE-Marken?

Man könnte manuell vorgehen und das Feld zusammen mit dem Semikolon (falls nicht schon aus anderen Gründen vorhanden) einfügen/eingeben. Das würde bei einem umfangreichen Register aber sehr aufwändig werden. Daher empfiehlt es sich, mit einem Makro zu arbeiten. Für den trivialen Fall, dass in keinem der vorhandenen Indexeinträge eine Spezialsortierung verlangt wurde und es nurn Haupteinträge gibt, so dass überall ledigleich nach dem Haupteintrag ein Semikolon gefolgt vom PAGE-Feld einzubauen wäre, sähe ein Makro, das auf Knopfdruck zum nächsten Eintrag springt und die Änderung vornimmt, wie folgt aus:

Sub pagefeldinindexmarke()
'
' pagefeldinindexmarke Makro
'
'
  Selection.Find.ClearFormatting
  Selection.Find.Replacement.ClearFormatting
  With Selection.Find
      .Text = "XE"
      .Replacement.Text = ""
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = True
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
  End With
  Selection.Find.Execute
  Selection.MoveRight Unit:=wdCharacter, Count:=1
  Selection.Find.ClearFormatting
  Selection.Find.Replacement.ClearFormatting
  With Selection.Find
      .Text = "^0148"
      .Replacement.Text = ""
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
  End With
  Selection.Find.Execute
  Selection.MoveLeft Unit:=wdCharacter, Count:=1
  Selection.TypeText Text:=";"
  Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
      "PAGE  ", PreserveFormatting:=True
End Sub

Komplexere Makros, die auch das Vorhandensein von Untereinträgen oder bereits vorhandene Spezialsortieraufbereitungen enthalten, lassen sich daraus entwickeln. Ebenso sollte es möglich sein, eine Schleife einzubauen, die sämtliche Index-Einträge eines Dokuments abarbeitet. Leider kann hier nicht mit einer einfachen While…Wend-Schleife gearbeitet werden, weil sonst eine Endlos-Schleife entsteht. Evtl. klappt es, wenn das While in einer neuen Zeile vor dem ersten „Selection.Find“ steht, etwa dergestalt:

  While.Execute
  Selection.Find.ClearFormatting
  ...
  Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
      "PAGE  ", PreserveFormatting:=True
  Wend

Aber das muss noch getestet werden.

Ist das PAGE-Feld eingebaut, ergibt sich als nächstes die Frage: Wie kann wieder eine alphabetische Sortierung erreicht werden?

Das Makro dazu ist relativ einfach, denn es geht nur darum, das PAGE-Feld zu löschen:

Sub pagefeldraus()
'
' pagefeldraus Makro
'
'
  Selection.Find.ClearFormatting
  Selection.Find.Replacement.ClearFormatting
  With Selection.Find
      .Text = "PAGE"
      .Replacement.Text = ""
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = True
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
  End With
  While Selection.Find.Execute
  Selection.MoveLeft Unit:=wdCharacter, Count:=3
  Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
  Selection.TypeBackspace
  Wend
End Sub

Hier ist sogar die Schleife (While…Wend) bereits eingebaut, d.h., dieses Makro wirkt auf das gesamte Dokument.

Soll auch das Semikolon vor dem PAGE-Feld mitgelöscht werden (für den Trivialfall, dass keine sonstige Sortieraufbereitung existiert) so braucht einfach nur in der While-Schleife bei „MoveLeft“ aus der 3 eine 4 gemacht zu werden; dann wird nämlich das Semikolon zusammen mit dem Feld markiert und schließlich gelöscht.

Seitenbereiche ohne Textmarken

Auch das ist möglich! (Idee stammt von Jack Lyion; im Handbuch zu DEXembed nachzulesen)

Das Verfahren besteht aus den folgenden Schritten:

  1. Am Bereichsbeginn wie üblich Eintrag erzeugen, z.B. { XE „Datenbank“ }
  2. den Eintrag durch eine eindeutige Laufzahl und das Kennzeichen BEG ergänzen: { XE „Datenbank|01BEG“ }; wichtig: vor der Laufnummer ein Sonderzeichen wie das Pipe-Symbol einbauen
  3. XE-Feld kopieren und am Ende des gewünschten Bereichs einfügen
  4. im XE-Feld das Merkmal „BEG“ durch „END“ ersetzen: { XE „Datenbank|01END“ }
  5. das war bereits das Anlegen des Bereichs

Im Grunde ist das ganz ähnlich wie das, was in den Anfangsjahren von Word mit der alten Indexing-Syntax möglich war!

J. Lyon gibt folgendes Beispiel für einen Registerausschnitt, den man beim Erzeugen des Gesamtregisters erhält:

dogs|72BEG, 8
  beagles|86BEG, 12
  beagles|86END, 14
  collies|345BEG, 9
  collies|345END, 10
  pinschers|45BEG, 10
  pinschers|45END, 11
dogs|72END, 16\\

Wie können die Seitenzahlen zu einer Bereichsangabe ergänzt werden?

  • Dazu muss zunächst das Gesamtregister in normalen Text umgewandelt werden (Strg-6)
  • Dann Mustersuche: Suche nach (<[A-z]@>)|([0-9]{1;2})BEG, ([0-9]{1;3})^13\1|\2END, ([0-9]{1;3}), ersetze durch \1 \3–\4

Ergebnis:

dogs|72BEG, 8
  beagles  12–14
  collies  9–10
  pinschers  10–11
dogs|72END, 16

Die Bereichsangabe beim Haupteintrag müsste manuelle oder mit einer (mir noch nicht bekannten) anderen Mustersuche erledigt werden; auch ein Makro könnte helfen.

Man kann ein mit den BEG-END-Kennzeichen aufbereitetes Register auch DEXembed anbieten, das daraus per Makro gleich die richtige Form erzeugt:

dogs 8-16
  beagles  12–14
  collies  9–10
  pinschers  10–11

Ein großer Vorteil dieses Verfahrens ist, dass eine Word-Datei, die mit den BEG-END-XE-Feldern in InDesign oder FrameMaker eingeladen wird, dort auch zu Indexmarken mit den BEG-END-Kennzeichen führt. Wird dann im Layout-Programm das Register erzeugt, haben alle Einträge die richtigen Seitenzahlen. Entweder wird dann die Mustersuche per GREP direkt im Layoutprogramm genutzt, um die BEG-End-Stellen zu Seitenbereichsangaben zusammenzuführen, oder die Index-Seiten werden aus dem Layoutprogramm herauskopiert und in eine Word-Datei eingefügt, sodass dort per Mustersuche (oder DEXembed) die Bereinigung vorgenommen werden kann.

Das Gesamtregister

Sind alle Begriffe festgelegt, kann das Gesamtregister mit allen Seiten- und Querverweisen erzeugt werden. Dazu geht man mit dem Cursor an die Stelle, an der das Register eingefügt werden soll (üblicherweise an das Ende des Dokuments) und ruft den entsprechenden Befehl auf:

Menü <Einfügen – Referenz – Index und Verzeichnisse>

Daraufhin erscheint das Gesamtregister mit grau unterlegten Einträgen. Wenn das Register nicht zu sehen sein sollte, sondern

{ INDEX \c "1" \z "1031"} ((oder ähnlich)), 

so liegt es daran, dass die Anzeige von Feldinhalten nicht eingeschaltet ist: einfach die Tastenkombination Alt-F9 drücken (mit der die Feldansicht ein- und ausgeschaltet wird). Man muss nämlich wissen, dass Word ein Register (und übrigens auch alle anderen Verzeichnisse) als Feld behandelt.

Aufgepasst: Index-Einträge im Index-Feld zu bearbeiten, hat keinen Sinn, weil es sich eben um ein Feld handelt. 
Sobald das Feld "aktualisiert" wird (z.B. beim Öffnen oder Schließen der Datei) werden sämtliche Änderungen 
an einzelnen Einträgen in diesem Feld überschrieben. Änderungen an Einträgen sind daher immer und ausschließlich 
im zugehörigen XE-Feld vorzuehmen! 

Syntax des Index-Feldes

Nachdem das Gesamtregister einmal erzeugt wurde, existiert das Index-Feld. Es kann nachträglich in seiner Form verändert werden.

{ INDEX [Schalter ] }

Schalter:

\b Textmarke

Erstellt einen Index für den Teil des Dokuments, der durch die angegebene Textmarke gekennzeichnet ist.

Beispiel: Das Feld { INDEX \b Auswahl } erstellt einen Index für den Dokumentteil, der durch die Textmarke „Auswahl“ gekennzeichnet ist.

\c „Spalten“

Erstellt einen Index mit mehreren Spalten pro Seite.

Beispiel: Das Feld { INDEX \c „2“ } erstellt einen zweispaltigen Index.

Es lassen sich maximal vier Spalten festlegen.

\d „Trennzeichen SEQ-Feld“

Kann nur in Verbindung mit dem Schalter \s eingesetzt werden (s.u.). Das Trennzeichen trennt die SEQ-Feld-Nummer von der Seitenzahl ab. Das Standardtrennzeichen ist der Bindestrich; d.h., wird der Schalter \d nicht angegeben, kommt automatisch der Bindestrich (-) als Trennzeichen.

Es können max. 5 Zeichen als „Gesamttrennzeichen“ verwendet werden. Das Trennzeichen muss in Anführungszeichen eingeschlossen werden.

\e „Trennzeichen Eintrag/Seitenzahl“

Gibt die Zeichen (maximal 5) an, die als Trennzeichen zwischen einem Indexeintrag und der zugehörigen Seitenzahl verwendet werden.

Im Feld { INDEX \e „; “ } sind Eintragstext und Seitenzahl durch ein Semikolon und ein Leerzeichen voneinander getrennt.

Wird der Schalter \e nicht angegeben, werden - je nach Ländereinstellung des Computers - entweder zwei Leerzeichen (Ländereinstellung deutsch) oder ein Komma und ein Leerzeichen (, ) (Ländereinstellung englisch) verwendet.

Die Trennzeichen müssen in Anführungszeichen eingeschlossen werden.

\f „Bezeichner für Eintragstyp“

Erstellt einen Index ausschließlich unter Verwendung des angegebenen Eintragstyps. So lassen sich zum Beispiel Personen- und Sachregister gleichzeitig im Text markieren, aber getrennt voneinander ausgeben.

Beispiel: Der mit dem Feld { INDEX \f „a“ } erstellte Index enthält lediglich Einträge, die durch entsprechende XE-Felder gekennzeichnet sind, z. B. { XE „Hoffmann“ \f „a“ }.

Der Standardeintragstyp ist „I“ (der Schalter \f zusammen mit dem Eintragstyp „I“ kann weggelassen werden).

Der Bezeichner muss in Anführungszeichen eingeschlossen werden.

Wichtig: Für jeden Registertyp muss ein „Gesamtindex“ erzeugt werden. D.h., man geht mit dem Cursor jedes Mal an eine andere Stelle und erzeugt das Index-Feld, und zwar am allereinfachsten, indem man das erste vorhandene Index-Feld kopiert, an der neuen Stelle einfügt und den Bezeichner für den Registertyp ändert („b“, „c“ usw.).

Nicht vergessen, das Index-Feld zu aktualisieren! Dazu einmal mitten hineinklicken und die Taste F9 drücken. F9 ist die allgemeine Feldaktualisierungstaste. D.h. mit ihr lassen sich auch andere Felder (z.B. ein Inhaltsverzeichnis) aktualisieren.

\g „Trennzeichen für Seitenbereiche“

Gibt die Zeichen (maximal 5) an, die als Trennzeichen in einem Seitenbereich verwendet werden. Das Standardtrennzeichen ist ein Gedankenstrich (–).

Beispiel: Das Feld { INDEX \g „ bis “ } z. B. zeigt Seitenbereiche in folgender Form an: „Therapie, 3 bis 4“.

Die Trennzeichen müssen in Anführungszeichen eingeschlossen werden.

\h „Überschrift der Alphabetbereiche“

Fügt zwischen den alphabetischen Eintragsgruppen Text ein, der mit der Formatvorlage Indexüberschrift formatiert ist.

Beispiel: Das Feld { INDEX \h „-A-“ } zeigt vor den einzelnen alphabetischen Gruppen im Index den entsprechenden Anfangsbuchstaben an. Um eine Leerzeile zwischen den Gruppen einzufügen, sind leere Anführungszeichen (also: \h „“) zu verwenden.

\k „Trennzeichen Eintrag/Querverweis“

Gibt die Zeichen an, die als Trennzeichen zwischen einem Indexeintrag und dem Querverweis verwendet werden.

Beispiel: Das Feld { INDEX \k „: “ } liefert im Index z. B. ein Ergebnis wie „Hauptstadt: siehe Berlin“.

Wird der Schalter \k nicht angegeben, werden ein Punkt und ein Leerzeichen (. ) verwendet.

Die Trennzeichen müssen in Anführungszeichen eingeschlossen werden.

\l „Trennzeichen zwischen Seitenzahlen“

Gibt die Zeichen an, die als Trennzeichen zwischen mehreren Verweisen auf unterschiedlichen Seiten verwendet werden. Die Standardtrennzeichen sind ein Komma und ein Leerzeichen (, ). Es können können maximal 5 Zeichen verwendet werden, die in Anführungszeichen eingeschlossen sein müssen.

Beispiel: Das Feld { INDEX \l „ oder “ } zeigt Einträge wie z. B. „Berlin; 23 oder 45 oder 66“ im Index an.

\p „Alphabetbereich“

Erstellt einen Index für Einträge mit den angegebenen Anfangsbuchstaben.

Das Feld { INDEX \p a-m } erstellt einen Index für alle Einträge, die mit den Buchstaben A bis M beginnen. Um auch Einträge in den Index aufzunehmen, die mit anderen Zeichen als Buchstaben beginnen, muss das Ausrufungszeichen (!) verwendet werden. Beispielsweise enthält der durch das Feld { INDEX \p !–t } erstellte Index alle Sonderzeichen und die Einträge mit den Anfangsbuchstaben A bis T.

\r „fortlaufender Index“

Zeigt Untereinträge in derselben Zeile wie den Haupteintrag an (fortlaufender Index!). Zum Schalter \r gehört kein Wert, er wird also einfach so eingegeben.

\s „SEQ-Feld“

Dieser Schalter bindet das SEQ-Feld als Locator in den Index ein!

Lautet das Index-Feld z.B.

{ INDEX \s „xyz“ \d „:“ }

so ist „xyz“ ist der Name des Nummerierungslaufs des SEQ-Feldes. Sinnvoll kann das sein, wenn man sämtliche Überschriften nicht per Listenformatvorlagen, sondern per SEQ-Feld nummeriert hat (Näheres dazu siehe Nummerierung per SEQ-Feld). Da die Seitenzahl immer im Index erscheint (kann aber mit einem Trick unterdrückt werden! siehe Schalter \t des XE-Feldes ), ist es wichtig, nach der SEQ-Nummer ein Zeichen zu haben, das die Seitenzahl klar optisch abtrennt. Standardmäßig nimmt Word den Bindestrich. Möchte man ein anderes Trennzeichen haben (z.B. einen Punkt oder Doppelpunkt), muss der Schalter \d eingesetzt werden.

Schade ist allerdings, dass nur ein einziger Nummerierungslauf verwendet werden kann, d.h., eine Kombination von Kapitel- und Unterkapitelnummer klappt leider nicht.

Beispiel

Das Feld sei gegegeben durch { INDEX \s abc \d „.“ } und die Kapitel seien mit dem SEQ-Feld nummeriert, wobei der Name des Nummerierungslaufs abc ist. Der Schalter \d trennt die Kapitelnummer und die Seitenzahl durch einen Punkt (.) voneinander. Ein mit diesem Feld erstellter Index sieht z. B. wie folgt aus:

Aristoteles, 1.2
Erde, 2.6
Jupiter, 2.7
Mars, 2.6

Wenn die Seitenzahl unterdrückt wird, greifen die Schalter \s und \d und auch alle anderen Schalter, die Bezug nur Seitenzahl (z.B. alle Trennzeichen-Schalter) haben, nicht mehr.

\z

Definiert die Sprachkennung, die Microsoft Word zum Erstellen des Index verwendet.

Sequentielle Seitenzahlen in Von-Bis-Angaben umwandeln

Mustersuche:

  • Suche nach: ([0-9][0-9])([0-9]), \1
  • Ersetze durch: \1\2–\1

Wandelt z. B. 761, 762 um in 761–762

Der Vorgang muss einzeln bestätigt werden.

Komprimierte Von-Bis-Angaben in lange Von-Bis-Angaben umwandeln

Mustersuche:

  • eine Stelle
    • am Zeilenende:
      • Suche nach: ([0-9])([0-9][0-9])–([0-9][0-9])^013
      • Ersetze durch: \1\2–\1\3^p
    • mittendrin (Komma):
      • Suche nach: ([0-9])([0-9][0-9])–([0-9][0-9]),
      • Ersetze durch: \1\2–\1\3,

Wandelt z.B. 761–62 um in 761–762

bzw.

761–62, 765 in 761–762, 765

  • zwei Stellen
    • am Zeilenende:
      • Suche nach: ([0-9][0-9])([0-9])–\1([0-9])^013
      • Ersetze durch: \1\2–\1\3^p
    • mittendrin (Komma):
      • Suche nach: ([0-9][0-9])([0-9])–\1([0-9]),
      • Ersetze durch: \1\2–\1\3,

Wandelt z.B. 801–7 um in 801–807

Alleinstehende Untereinträge zu Haupteintrag hochziehen und durch Komma trennen

  • Schritt 1 (Mustersuche):
    • Suche nach: ([A-zßäöü\)])^013 (Formatvorlage: Index 1)
    • Ersetze durch: \1#^p ((Alle ersetzen))
  • Schritt 2 (normale Suche)
    • Suche nach: #^p (keine Formatierung)
    • Ersetze durch: , ((Komma gefolgt von Blank)) (Formatvorlage: Index 1) ((Ersetzen einzeln bestätigen))

Bei Schritt 1 werden alle Haupteinträge, die keinen eigenen Seitenverweis haben, angefahren und am Ende des Absatzes wird ein Gartenzaun eingebaut. Damit wird die Menge der im zweiten Schritt zu bearbeitenden Stellen drastisch eingeschränkt. Der zweite Schritt hat manuell zu erfolgen, ist aber wegen der relativ kleinen Zahl Fundstellen rasch erledigt. Zum Schluss bleiben noch die nicht ersetzten # übrig, die im dritten Schritt eliminiert werden:

  • Schritt 3 (normale Suche)
    • Suche nach: #^p (keine Formatierung)
    • Ersetze durch: ^p (keine Formatierung) ((Alle ersetzen))

Bei dem Paar Untereintrag-Unteruntereintrag wäre entsprechend zu verfahren.

Unterdrückung der Seitenzahl: Ersatz durch andere Daten

Mit dem Schalter \t des XE-Feldes (nicht des Index-Feldes!) lässt sich die Seitenzahl bei jedem Eintrag unterdrücken. Dazu wurde oben schon einiges geschrieben. Indem ich hier einen separaten Abschnitt eröffne, möchte ich die Bedeutung dieses Themas herausheben.

Als Schalterwert kann beliebiger Text verwendet werden.

Das bedeutet aber nichts anderes, als dass auch Felder zum Einsatz kommen können. Man kann z.B. auch Nummerierungsfelder wie das SEQ-Feld nehmen.

Und damit kann die Seitenzahl im gesamten Index durch eine andere Nummer ersetzt werden!

Konkordanzregister

  • „Alle festlegen“: Fügt Word wirklich bei jeder Fundstelle ein Index-Feld ein? Nein! Es wird nur ein XE-Feld pro Seite eingefügt. Das bedeutet aber, dass bei einer Änderung der Paginierung evtl. einige Fundstellen nicht im Register enthalten sind.

Index über mehrere Dateien hinweg

Soll ein Gesamtregister über mehrere Dateien hinweg erzeugt werden, muss entweder mit der Funktion der Zentral- und Filialdokumente gearbeitet werden oder mit sog. „Referenced Documents“.

Zentral- und Filialdokumente

Es gibt kaum eine Funktion in Word, vor der Profi-User mehr warnen als diese. Grund: Nach Anwendung der Funktion Zentral- und Filialdokumente treten viele Abschnittswechsel im Dokument auf; je mehr Abschnitte aber eine Datei enthält, um so mehr Kapazität muss Word auf die Verwaltung anwenden, und es kann (und wird mit 100%iger Sicherheit) zu Programmabstürzen kommen. Um dieser Gefahr vorzubeugen, empfiehlt es sich, mit einer guten Alternative zu arbeiten, mit der RD-Feldfunktion!

RD-Felder

RD steht für referenziertes Dokument. Am Ende der ersten Datei muss einfach nur für jede weitere Datei einmal dieses Feld eingefügt werden, also z.B.

  • { RD „mehrere%20Dateien02.doc“ \f}
  • { RD „mehrere%20Dateien03.doc“ \f}

am Ende der Datei „mehrere Dateien01.doc“. Jetzt lassen sich über sämtliche Dateien hinweg Register (und auch Inhaltsverzeichnisse) erstellen!

Achtung: Der Schalter \f ist wichtig, wenn nur der Dateiname genannt wird; denn dann weiß Word, dass sich alle Dateien im selben Ordner befinden. Der Schalter kann weggelassen werden, wenn jeweils nicht nur der Dateiname, sondern der gesamte Pfad angegeben wird.

Fallstricke

Typische Fallstricke beim Indexing in Word sind:

  • Seitenzahlen im Register stimmen nicht mit den tatsächlichen Seitenzahlen im Dokument überein. Grund: Die Anzeige der nichtdruckbaren Zeichen war beim Indexerzeugen eingeschaltet. Dadurch werden u.a. sämtliche XE-Felder im Text offen angezeigt, benötigen also Platz - der Umbruch verschiebt sich. Lösung: Vor dem Indexerzeugen die Anzeige der nicht druckbaren Zeichen ausschalten (üblicherweise einfach auf das Paragraph-Symbol in der Formatierungssymbolleiste [oder bei Word 2007 und 2010 im Start-Register] klicken).
  • Änderungen, die man nachträglich im Register vorgenommen hat, sind beim nächsten Öffnen der Datei oder nach einem Druckvorgang verschwunden. Grund: Der Index in Word ist rein programmtechnisch gesehen ein Feld. Wie bei allen Feldern, wird auch der Inhalt des Index-Feldes beim Öffnen der Datei oder Abschicken des Druckbefehls aktualisiert, also im Grunde komplett neu erzeugt. Dabei werden vorher vorgenommene manuelle Änderungen im Feld überschrieben. Lösung: Feld in normalen Text umwandeln: siehe nächsten Punkt.

Kann ein vorhandenes Register außerhalb des Index-Feldes bearbeitbar gemacht werden?

Ja.

Wichtig zu wissen: Wie jedes Word-Feld, kann auch das Index-Feld „entkoppelt“ werden. In der Word-Sprache heißt das: die Feldverknüpfung wird gelöst. Dazu einfach das gesamte Feld markieren (egal ob in Feldansicht oder Normalansicht) und Strg-6 betätigen! Und schon ist aus dem Feldinhalt üblicher Text geworden, der ganz normal bearbeitet werden kann.

Auf diese Weise lässt sich ein Register auch in eine leere Word-Datei einfügen. Diese kann dann nach dem Abspeichern als reine Registerdatei von einer dritten Person weiterbearbeitet werden, ohne dass die kompletten Textdateien mitgegeben werden!

Man sollte sich dessen bewusst sein, dass weder die Änderungen, die im Index-Feld vorgenommen werden, noch diejenigen, die in einer separaten Registerdatei vorgenommen werden, automatisch in die eingebetteten Indexeinträge zurückgespielt werden. D.h., die separate Bearbeitung des Gesamtindex hat nur Sinn, wenn

  1. von vornherein klar ist, dass die Änderungen von Hand übernommen werden müssen und diese Tätigkeit auch im Kostenplan berücksichtigt wurde oder
  2. wenn es sich nur um allerletzte kleine Korrekturen handelt, die nicht in die eingebetteteten Einträge übertragen werden müssen.
  • Was Hyperlinks aus dem Index angeht, so geht John McGhie nur kurz drauf ein, schlägt aber vor, ein Makro laufen zu lassen.
  • Ich stell mir die Geschichte mit den Hyperlinks folgendermaßen vor:
    • zunächst den gesamtenm Index aus dem Index-Feld herausholen (formatiert!)
    • dann Makro drüberlaufen lassen, das jede Seitenzahlangabe
      • sucht und
      • mit einem Link auf die jeweilige Seite versieht
      • erstes Problem: wie findet Makro eine Seitenzahl? Am besten einfach Makro mehrmals drüberlaufen lassen: einmal für einstellige Zahlen, dann für zweistellige usw. Kennzeichen ist außerdem der Doppel- oder Dreifachblank nach dem jeweiligen Eintragsthema
      • zweites Problem: wie kann der Link gesetzt werden? Am besten vorher mit einem anderen Makro jeder Seite am Anfang oder mitten drin eine Textmarke zuweisen, die als Name die Seitenzahl hat. Denn Links können nur auf Textmarken gesetzt werden (oder?). Wenn das geschehen ist, kann das Indexmakro bei jeder gefundenen Seitenzahl den Link auf eine Textnarke setzen,die genauso heißt wie die gefundene Seitenzahl.
  • Eine andere Möglichkeit, zumindest solange man in Word bleibt, wäre wie auf S. 168 des Meister/McGhie/Jamieson-Buches beschrieben, einfach die Suchfunktion (Suche nach Seite) auszunutzen. Im Prinzip liefe das so ab:
    • Doppelklick auf Seitenzahl im Register ruft Makro auf, das prüft, ob Doppelklick innerhalb eines Feldes (was beim Index-Feld der Fall ist), falls ja,
    • wird der Inhalt des markierten Bereichs (also die Seitenzahl) vom Makro fetsgehalten (als Variable) und an die Suche übergeben.
    • Die Suche (im Grunde F5) findet dann die gewünschte Seite, und das Makro stoppt.
    • Achtung: Dieses Verfahren verwendet keine Hyperlinks, daher kann die gesamte Mimik auch nicht an andere Programme (wie Acrobat) übergeben werden.

Übernahme von Word-Indexmarken in InDesign

  • schon immer möglich: aus Word RTF machen und dann die RTF-Datei importieren (platzieren)
  • seit CS4 zusätzlich möglich: die Optionen für die Zwischenablage entsprechend einstellen und dann die komplette Word-Datei per Copy and Paste in InDesign einfügen.

Unterschiedliche Register in Word

Die in Word mit dem entsprechenden „Schalter“ gekennzeichneten Einträge unterschiedlicher Register (z.B. Namen- und Sachregister) werden in InDesign glattgebügelt: die Einträge kommen rüber, aber es gibt keinen Unterschied mehr. Das wird wohl daran liegen, dass InDesign keine eigene Funktionn hat, mehrere Indexe zu verwalten.

Es gibt zwei Möglichkeiten, mit den Registermarken in Word mehrere unterschiedliche Register für InDesign (oder andere Layoutprogramme) zu erzeugen:

  • alle Personeneinträge in Word zusätzlich mit „zzz“ beginnen lassen, sodass sie nach Impiort und Indexerzeugung als Block am Ende des InDesign-Index stehen. Einmal Suchen/Ersetzen - fertig. An die zzz-Schreibweise muss man sich allerdings gewöhnen…
  • Die Umbruchseiten von InDesign in Word „nachbilden“ (mit manuellen Seitenumbrüchen) und die verschiedenen Register ganz normal in Word erzeugen. Clou dabei: die Einträge haben die korrekten Seitenverweise, obwohl alles in Word passiert. Die so erstellten Registertexte können dann ganz normal in InDesign platziert werden - aber ohne Aktualisierungsmöglichkeit in InDesign (bei Seitenverschiebungen müsste das Verfahren wiederholt werden).

Übernahme von Word-Indexmarken in FrameMaker

Übernahme von Word-Indexmarken in Open Office

Damit die Indexmarken einer Word-Datei ins Open-Office-Format übertragen werden, muss

  • entweder die .docx-Datei im alten .doc-Format abgespeichert und dann von Open Office aus geöffnet (also konvertiert) werden
  • oder direkt aus der .docx-Datei heraus im Open-Office-Format abgespeichert (also konvertiert) werden

Die Indexmarken in Open Office sind vollkommen anders strukturiert als in Word. Während in Word die übliche Struktur

  • Haupteintrag
  • Untereintrag
  • Unteruntereintrag

vorliegt, sieht eine Indexmarke in Open Office wie folgt aus:

  • Eintragsetxt
  • 1. Schlüssel
  • 2. Schlüssel

Dabei hat der 1. Schlüssel die Bedeutung des Haupteintrags, der Eintragstext ist gleichbedeutend mit Untereintrag und der 2.Schlüssel entspricht dem Unteruntereintrag. Warum das so ist, bleibt wohl ein Geheimnis der Open-Office-Entwickler.

Nochmal übersichtlich:

WordOpen Office
Haupteintrag1. Schlüssel
UntereintragEintragstext
Unteruntereintrag2. Schlüssel


Der eigentliche Index sieht in beiden Programmen gleich aus.

Übergabe von Word-Indexmarken an EPUB

Der einzige mir bekannte Weg führt über Jutoh.

Die Konvertierung muss immer Jutoh vornehmen.

D.h., man öffnet eine Word- oder Open-Office-Datei direkt von Jutoh aus. Dabei werden die Indexmarken korrekt umgesetzt.

Die Struktur der Indexeinträge in Jutoh sieht genauso aus wie in Open Office (vgl. oben).

Würde die Word- oder Open-Office-Datei zunächst als HTML-Datei abgespeichert, gingen die Indexmarken verloren.

Zu bedenken ist allerdings, dass die Indexe, die auf diese Weise entstehen, nicht wirklich gut sind! Mehr dazu: siehe nächsten Punkt.

Anmerkung: Natürlich kann man Word-Dateien in In-Design oder FrameMaker einladen und von dort aus EPUB erzeugen, und zwar so, dass die Indexmarken ebenfalls erhalten bleiben. 
Aber das ist dann kein Publizieren aus Word, sondern aus den genannten Layoutprogrammen.

Verlinkung von Indexeinträgen in Word und Übergabe an EPUB

Die Übergabe von Word-Indexmarken an EPUB (wie vorstehend beschrieben) „füttert“ die Index-Funktionen in EPUB-Programmen wie Jutoh oder Sigil. Es entstehen dabei aber Indexe, die optisch nicht besonders ansprechend sind und die v.a. keine Locators enthalten. D.h., der Leser hat keinerlei Orientierung und kann die Bedeutung einzelner Einträge nicht wirklich einschätzen. Hinzu kommt, dass Einträge, die in der Printversion auf mehrere Locators verweisen, in der EPUB-Version den Eintragstext einfach mehrfach wiederholen. Das ist natürlich ganz schlecht.

Das heißt letztlich: EPUB-Indexe sollten, wenn sie gut werden sollen, vollkommen anders erzeugt werden!

Die (zurzeit, 2015) einzige Möglichkeit besteht darin, die Indexeinträge bereits in Word zu verlinken. Dazu müssen an allen Stellen im Text, auf die aus dem Index heraus verwiesen wird, Textmarken als Anker oder Linkziele eingebaut werden. Anschließend sind die Locators im Index mit diesen Textmarken zu verlinken. Näheres dazu ist hier zu erfahren: Verlinkung von Indexeinträgen
Das Gute: Hyperlinks werden von Word an HTML und von dort an EPUB weitergereicht!

Themen, die noch folgen werden

  • Lassen sich mit Word „vollautomatische“ Register erzeugen? Was heißt vollautomatisch und welche Konsequenzen hat das?
embedded/word.txt · Zuletzt geändert: 2024/12/14 17:45 von walter