Benutzer-Werkzeuge

Webseiten-Werkzeuge


indexing:indexmanager

Index-Manager

Der Index-Manager ist angesiedelt zwischen Add-Ins und Stand-Alone-Programmen.

Einerseits befüttert der Index-Manager Word- oder InDesign-Dateien mit Indexmarken, was ein typisches Kennzeichen für ein Add-In ist, andrerseits arbeitet man während des Indexerstellungsprozesses vollständig außerhalb von Word und InDesign, also eigenständig, was wiederum das Hauptmerkmal von Separate-File-Indexing- und Stand-Alone-Programmen ist.

Im Unterschied zu Separate-File-Indexing-Programmen wie Excel konzentriert sich der Index-Manager auf das Indexing und stellt eine Reihe hilfreicher Funktionen zur Verfügung, die mit denen der klassischen Stand-Alone-Programme Cindex, Sky und Macrex vergleichbar sind, teilweise sogar darüber hinausreichen.

Verglichen mit den typischen Add-Ins, etwa für Word, wie beispielsweise DexEmbed oder WordEmbed, kann mit dem Index-Manager ein Index erstellt werden, ohne dass man dazu die jeweilige Word-Datei öffnen und Word-Funktionen oder VBA-Makros verwenden muss. Der Index-Manager „öffnet“ zwar auch die Ausgangsdateien (Word oder InDesign), allerdings indirekt, indem er die XML-Informationen im Hintergrund ausnutzt.

Man kann sagen, die üblichen Add-Ins sind VBA-basiert, der Index-Manager ist XML-basiert.

Das Prinzip besteht darin, dass der Index-Manager die XML-Daten eines Dokuments zu sich einlädt und über ein HTML-Stylesheet zur Ansicht anbietet. Der Index kann nun im Index-Manager erstellt und bearbeitet werden. Zum Schluss wird er exportiert, wobei „Export“ bedeutet, dass die XML-Daten des Word- oder InDesign-Dokuments aktualisiert werden; dadurch enthält das Dokument alle Einträge (in den programmeigenen Feldern), die mit dem Index-Manager kreiert wurden. Danach kann mit den Mitteln, die diese Programme zur Verfügung stellen, der Gesamtindex wie üblich erzeugt werden.

Startseite

Zum Einladen der Daten muss ein Word- oder InDesign-Dokument nicht extra vorbereitet werden, sondern man gibt im Index-Manager an, welche Dateien verwendet werden sollen, das Programm holt sich dann selbsttätig die benötigten Informationen und stellt sie dar.

Bild 1: Auf der Willkommen-Seite des Programms können die Dateien, die eingeladen werden sollen, angegeben werden. Sie bilden dann ein „Projekt“. Man startet also immer ein bestimmtes Projekt, wenn man an einem Index arbeiten möchte.


Oberfläche

Zentrales Element der Oberfläche des Index-Managers ist das Dokumentfenster „Text“. „Rundherum“ um diese HTML-Ansicht auf den Dokumentinhalt stehen Werkzeug-Fenster zur Verfügung, in denen der entstehende Index formatiert angezeigt wird (Nester, Eintragsebenen) und komfortabel bearbeitet werden kann.

Bild 2: Oberfläche des Index-Managers.
Oben (quer): das Editieren-Fenster. Es ist zweigeteilt; links stehen die Begriffe, die man zum Editieren ausgewählt hat, rechts ist die Vorschau auf die Änderungen zu sehen, die man per Suchen/Ersetzen herbeiführen kann; ersetzt wird erst, wenn die Schaltfläche „Setzen“ (rechts oben) gewählt wird.
Links Mitte: das Register-Fenster. Es zeigt eine Vorschau auf das formatierte Register mit Nestern und Einzügen für die Untereinträge.
Links unten: das Index-Fenster oder genauer: die Index-Liste. Sie dient zum Anschauen und Bearbeiten einer Begriffsauswahl, die man über die Filterfunktion trifft (hier: Acetamid)
Rechts: das Dokumenttext-Fenster („Text“). Es zeigt den Inhalt des Dokuments. Zu sehen sind auch die eingebetteten Indexmarken: grün hinterlegter Text in spitzen Klammern.


