Überführung von Stichworten (für ein Stichwortverzeichnis) aus einer Dokumentdatei in eine Konkordanzdatei

HowTos, komplexe Anleitungen und nützliche Dokumente

Moderator: Moderatoren

Forumsregeln
Hier bitte komplexere Anleitungen allgemeinem Interesses posten, sowie wichtige Dokumente zum Download.
Bitte hier (möglichst) keine Diskussionen führen. Für Fragen und Hinweise ein neues Thema im entsprechenden Unterforum eröffnen.
Antworten
quotsi
*****
Beiträge: 235
Registriert: Do, 14.11.2013 10:04

Überführung von Stichworten (für ein Stichwortverzeichnis) aus einer Dokumentdatei in eine Konkordanzdatei

Beitrag von quotsi » Do, 30.08.2018 14:57

Die Überführung von Stichworten für ein Stichwortverzeichnis aus einer Dokumentdatei in eine Konkordanzdatei

(0) Einleitung:
Prinzipiell gibt es unter LO|AOO zwei Wege für ein Textdokument Stichworte und Stichwortverzeichnis zu erstellen:
1) Auswahl der Stichworte im Text und im Nachgang die Erstellung eines Stichwortverzeichnisses. In diesem Falle verbleibt alles im Textdokument und kann wie immer gesichert werden.
2) Man sammelt die Stichworte (=Suchworte) in einer getrennten Datei, einer sogenannten Konkordanzdatei. Diese kann unabhängig bearbeitet werden, aber muß zur Erstellung des Stichwortverzeichnisses zur Verfügung stehen. Dokument- und Konkordanzdatei müssen nach jeweiligen Änderungen gesichert werden. Vorteilhaft ist die Möglichkeit, dass ein und dieselbe Konkordanzdatei für inhaltlich ähnliche Textdateien verwendet werden kann und Bearbeitungen der Stichworte an zentraler Stelle vorgenommen werden können.
Dieses Projekt beschäftigt sich mit dem Problem, wie man aus einer großen Dokumentdatei die Stichworte, die nach erster Methode erstellt wurden, in eine Konkordanzdatei überführen kann.

(1) Anmerkung:
• Diese Anleitung wurde unter LibreOffice 5.4.7.2 und AOO 4.1.5 getestet. Auf mögliche Unterschiede wird hingewiesen.
• Diskussionbeiträge und Fragen bitte nur über das Forum oder über die Kontaktdaten (mail) !
• Die Musterdatei „Der Taucher mit Stichwortverzeichnis und Inhaltsverzeichnis“ zum Experimentieren enthält die notwenigen vier Makros, die in eigene Dateien oder in das Programm kopiert werden können. Das Makro AlleStichworteTilgen wurde aus http://www.ooowiki.de/KonkordanzDatei.html übernommen.
• Grundsätzlich sollte die odt-Datei zuerst gesichert werden, weil das Makro AlleStichworteTilgen die Stichworte mit den Einträgen im Stichwortverzeichnis unumkehrbar zerstört. Nur bei Stichwortverzeichnissen auf Basis einer Konkordanzdatei können Stichworte und Stichwortverzeichnis problemlos wiederhergestellt werden.
• Vor einer Löschung von Stichworten müssen alle Stichworte in eine vorläufige Konkordanzdatei exportiert werden, was mit dem eingebauten Makro „AlleStichworteInKonkordanzSDI“ erfolgt. Aber das Makro hat einige Schwächen:
• Es erkennt nur die mit Strg+F8 sichtbar gemachten, markierten Stichworte oder Passagen. Sind die Markierungen auf ein Leerzeichen vor dem Stichwort beschränkt, wird folglich kein Stichwort exportiert. Diese Stichworte müssen ggf. später nachgetragen werden, weshalb Notizen sich als zweckmäßig erweisen. Die Alternativeinträge und Schlüssel 1. und 2. Ordnung hingegen werden korrekt exportiert.
• Die Merkmale Groß/Klein und Ganzes Wort werden derzeit nicht erkannt und deshalb werden fixe Werte 1 (=ja) und 0 (=nein) exportiert. Diese Merkmale müssen in der Konkordanzdatei entsprechend den Wünschen überarbeitet werden.

(2) Anzeige aller Stichworte
Man kann sich vor der Löschung alle Stichworte nacheinander anzeigen lassen:

a) mit dem Makro „AlleStichworteZeigen“
Dieses Makro ruft man auf mit Extras→ Makros→ Makro ausführen und dann zur Bibliothek gleichen Namens („Der Taucher mit Stichwortverzeichnis und Inhaltsverzeichnis“) wie die Beispieldatei, dann zum Modul Standard und weiter zum Makro „AlleStichworteZeigen“Ausführen.
Gelistet werden alle Stichworte, wie sie vom Makro „AlleStichworteInKonkordanzSDI“ später exportiert werden.
Die angezeigten Nummern entsprechen nicht der Reihenfolge im Text, sondern des Eintrags als Stichwort. Auch springt der Cursor während der Anzeige nicht von Stichwort zu Stichwort.

