siehe auch Word
Anmerkungen dazu finden sich auch im Buch von Cindy Meister, John McGhie und Peter Jamieson „Microsoft Word - Das Profibuch“ (S. 165).
[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:
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:
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
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:
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.
Das Löschen der XE-Felder kann natürlich von Hand vorgenommen werden. Besser wäre allerdings ein Makro.
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
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
{ XE "Text" [Schalter ] }
„Text“: ist zunächst der als Haupteintrag festgelegte Text. Untereinträge werden durch einen Doppelpunkt vom Haupteintrag getrennt.
\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:
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.
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:
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.
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:
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.
Auch das ist möglich! (Idee stammt von Jack Lyion; im Handbuch zu DEXembed nachzulesen)
Das Verfahren besteht aus den folgenden Schritten:
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?
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.
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!
Nachdem das Gesamtregister einmal erzeugt wurde, existiert das Index-Feld. Es kann nachträglich in seiner Form verändert werden.
{ INDEX [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.
Mustersuche:
Wandelt z. B. 761, 762 um in 761–762
Der Vorgang muss einzeln bestätigt werden.
Mustersuche:
Wandelt z.B. 761–62 um in 761–762
bzw.
761–62, 765 in 761–762, 765
Wandelt z.B. 801–7 um in 801–807
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:
Bei dem Paar Untereintrag-Unteruntereintrag wäre entsprechend zu verfahren.
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!
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“.
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 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.
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.
Typische Fallstricke beim Indexing in Word sind:
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
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:
Damit die Indexmarken einer Word-Datei ins Open-Office-Format übertragen werden, muss
Die Indexmarken in Open Office sind vollkommen anders strukturiert als in Word. Während in Word die übliche Struktur
vorliegt, sieht eine Indexmarke in Open Office wie folgt aus:
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:
Word | Open Office |
---|---|
Haupteintrag | 1. Schlüssel |
Untereintrag | Eintragstext |
Unteruntereintrag | 2. Schlüssel |
Der eigentliche Index sieht in beiden Programmen gleich aus.
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.
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!