Erstellen eines Indexeintrags

Damit ein Begriff in den Index wandert, wird er einfach (analog zum Vorgehen in Word oder InDesign) im Dokumenttext markiert und durch den Befehl „Erstellen“ in den Index aufgenommen.

Bild 3: Erstellung eines Eintrags. Das Wort wird per Doppelklick ausgewählt und ist sofort im Eintragsfeld der Erstellen-Zeile (oben) zu sehen. Die 1 davor (im Kästchen auf blauem Grund) gibt an, dass es sich um ein Hauptthema handelt. Hätte man vor dem Auswählen des Wortes in das Feld mit der 2 davor geklickt gehabt, würde es im Unterthema-Feld landen. Entsprechendes gilt für das Unterunterthema-Feld (3). Alle drei Felder lassen sich editieren.
Betätigen von „Erstellen“ führt dazu, dass der komplette Eintrag ins Register aufgenommen wird.


Verschieben eines Indexeintrags

Bild 4: Ein Eintrag wird verschoben, indem man ihn im Textfenster doppelklickt, womit er im Eintragsfeld der Erstellen-Zeiel zu sehen ist. Nun wird das Ankersymbol (rechts) ausgewählt, anschließend wird die Ziel-Textstelle markiert und der Button „Aktualisiere“ gedrückt.

Double Posting

Double Posting ist auf zwei Weisen möglich:

  • Wenn der Eintrag in der Index-Liste enthalten ist: rechtsklicken auf Eintrag und „Duplizieren“ wählen; anschließend kann der duplizierte Eintrag wie gewünscht bearbeitet werden
  • Während des Erstellungsprozesses ist der Eintrag noch kein Teil der Index-Liste; dann einfach den Eintrag zweimal erstellen:
    • Text per Doppelklick markieren und „Erstellen“ wählen → führt zur ersten Variante des Eintrags
    • Text erneut per Doppelklick markieren, wie gewünscht bearbeiten und erst dann „Erstellen“ wählen → führt zur zweiten Variante des Eintrags.

Das Ausführen des Duplizieren-Befehls außerhalb der Index-Liste (also z. B. im Editieren-Fenster oder im Register-Fenster) ist in der aktuellen Version des Index-Managers nicht möglich.

Löschen von Einträgen

Löschen von Einträgen ist auf zwei Weisen möglich:

  • Wenn der Eintrag in der Index-Liste enthalten ist: Eintrag markieren (es könne auch mehrere gleichzeitig markiert werden) und „Entfernen“-Taste drücken
  • Während des Erstellungsprozesses ist der Eintrag noch kein Teil der Index-Liste; dann Eintrag im Dokumenttext doppelklicken, sodass er in der „Erstellen“-Zeile (mit den drei Teilfeldern für 1., 2. und 3. Ebene) erscheint; jetzt alle Teilfelder leeren und „Aktualisieren“ wählen. Im Dokumenttext sind jetzt spitze Klammern ohne Inhalt zu sehen, was nichts anderes bedeutet, als dass ein leerer Eintrag vorliegt; zu bedenken: es liegt ein Eintrag vor! Mit anderen Worten: Der Eintrag ist noch nicht wirklich gelöscht. Um die Löschung zu komplettieren, muss der leere Eintrag irgendwann (muss nicht sofort geschehen) in der Index-Liste entfernt werden. Dazu einfach im Filter-Feld der Liste nichts eingeben (bzw. vorhandenen Filtertext wegnehmen) und nach der Spalte „Eintrag“ sortieren; möglicherweise muss zweimal auf den Titel der Spalte geklickt werden, damit alle leeren Einträge am Anfang der Liste stehen; nun gemeinsam markieren und löschen.