b) it dem Makro „NurLeereStichworteZeigen“
Dieses Makro ruft man auf mit Extras→ Makros→ Makro ausführen und dann zur Bibliothek gleichen Namens („Der Taucher mit Stichwortverzeichnis und Inhaltsverzeichnis“) wie die Beispieldatei, dann zum Modul Standard und weiter zum Makro „NurLeereStichworteZeigen“Ausführen.
Gelistet werden nur diejenigen Stichworte, die beim Export mit dem Makro „AlleStichworteInKonkordanzSDI“ leer bleiben werden, aber dennoch in ihrem korrekten Zusammenhang mit den alternativen Einträgen und Schlüsseln.
Die Nummern entsprechen nicht der Reihenfolge im Text, sondern des Eintrags als Stichwort.
Auch springt der Cursor während der Anzeige nicht von Stichwort zu Stichwort.

c) mit der im writer eingebaute Routine
Man setzt den Cursor unmittelbar vor das erste markierte Stichwort, dann Bearbeiten→ Verzeichniseintrag oder rechtes Mausmenü Verzeichniseintrag. In der dann sichtbaren Maske steuert man mit der unteren Pfeilreihe durch alle Stichworte. Durch einen Fehler im Programm (LO und AOO) werden keine oberen Pfeile angezeigt, wenn das Stichwort nur einen Treffer hat wie das erste Stichwort in unserer Beispieldatei. Setzt man den Cursor z.B. vor das zweite Stichwort, dann erscheinen die zwei Pfeilreihen und bleiben beim Durchsuchen (sogar rückwärts) erhalten.
Während der Anzeige springt der Zeiger im Text in richtger Reihenfolge von Stichwort zu Stichwort.
Deshalb ist diese Methode vielleicht günstiger, wenn man sich Notizen zu den Stichworten machen muß, die nur durch eine Marke vor dem Stichwort markiert sind und die durch das Raster des Export-Makros fallen werden (vgl. (3) ).

(3) Kopie der Stichworte in eine Konkordanzdatei.sdi
Der Name „Konkordanzdatei(.sdi)“ und das Zielverzeichnis werden im Makro vorgeschlagen, können während des Ablaufs angepaßt werden.
Der Aufruf des Makros erfolgt mit Extras→ Makros→ Makro ausführen und dann zur Bibliothek „Der Taucher mit Stichwortverzeichnis und Inhaltsverzeichnis“, dann zum Modul Standard und weiter zum Makro „AlleStichworteInKonkordanzSDI“, dann ausführen.
Das Makro sortiert die Stichworte und liquidiert die Duplikate. Alle Einträge, deren Stichwort im Text nur eine Markierung vor dem Stichwort aufweisen, werden leer, aber mit ihren sogenannten Alternativeinträge und ihren Schlüsseln exportiert. Hier muß gegenebenfalls nachgearbeitet werden.

(4) Löschung der Stichworte im Text
Jetzt kann man alle Stichworte mit dem Makro löschen. Man ruft das Makro auf mit Extras→ Makros→ Makro ausführen und dann zur Bibliothek gleichen Namens wie die Beispieldatei („Der Taucher mit Stichwortverzeichnis und Inhaltsverzeichnis“), dann Modul Standard und weiter zum Makro „AlleStichworteTilgen“ , dann ausführen
Mit erfolgreicher Tilgung leert sich auch das Stichwortverzeichnis und kann auf klassische Weise nicht mehr schnell wiederhergestellt werden. Aber jetzt kann man das Stichwortverzeichnis mithilfe der Konkordanzdatei jederzeit neu erstellen.

(5) Die Überarbeitung der Konkordanzdatei.sdi
Man darf sie durchaus umbenennen, aber die Endung muß man beibehalten.
Es gibt grundsätzlich zwei gleichwertige Wege. Entweder bearbeitet man die Konkordanzdatei selektiv extern (wie hier unter (5) nachfolgend beschrieben) und setzt dann nach (6) fort oder man verbindet sie zuerst mit der Dokumentdatei nach (6) und bearbeitet erst danach die Konkordanzdatei nach (7).

Aus dem (LibreOffice oder AOO) writer heraus kann man sie jederzeit separat zum Bearbeiten öffnen!
(Durch Doppelklick im Windowsexplorer heraus gelingt dies so nicht, sondern die Konkordanzdatei würde dann in wordpad geöffnet, wo keine Sortierung ageboten wird.) Eine Bearbeitung mit calc, wie im wiki http://www.ooowiki.de/KonkordanzDatei.html seinerzeit empfohlen, ist ebenso möglich und bietet den Vorteil einer tabellarischen Übersicht.
Bei der Sicherung der Konkordanzdatei in LO bestätigen wir das "Textformat" bzw. in AOO "Format beibehalten".