Das Ausführen des Löschen-Befehls außerhalb der Index-Liste (also z. B. im Editieren-Fenster oder im Register-Fenster) ist in der aktuellen Version des Index-Managers nicht möglich.

Setzen/Ändern/Löschen einer Bereichsmarkierung in Word

Ein Bereich wird gesetzt, indem man

  1. einen vorhandenen Eintrag doppelklickt,
  2. dann die Schaltfläche für den Bereichsanfang wählt,
  3. dann das erste Wort des Bereichs markiert (es muss ein Wort im Text sein, nicht der Indexeintrag selbst!),
  4. dann ans Ende des Bereichs geht, das letzte Wort markiert (Doppelklick) und die Schaltfläche für das Bereichsende wählt,
  5. und dann auf die Schaltfläche „Aktualisieren“ drückt.

Um einen Bereich zu ändern, muss der vorhandene zuerst gelöscht werden:

  • Eintrag, zu dem eine Bereichsangabe gehört, auswählen.
  • Neben den Bereichswerkzeugen [, ] und [] wird das Bereich-leeren-Werkzeug hervorgehoben (Pinsel) und einige Informationen zum Bereich werden angezeigt
  • Nun das Bereich-leeren-Werkzeug anklicken: der Bereich ist entfernt, die Bereichsinformation ist ebenfalls verschwunden.
  • Jetzt kann ein neuer Bereich gesetzt werden (vgl. oben).

Setzen/Ändern/Löschen einer Bereichsangabe in InDesign

Hier kann auf die Funktionalität zurückgegriffen werden, die auch innerhalb von InDesign zur Verfügung steht. Das heißt, man kann wählen:

  • Aktuelle Seite
  • Bis nächsten Formatwechsel
  • Bis nächste Verwendung von Format
  • Bis zum Ende des Textabschnitts
  • Bis Dokumentende
  • Bis Abschnittsende
  • Für folgende Absatzanzahl
  • Für folgende Seitenanzahl

Vorgehen:

  1. vorhandenen Eintrag markieren
  2. den gewünschten Bereich wählen (Pull-Dowm-Menü neben „Bereiche:“)
  3. auf Schaltfläche „Aktualisieren“ klicken

Im Unterschied zu Word muss nicht extra ein Wort im Text markiert werden, sondern man kann direkt nach Doppelklick auf einen vorhandenen Eintrag den Bereich wählen.

Vorgehen zum Löschen eines Bereichs:

  1. Eintrag markieren
  2. im Pull-Down-Menü den Punkt „Seitenbereich unterdrücken“ wählen
  3. auf Schaltfläche „Aktualisieren“ klicken.

Querverweise

  • Querverweise werden in einem separaten Fenster, dem Querverweise-Fenster erfasst und verwaltet.
  • Es lassen sich Siehe- und Siehe-auch-Verweise bilden.
  • Nach dem „Hinzufügen“ ist ein neuer Querverweis im Querverweise-Fenster zu sehen.
  • Blaue Textfarbe des Quellbegriffs bedeutet: Es liegen mehrere Untereinträge vor, daher sollte der Verweis zu einem Siehe-auch-Querverweis gemacht werden.
  • Rote Textfarbe des Zielbegriffs bedeutet: Dieser Eintrag existiert nicht. Oft hat man sich einfach nur vertippt. Falls der Fehler nicht korrigiert wird, kann es sein, dass der Querverweis beim Schließen des Programms gelöscht wird. Daher ist es ratsam, einen fehlenden Zieleintrag vor dem Schließen des Programms zu erstellen.
  • Um einen Querverweis bewusst zu löschen: Auf den Begriff in der Eintragsspalte klicken, dann Entfernen-Taste.


Filter

Ein aus meiner Sicht wesentliches Element des Index-Managers ist die Möglichkeit, Untermengen des Registers selektieren zu können. Das geschieht im Index-Listen-Fenster, indem im Feld „Filter“ ein Textstring oder ein Muster eingegeben wird.

Bild 5: einfacher Suchstring


Bild 6: Mustersuche. Hier wird nach allen Einträgen gesucht, die mit einer Zahl beginnen (^ steht für „am Anfang“ des Textes, also der Datenzeile; \d steht für: „digit“); damit das Programm weiß, dass nach einem Muster, also einer „regular expression“ gesucht wird, ist per Maus das kleine „rx“ am rechten Ende des Filterfeldes anzulicken.


Spezialsortierung

Wie in den XE-Feldern in Word bewirkt ein Semikolon, dass eine bestimmte Sortierung erzwungen werden kann. Sortiert wird so, wie der String nach dem Semikolon vorgibt. Der Ausgangsbegriff wird zunächst kopiert, dann wird ein Semikolon am Ende des Begriffs eingegeben und direkt danach wird der Ausgangsbegriff aus der Zwischenablage eingefügt. Der Textstring nach dem Semikolon kann nun beliebig verändert werden.

Spezielle Funktionen: Index-Aktionen

In der Index-Liste können Spezialfunktionen genutzt werden, die man sich selbst anlegen kann und die auf regular expressions beruhen. Definiert werden die Aktionen im Aktionen-Fenster, das im Menüpunkt „Extras“ aufgerufen werden kann:

Bild 7: Auf des Index-Aktionen-Fensters


Die nachfolgende Aktionen-Liste zeigt neben Default-Aktionen einige selbstangelegte Aktionen (wie die Sort-Funktionen):

Bild 8: Liste von Aktionen


Jeder Aktion lässt sich ein Tastenkürzel zuweisen. Anwenden lassen sich Aktionen entweder über das Tastenkürzel oder per Maus in einem Kontextmenü, das im Index-Listen-Fenster durch Klick auf einen Eintrag per rechter Maustaste geöffnet wird:

Bild 9: Kontextmenü zu Aktionen


Mit Aktionen können so gut wie alle Funktionen, die Stand-Alone-Programme bieten, nachgebaut werden.

Einige Beispiele:

  • Merge Levels Blank: holt das Adjektiv des Unterthemas und fügt es vor dem Hauptthema ein (mit Blank dazwischen).
  • Merge Levels Komma: holt das Adjektiv des Unterthemas und fügt es hinter dem Hauptthema ein (mit Komma und Blank dazwischen).
  • Split: schneidet das Unterthema, das durch Komma getrennt nach einem Hauptthema steht, aus und fügt es als Unterthema ein, sodass nun ein Eintrag vorliegt, der aus zwei Ebenen besteht.
  • Swap level: vertauscht Haupt- und Unterthema
  • Swap name: vertauscht bei einem Eintrag aus zwei Wörtern erstes und zweites Wort und setzt ein Komma dazwischen (besonders sinnvoll bei Namen)
  • Swap parenthesis: vertauscht Text vor einer Klammer mit dem Text in Klammer (besonders sinnvoll, wenn man bei der Kombination aus ausgeschriebenem Begriff und Abkürzung in Klammern ein Double Posting vornimmt, bei dem die Reihenfolge umgekehrt sein soll, also erst Abkürzung und dann ausgeschriebener Begriff in Klammern).
  • Sort2_zahl_zu_beginn: bei Begriffen, die mit Zahlen-Strings beginnen (wie 2,4-Diaminoanisol) wird der Gesamtbegriff kopiert, dann wird wird ein Semikolon am Ende des Begriffs eingefügt und direkt danach kommt der Begriff ohne Zahlenstring davor, der Zahlenstring wird dahinter gesetzt (im Beispiel liegt dann also vor: 2,4-Diaminoanisol;Diaminoanisol2,4-). Siehe auch oben: Spezialsortierung.


Basis der Muster, die sowohl im Filter als auch bei Index-Aktionen verwendet werden, ist die RegEx-Syntax der Programmiersprache Perl.

Regular expressions in Perl

wörtlich übernommen von: http://jkorpela.fi/perl/regexp.html