Was muß ich ändern:
(5.1.) Bei leeren Stichworten (= 1. Position in jeder Zeile), aber vorhandenen Alternativeinträgen für das Stichwortverzeichnis (= 2. Position in jeder Zeile) und intakten Schlüsseln (= 3. und 4. Position in jeder Zeile) müssen die Stichworte anhand der Notizen nachgetragen werden.
(im Beispiel: in erster Zeile Knapp vor Knapp, Knappe) / in der zweiten Zeile Knecht vor Knecht)
(5.2.) Groß- oder Kleinschreibung zu unterscheiden wurde im Makro grundsätzlich bejaht. Auch dies muß ggf. korrigiert werden (Vorletzte Zeilenposition von 1 auf 0 setzen).
(5.3.) Das Makro hat die ausschließliche Erfassung ganzer Stichworte grundsätzlich verneint. Hier kann man ebenfalls noch ändern (letzte Zeilenposition von 0 auf 1 setzen).
(im Beispiel: Ring → 1, sonst würde "bringt" auch als Treffer gewertet)

Sogenannte Haupteinträge, die dann im Verzeichnis mit fetten Seitennummern erscheinen, kann man nicht in der Konkordanzdatei festlegen, sondern müssen nachträglich im Dokument-Text über das Menü Bearbeiten->Verzeichniseintrag individuell überarbeitet werden.

(6) Erstellung eines neuen Stichwortverzeichnisses mithilfe der Konkordanzdatei.sdi
Dazu geht man auf die Überschrift Stichwortverzeichnis, dann rechtes Mausmenü Verzeichnis bearbeiten.
In der Maske wird Konkordanzdatei bejaht und unter Datei → öffnen (nicht neu!) die Konkordanzdatei.sdi (beziehungsweise die umbenannte) gesucht und bestätigt. Sofort nach Bestätigung werden alle Stichworte automatisch markiert und das Stichwortverzeichnis aufgebaut.
Jetzt kann man die Konkordanzdatei beliebig ergänzen oder bearbeiten. Sollte eine Stichwortlöschung in der Konkordanzdatei erforderlich sein, muß man eventuell alle Stichworte mit dem Makro zuvor löschen und das Stichwortverzeichnis anhand der Konkordanzdatei erneut aktualisieren. Das kann mehrfach ohne Probleme erfolgen.

(7) Das Bearbeiten der Konkordanzdatei kann auch gleich im writer aus der geöffneten Dokumentdatei (odt) heraus erfolgen. Genauso wie zuvor geht man auf die Überschrift Stichwortverzeichnis, dann rechtes Mausmenü Verzeichnis bearbeiten → Knopf Datei → Bearbeiten.
Es öffnet sich die Konkordanzdatei in tabellarischer Ansicht. Den Kommentar zum ersten Stichwort läßt man unberührt (damit die Struktur für externe Bearbeitung erkennbar bleibt)

(8) Epilog
Das natürliche Bedürfnis nach schneller Korrektur von Stichworteinträgen läßt den Wunsch nach einer zentralen Instanz, wo die Stichworte bearbeitbar gespeichert werden, aufkommen. Die gibt es im Dokument aber nicht. Deshalb erscheint die externe Speicherung in einer Konkordanzdatei naheliegend. Bei näherem Hinsehen erkennt man aber Unterschiede. So ist bereits der Vermerk Haupteintrag nicht in der Konkordanzdatei erfaßbar. Das hätte aber auch keinen Sinn, da die Konkordanzdatei eine neue Stichwortsuche und -markierung im Dokument anstößt und folglich allen passenden Stichwort-Treffern dieses Merkmal verpaßt hätte, was der Grundidee widerspricht.
Das Makro „AlleStichworteInKonkordanzSDI“ erforscht derzeit nur das Stichwortverzeichnis, d.h. nur alle dort enthaltenen Informationen können ausgelesen werden. Wenn also ein vom Stichwort abweichender Registereintrag gewünscht wurde, dann ging bei der klassischen Erzeugung des Stichworteintrags bereits das Stichwort verloren und kann folglich auch mit keinem Makro aus dem Verzeichnis extrahiert werden. Die bei einer Stichwort-Suche notwendigen Informationen, so z.B. ob eine Unterscheidung von großer und kleiner Schreibung wichtig ist und ob nur ganze Worte ausgewählt werden sollen, wurden naturgemäß auch nicht im Stichwortverzeichnis festgehalten und können folglich mit dem derzeitigen Makro nicht ermittelt werden. Diese Unterschiede zwischen klassischem Stichworteintrag und Stichworteintrag und -verzeichnis durch Konkordanzdatei sind also bereits im Konzept begründet und können bei der Umformung ohne manuelle Bearbeitung nicht umgangen werden.
win7prof - Avira - LO 5.4.7.2 (x64) - AOO 4.1.5

Antworten