>>

This document presents a tabular summary of the regular expression (regexp) syntax in Perl, then illustrates it with a collection of annotated examples.

Metacharacters

charmeaning
^beginning of string
$end of string
.any character except newline
*match 0 or more times
+match 1 or more times
?match 0 or 1 times; or: shortest match
|alternative
( )grouping; “storing”
[ ]set of characters
{ }repetition modifier
\quote or special

To present a metacharacter as a data character standing for itself, precede it with \ (e.g. \. matches the full stop character . only).

Repetition

a*zero or more a’s
a+one or more a’s
a?zero or one a’s (i.e., optional a)
a{m}exactly m a’s
a{m,}at least m a’s
a{m,n}at least m but at most n a’s
repetition?same as repetition but the shortest match is taken

Read the notation a’s as “occurrences of strings, each of which matches the pattern a”. Read repetition as any of the repetition expressions listed above it. Shortest match means that the shortest string matching the pattern is taken. The default is “greedy matching”, which finds the longest match. The repetition? construct was introduced in Perl version 5.

Special notations with \

Single characters

\ttab
\nnewline
\rreturn (CR)
\xhhcharacter with hex. code hh

“Zero-width assertions”

\b“word” boundary
\Bnot a “word” boundary

Matching

\wmatches any single character classified as a “word” character (alphanumeric or “_”)
\Wmatches any non-“word” character
\smatches any whitespace character (space, tab, newline)
\Smatches any non-whitespace character
\dmatches any digit character, equiv. to [0-9]
\Dmatches any non-digit character

Character sets: specialities inside [...]

Different meanings apply inside a character set (“character class”) denoted by […] so that, instead of the normal rules given here, the following apply:

[characters]matches any of the characters in the sequence
[x-y]matches any of the characters from x to y (inclusively) in the ASCII code
[\-]matches the hyphen character “-”
[\n]matches the newline; other single character denotations with \ apply normally, too
[^something]matches any character except those that [something] denotes; that is, immediately after the leading “[”, the circumflex “^” means “not” applied to all of the rest

Examples

expressionmatches…
abcabc (that exact character sequence, but anywhere in the string)
^abcabc at the beginning of the string
abc$abc at the end of the string
a|beither of a and b
^abc|abc$the string abc at the beginning or at the end of the string
ab{2,4}can a followed by two, three or four b’s followed by a c
ab{2,}can a followed by at least two b’s followed by a c
ab*can a followed by any number (zero or more) of b’s followed by a c
ab+can a followed by one or more b’s followed by a c
ab?can a followed by an optional b followed by a c; that is, either abc or ac
a.can a followed by any single character (not newline) followed by a c
a\.ca.c exactly
[abc]any one of a, b and c
[Aa]bceither of Abc and abc
[abc]+any (nonempty) string of a’s, b’s and c’s (such as a, abba, acbabcacaa)
[^abc]+any (nonempty) string which does not contain any of a, b and c (such as defg)
\d\dany two decimal digits, such as 42; same as \d{2}
\w+a “word”: a nonempty sequence of alphanumeric characters and low lines (underscores), such as foo and 12bar8 and foo_1
100\s*mkthe strings 100 and mk optionally separated by any amount of white space (spaces, tabs, newlines)
abc\babc when followed by a word boundary (e.g. in abc! but not in abcd)

<<

Formatierungen

Seitenzahlen

Word:

Dazu dienen die am oberen Rand des Textfensters angebotenen Formatierungsmöglichkeiten (F und/oder K). Vorgehen:

  1. Eintrag auswählen (per Doppelklick),
  2. Format fett, kursiv oder fett-kursiv auswählen.

InDesign:

Hier können neben F und K auch Zeichenformate (Stile) ausgewählt werden, was eine viel höhere Flexibilität und Variabilität als in Word ergibt

Formatierungscodes für Eintragstexte

Kursiv und fett

Im Index-Manager können die HTML-Auszeichnungscodes für kursiv und fett verwendet werden:

CodeFormatierung
<b> und </b>fett
<i> und </i>kursiv
<b><i> und </b></i>fett-kursiv

Der zu formatierende Text wird einfach mit diesen Tags umgeben.

  • Um sich die Sache zu vereinfachen, können MacroExpress-Makros eingesetzt werden, z. B.
<CONTROL>c<i><CONTROL>v</i> für kursiv und
<CONTROL>c<b><CONTROL>v</b> für fett

Vor dem Anwenden der Makros muss das jeweilige Textstück markiert werden.

Der „Scope“ der Makros muss in MacroExpress auf „Global“ eingestellt sein.

Die Codes können verschachtelt werden. So führt z. B. die Kombination aus <b><i> und </i></b> zu fettkursivem Text

Hoch und tief

Weitere Formatierungen (z.B. <sup> und <sub> für Hoch- bzw. Tiefstellung) können zwar ebenfalls eingegeben werden und führen sogar zur formatierten Darstellung im Index-Manager, aber sie werden beim Export nicht in die Syntax von Word oder InDesign konvertiert. Die Entwickler arbeiten an einer Lösung.

Solange diese Lösung nicht existiert, kann man sich mit Codes behelfen, die den Index-Manager nicht stören und die im Word-Gesamtindex per Mustersuche in die richtige Formatierung konvertiert werden können.

  • Es bieten sich die Codierungen an, die auch von Cindex verwendet werden :
CodeFormatierung
\d und \DTiefstellung
\u und \UHochstellung

Dazu wird die zu formatierende Textstelle markiert und dann mit den Codes versehen, also z. B. H\d2\DO für H2O.

  • Auch hier können wieder MacroExpress-Makros eingesetzt werden:
<CONTROL>c\d<CONTROL>v\D für Tiefstellung und
<CONTROL>c\u<CONTROL>v\U für Hochstellung
  • Suchen/Ersetzen in Word:
Suche nachErsetze durch
(\\d)([A-zßäöü0-9]*)(\\D)\2 tiefgestellt
(\\u)([A-zßäöü0-9]*)(\\U)\2 hochgestellt


Weitere hilfreiche MacroExpress-Editier-Makros

Vorbemerkungen:

  • Alle MakroExpress-Makros müssen den Scope „Global“ haben.
  • Tastenkürzel sind die, die innerhalb MacroExpress vergeben werden; aufpassen: sie dürfen nicht mit den Tastenkürzeln innerhalb des IndexManagers interferieren.


AktionCodemögl. TastenkürzelErläuterungAchtung
markierten Text ausschneiden und in rechtes Feld verschieben <CONTROL>x<TAB><CONTROL>v Shift-Alt-RightArrowgeeignet, um markierten Ebene-1-Text zu Ebene-2-Text zu machen evtl. im Zielfeld vorhandener Text wird überschrieben
markierten Text ausschneiden und in linkes Feld verschieben <CONTROL>x<Shift><TAB><CONTROL>v Shift-Alt-LeftArrow geeignet, um markierten Ebene-2-Text zu Ebene-1-Text zu machen evtl. im Zielfeld vorhandener Text wird überschrieben
Sortieraufbereitung 1: in Ebenen-Feld (1, 2 oder 3) Begriff kopieren, ans Ende gehen, Semikolon einfügen, kopierten Text einfügen <HOME><SHIFT><END><CONTROL>c<END>;<CONTROL>v Ctrl-Alt-Keypad 1 erster Schritt zur Sortieraufbereitung; danach kann Spezialsortierung eingegeben werden (→Sortieraufbereitung 2)
Sortieraufbereitung 2: markierten Teil des Texts nach Semikolon ausschneiden und ans Ende stellen<CONTROL>x<END><CONTROL>v Ctrl-Alt-Keypad 2 hiermit wird die eigentliche Spezialsortierung eingestellt


Querverweise: Anordnung am Ende eines Eintragsarrays

Soll z. B. von „abc“ per siehe auch auf „efg“ verwiesen werden, so lautet die Syntax für den Index-Manager:

abc|siehe auch efg;zzz \t ""

Erkenntnis: Der Siehe-auch-Verweis wird als Untereintrag behandelt; \ t und die Anführungszeichen werden ganz normal eingegeben (Doppel-Backslashes sind nicht nötig).

Das wird beim Export in Word zu

XE "abc:siehe auch efg;zzz \t \"\""

Erkenntnis: In Word kommen einige Anführungszeichen hinzu. Der gesamte Ausdruck abc:siehe auch efg;zzz \t \„\“ steht zwischen zwei Anführungszeichen (vor abc und hinter \„, also: „abc bzw. \““).

Wichtig: Die Export-Eignung ist automatisch gegeben, wenn der Eintrag im IM wie oben gezeigt als Unterthema angelegt wird. Ein korrekter Import von Word zu IM gelingt nur, wenn in Word die ebenfalls oben angegebene Syntax vorliegt. Das ist nach dem Export aus IM der Fall. Wenn aber ein Siehe-auch-Verweis direkt in Word erzeugt wird, muss er erst in diese Syntax gebracht werden. Entscheidend ist dabei die „Umfassung“ mit Anführungszeichen.

Achtung: Solange der Index nicht fertig ist, darf an der Syntax, die aus dem Index-Manager an Word übergeben wird, in Word nichts geändert werden. Erst ganz zum Schluss, wenn in Word der Index ausgegeben werden soll, muss ein Suchen/Ersetzen-Lauf ausgeführt werden:

suche nach  _\t_\"\"", ersetze durch "_\t_""

dabei steht _ für ein Leerzeichen

Ergebnis:

XE "abc:siehe auch efg;zzz" \t ""

Das entspricht genau dem, was man wollte. Der Schalter \t „“ sorgt jetzt dafür, dass die Seitenzahl unterdrückt wird. Wird nun der Index erzeugt, steht der Siehe-auch-Verweis am Ende des Eintragsarrays und es wird keine Seitenzahl angezeigt.

Querverweise: Besonderheiten beim Verwalten

Import

  • Eine separate Querverweisdatei wird anscheinend automatisch geleert, und die Einträge werden auf die Dokumentdateien verteilt.
  • Für jede Datei, in der der Ausgangsbegriff als Indexbegriff vorkommt, wird eine Querverweisinstanz erzeugt.
  • Auch wenn ein Querverweis nur einmal im Querverweise-Fenster zu sehen ist, existiert er also u. U. mehrmals.

Export

Liegen mehrere Dokumentdateien vor, kann es sein, dass ein und derselbe Querverweis mehrere Instanzen (pro Dokumentdatei genau eine) hat (siehe auch vorstehenden Punkt zum Import); daher exportiert das Programm die Querverweise mehrfach. Es kann damit in Word z. B. zu folgenden Querverweiseinträgen kommen:

polychlorierte Biphenyle  siehe PCB, siehe PCB, siehe PCB, siehe PCB

oder

TCDD  siehe auch Dioxine, siehe auch Dibenzo-p-dioxine, siehe auch Dioxine, siehe auch Dibenzo-p-dioxine, siehe auch Dioxine, siehe auch Dibenzo-p-dioxine, siehe auch Dibenzo-p-dioxine, siehe auch Dioxine

Korrigiert werden kann das im fertigen Register.

Dabei kann eine Mustersuche helfen:

Suche nach: ([A-zß]), siehe ([A-z0-9ßäöü-]*)^013

Ersetze durch: \1^p

Export

Syntax der XE-Felder

Der Index-Manager erzeugt die Syntax der XE-Felder korrekt in dem Sinne, dass in Word das Gesamtregister erzeugt werden kann.

Es gibt allerdings eine kleine Abweichung:

  • Zwischen Feldklammer und „XE“ sowie dem zweiten Anführungszeichen und der abschließenden Feldklammer stehen keine Blanks, also {XE „abcd“}
  • Wird dagegen ein XE-Feld direkt in Word erzeugt so sind die Blanks vorhanden, also { XE „abcd“ }

Das führt dazu, dass VBA-Makros in Word, die man sich auf Basis der Word-eigenen Syntax angelegt hat, nicht laufen.

  • Davon betroffen sind beispielsweise alle Makros, in denen nach dem nächsten XE-Feld gesucht wird. Die Suche baut darauf auf, dass man nach einem Feld sucht (^d) und zusätzlich den Feldnamen in die Suche einschließt, also „XE“. Das funktioniert aber nur, wenn vor dem XE ein Leerzeichen steht: Suche nach ^d XE. Bei den XE-Feldern, wie sie aus dem Index-Manager kommen, müsste nach ^dXE gesucht werden.

Pragmatische Lösung: Zunächst in Word per Suchen/ersetzen die fehlenden Blanks, v.a. den Blank vor XE, hineinbringen. Dann die Makros anwenden.

Etwas aufwändigere Lösung: Alle Makros duplizieren und im jeweiligen Duplikat Änderungen vornehmen, sodass wieder alles richtig läuft.

Schriftgröße der XE-Felder

Es scheint so zu sein, dass eine bestimmte Schriftgröße beim Hineinschreiben der XE-Felder in die Word-Datei nicht unterschritten wird. Mutmaßlich ist 11 pt die untere Grenze.

Es kann Dokumente geben, in denen man die Schrift sowohl des Textes als auch der darin eingebetteten XE-Felder kleiner halten möchte. Ich hatte z .B. den Fall, dass 5 pt gewünscht war. Nachdem alles in der Word-Datei formatiert worden war, wurde das Dokument mit Index-Manager bearbeitet; die Indexfelder wurden zum Schluss wie üblich exportiert. Nach dem Öffnen der Word-Datei hatten alle XE-Felder in der 5pt-Textumgebung eine Schriftgröße von 11 pt.

In den meisten Fällen spielt das keine Rolle (bis auf eine unschöne Optik, wenn die XE-Felder zu sehen sind). Doch es gibt eine Sondersituation: Bei sehr vielen XE-Feldern auf einer Seite zeigt Word im Index falsche Seitenzahlen an, wenn der Text bei sichtbaren XE-Feldern weit über diese Seite hinausläuft (ab welchem Wert der Effekt auftritt, müsste noch genauer untersucht werden), während er bei nicht-sichtbaren XE-Feldern gerade genau die Seite füllt. Enthält der Text auf der Seite Stellen mit kleiner Schrift (z.B. in 5 pt) und sind auch hier XE-Felder enthalten, so wird deren Schrift durch einen Index-Manager-Export auf 11 pt hochgesetzt, was sofort dazu führt, dass es einen kräftigen Überlauf auf die nächste Seite gibt. Alle nachfolgenden Textpassagen werden entsprechend verschoben.

Eine Möglichkeit, das Problem zu lösen, besteht darin, die Papiergröße der betreffenden Seite hochzusetzen. Dazu müsste vor und nach der Seite ein Abschnittsumbruch eingefügt werden.

Vielleicht lassen sich XE-Felder auch in Textfelder auslagern, die man über den Text der Seite legt. Dann könnte die Papiergröße beibehalten werden. Ob der Index-Manager mit Textfeldern etwas anfangen kann, muss noch untersucht werden.

Allgemeine Punkte im Zusammenhang mit dem Datenaustausch zwischen Index-Manager und Word

  • Der Index-Manager kann XE-Felder, die in Word-Formel-Containern enthalten sind, nicht verarbeiten, also weder einladen noch schreiben.
  • Untersucht werden muss noch, wie der Inhalt von
    • Textfeldern
    • Positionsrahmen und
    • Steuerelementen

verarbeitet wird.

indexing/indexmanager.txt · Zuletzt geändert: 2023/03/31 18:46 von walter