Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
indexing:cindex [2023/12/09 21:28] walter [Wirkung von "Protect Names"] |
indexing:cindex [2024/09/11 11:30] (aktuell) walter [Inhalt in Klammern mit Text davor vertauschen] |
||
---|---|---|---|
Zeile 13: | Zeile 13: | ||
*der vielleicht wichtigste: Cindex fehlt der Befehl "Demote", mit dessen Hilfe man einen Main Heading am Komma trennen und so einen Sub Heading erzeugen kann. Ist in Cindex nämlich einmal "Reconcile Headings" gelaufen, ist alles zu spät (siehe unten)! | *der vielleicht wichtigste: Cindex fehlt der Befehl "Demote", mit dessen Hilfe man einen Main Heading am Komma trennen und so einen Sub Heading erzeugen kann. Ist in Cindex nämlich einmal "Reconcile Headings" gelaufen, ist alles zu spät (siehe unten)! | ||
+ | |||
+ | ===== Cindex 4.3 und höher (OpenCindex) ===== | ||
+ | |||
+ | Cindex ist seit 1. April 2024 ein Open-Source-Programm. Die Firma Scribendi, die bisheriger Eigner war, hat damit das Programm an den freien Entwicklermarkt übergeben. Der Quellcode kann kostenfrei von der GitHub-Plattform, auf die er von Scribendi übertragen wurde, heruntergeladen werden: | ||
+ | |||
+ | Windows-Repository: https://github.com/scribendi/cindex-win | ||
+ | |||
+ | Mac-Repository: https://github.com/scribendi/cindex-mac | ||
+ | |||
+ | Die rohen Programmdaten sind allerdings nicht zum sofortigen Installieren geeignet. Daher hat sich eine kleine Gruppe von Cindex-Nutzenden unter Leitung von Maria A. Sullivan darum bemüht, eine installierfähige Version zu erstellen. Sie wurde dabei unterstützt von Peter Lennie, dem ursprünglichen Entwickler von Cindex. Seit 12. April liegt das Ergebnis vor: Es gibt eine voll funktionsfähige neue Cindex Version sowohl für Windows als auch für den Mac! Sie tragen die Versionsnummer 4.3. | ||
+ | |||
+ | Die neue installationsfähige Cindex-Version (als .exe-Datei) kann heruntergeladen werden von: | ||
+ | |||
+ | Cindex-Website: https://www.opencindex.com/ | ||
+ | |||
+ | Die Website enthält Anweisungen, was die User erwartet, wenn sie ihre neue Kopie von Cindex herunterladen und installieren; und es gibt viele hilfreiche Hintergrundinformationen. | ||
+ | |||
+ | Nicht nur der Quellcode, sondern auch das installationsfähige Cindex-Paket ist kostenfrei. Eine Testversion mit eingeschränkten Fähigkeiten ist daher nicht mehr nötig. Für Windows gibt es neben der Einzelnutzer-Version sogar eine Publisher’s Edition, die netzwerkfähig ist, also von mehreren Personen gleichzeitig genutzt werden kann. | ||
+ | |||
+ | ==== Neuerungen in Cindex 4.4 ==== | ||
+ | ***Flip Headings:** vertausacht bei einer ausgewählten Gruppe von Einträgen die Inhalte von Main Heading und Sub-Heading | ||
+ | ***Compare Index:** vergleicht die Inhalte zweier Cindex-Dateien | ||
===== Cindex 4 ===== | ===== Cindex 4 ===== | ||
Zeile 90: | Zeile 112: | ||
*b) per **Makro** (kann aufgezeichnet werden) (s.u.) | *b) per **Makro** (kann aufgezeichnet werden) (s.u.) | ||
*Umgekehrt kann Text eine Formatierung zugewiesen werden, indem der Text markiert und dann im Bearbeitungsfenster "B" (Fett) oder "I" (kursiv) zugewiesen wird; geht auch per Tastenbefehle: **Strg-b** bzw. **Strg-i**. | *Umgekehrt kann Text eine Formatierung zugewiesen werden, indem der Text markiert und dann im Bearbeitungsfenster "B" (Fett) oder "I" (kursiv) zugewiesen wird; geht auch per Tastenbefehle: **Strg-b** bzw. **Strg-i**. | ||
+ | |||
+ | ===== Inhalt in Klammern mit Text davor vertauschen ===== | ||
+ | *Innerhalb eines einzelnen Datensatzes (Eintrags) gibt es dafür den Schalter "Swap Text in Parens". | ||
+ | *Man könnte auch mit der Ersetzen-Funktion arbeiten: | ||
+ | * suche nach <nowiki>^(.+) \((.+)\)$</nowiki> | ||
+ | * ersetze durch <nowiki>\2 (\1)</nowiki> | ||
+ | *Möchte man das bei mehreren Einträgen auf einmal machen, muss aus den betroffenen Einträgen zuerst eine Gruppe gebildet werden (z. B. durch Suchen nach "(" im Feld Main). | ||
+ | * nun werden alle Einträge markiert (Strg-a) | ||
+ | * dann wird der Befehl "Duplicate" aus dem Edit-Menü aufgerufen; dabei verschwinden die ursprünglich gruppierten Einträge in den Hintergrund, und die duplizierten Einträge bilden eine neue temporäre Gruppe, die angezeigt wird; das heißt, alle weiteren Aktionen wirken nur auf diese Gruppe. | ||
+ | * zum Schluss wird der oben angegebene Suchen-Ersetzen-Lauf ausgeführt, und zwar mit "Replace All". | ||
===== Makros (bei Cindex 2) ===== | ===== Makros (bei Cindex 2) ===== | ||
Zeile 255: | Zeile 287: | ||
Während die Auflösung von verwaisten Untereinträgen sofort einsichtig ist, überrascht es, dass ein und derselbe Befehl auch das Gegenteil bewirken kann. Die Entwickler haben hier aber wohl ein Gesamtproblem gesehen und wollten es mit einem einzigen Befehl lösen: Weder verwaiste Untereinträge noch eine Kombination aus Modifier und separatem Untereintrag dürfen in einem Register auftreten und sollen daher per Reconciling korrigiert werden. | Während die Auflösung von verwaisten Untereinträgen sofort einsichtig ist, überrascht es, dass ein und derselbe Befehl auch das Gegenteil bewirken kann. Die Entwickler haben hier aber wohl ein Gesamtproblem gesehen und wollten es mit einem einzigen Befehl lösen: Weder verwaiste Untereinträge noch eine Kombination aus Modifier und separatem Untereintrag dürfen in einem Register auftreten und sollen daher per Reconciling korrigiert werden. | ||
- | Man muss sich klar machen, welches **Potenzial in diesem Befehl** steckt. Man kann jederzeit neue Einträge aufnehmen und muss nicht von vornherein darauf achten, ob man mit separaten Unterthemen arbeitet oder mit Modifiern. Cindex erkennt bei Ausführung des Befehls Reconciling automatisch die Gleichheit der Hauptthemen und erzeugt ein sauberes Array, in dem alle Unterthemen in einem eigenen Sub1-Feld stehen. Es ist nicht nötig, Einträge mit Modifiern nachträglich von Hand zu ändern! | + | Man muss sich klar machen, welches **Potenzial in diesem Befehl** steckt. Man kann jederzeit neue Einträge aufnehmen und muss nicht von vornherein darauf achten, ob man mit separaten Unterthemen arbeitet oder mit Modifiern. Cindex erkennt bei Ausführung des Befehls //Reconciling// automatisch die Gleichheit der Hauptthemen und erzeugt ein sauberes Array, in dem alle Unterthemen in einem eigenen Sub1-Feld stehen. Es ist nicht nötig, Einträge mit Modifiern nachträglich von Hand zu ändern! |
==== Zerschlagung der Feldstruktur und "Preserve Modified Headings" ==== | ==== Zerschlagung der Feldstruktur und "Preserve Modified Headings" ==== | ||
Zeile 279: | Zeile 311: | ||
Möchte man dieses Demoten in allen weiteren Einträgen ausführen, die einen Modifier, aber keine Untereinträge haben, so gibt es dafür in Cindex keinen direkten Befehl. | Möchte man dieses Demoten in allen weiteren Einträgen ausführen, die einen Modifier, aber keine Untereinträge haben, so gibt es dafür in Cindex keinen direkten Befehl. | ||
- | *Der Wunsch liegt auf der Hand, einen "Field Break" per Suchen/Ersetzen zu erzeugen. Das würde nämlich das Problem lösen: Suche nach Komma+Blank, ersetze durch Field Break. Doch das ist leider selbst in der aktuellen Version 4.2 (2023) nicht möglich! Nach Auskunft von Maria A. Sullivan steht dieser Wunsch auf der Liste der Punkte, die verbessert werden sollen. | + | *Der Wunsch liegt auf der Hand, einen "Field Break" per Suchen/Ersetzen zu erzeugen: Suche nach Komma+Blank, ersetze durch Field Break. Doch das ist leider selbst in der aktuellen Version 4.2 (2023) nicht möglich! Nach Auskunft von Maria A. Sullivan steht dieser Wunsch auf der Liste der Punkte, die verbessert werden sollen. |
Das Problem kann aber auf andere Weise relativ einfach gelöst werden (aus Mail von Maria A. Sullivan vom 6.12.23): | Das Problem kann aber auf andere Weise relativ einfach gelöst werden (aus Mail von Maria A. Sullivan vom 6.12.23): | ||
Zeile 295: | Zeile 327: | ||
* Sub1: domestic | * Sub1: domestic | ||
- Das Ziel ist erreicht. | - Das Ziel ist erreicht. | ||
+ | === Export und Rückimport === | ||
+ | |||
+ | Ein anderer Weg wäre der über den Export der selektierten Einträge im Tab-Delimited-Format (txt-datei). Die Einträge können dann in ein Textverabeitungsprogramm eingefügt und hier per Suchen/Ersetzen so aufbereitet werden, dass die Modifier zu Untereinträgen werden, und zwar einfach, indem die Kombination aus Komma+Leerzeichen durch einen Tabulator ersetzt wird. Danach wird diese txt-Datei wieder importiert. Eventuell ursprünglich vorhandene Formatierungen (die beim Export verloren gehen) müssen nachgepflegt werden. | ||
+ | |||
+ | Dieser Weg ist durchaus eine gute Alternative. | ||
==== Wirkung von "Protect Names" ==== | ==== Wirkung von "Protect Names" ==== | ||
Im Fenster "Reconcile Headings" ist standardmäßig "Protect Names" vorgewählt. Das bewirkt, dass alle Datensaätzen, bei denen es um Namen geht, vom Reconciling ausgeschlossen werden. Das heißt, Modifier bleiben Modifier, es erfolgt keine Verschiebung in das Sub1-Feld. Beispiel: | Im Fenster "Reconcile Headings" ist standardmäßig "Protect Names" vorgewählt. Das bewirkt, dass alle Datensaätzen, bei denen es um Namen geht, vom Reconciling ausgeschlossen werden. Das heißt, Modifier bleiben Modifier, es erfolgt keine Verschiebung in das Sub1-Feld. Beispiel: | ||
- | Müller, Emil wird nicht zu | + | Müller, Emil |
+ | wird nicht zu | ||
Müller | Müller | ||
Emil | Emil | ||
+ | Man sollte sich also nicht wundern, wenn das Reconciling bei einigen Datensätzen (nämlich solchen, die keine Namen sind) funktioniert, bei anderen nicht. Möchte man, dass alle Datensätze gleich behandelt werden, muss das Häkchen bei "Protect Names" weggenommen werden. | ||
- | |||
- | Demoten funktioniert nur | ||
Zeile 308: | Zeile 345: | ||
Sollte Reconcile Headings nicht zum gewünschten Ergebnis führen, liegt das sehr wahrscheinlich daran, dass in der **Record Structure** (s.o.) die minimale Zahl der Felder auf 3 oder höher eingestellt ist. Denn z.B. bei 3 müssen immer Main, Sub 1 und Page vorhanden sein, was aber nichts anders bedeutet, als dass der Inhalt von Sub1 nicht zu Main hochgezogen werden kann, d.h., die orphanned Subheadings können nicht aufgelöst werden! M.a.W.: Damit das Reconciling funktioniert, muss die minimale Zahl der Felder 2 betragen. | Sollte Reconcile Headings nicht zum gewünschten Ergebnis führen, liegt das sehr wahrscheinlich daran, dass in der **Record Structure** (s.o.) die minimale Zahl der Felder auf 3 oder höher eingestellt ist. Denn z.B. bei 3 müssen immer Main, Sub 1 und Page vorhanden sein, was aber nichts anders bedeutet, als dass der Inhalt von Sub1 nicht zu Main hochgezogen werden kann, d.h., die orphanned Subheadings können nicht aufgelöst werden! M.a.W.: Damit das Reconciling funktioniert, muss die minimale Zahl der Felder 2 betragen. | ||
- | ==== Rückgängig machen von Reconcile Headings ==== | + | ==== Versuch, ein Demoten per Suchen/Ersetzen hinzubekommen ==== |
Eine Möglichkeit besteht in einem komplexen Suchen/Ersetzen-Lauf, der die Daten so aufbereitet, dass anschließend ein Makro aufgezeichnet werden kann, das genau am Komma einen Field Break erzeugt. Das Problem besteht darin, dass man im Bearbeitenfenster nicht nach einem Komma suchen kann; um trotzdem genau zum Komma zu kommen, müssen alle Blanks - außer dem Blank hinter dem Komma - durch andere Zeichen ersetzt werden. Ziel: aus eventuell mehreren im Main Heading vorhandenen Wörtern ein einziges Wort machen, so dass der Befehl <Strg><Pfeil nach rechts> genau zum Komma springt. | Eine Möglichkeit besteht in einem komplexen Suchen/Ersetzen-Lauf, der die Daten so aufbereitet, dass anschließend ein Makro aufgezeichnet werden kann, das genau am Komma einen Field Break erzeugt. Das Problem besteht darin, dass man im Bearbeitenfenster nicht nach einem Komma suchen kann; um trotzdem genau zum Komma zu kommen, müssen alle Blanks - außer dem Blank hinter dem Komma - durch andere Zeichen ersetzt werden. Ziel: aus eventuell mehreren im Main Heading vorhandenen Wörtern ein einziges Wort machen, so dass der Befehl <Strg><Pfeil nach rechts> genau zum Komma springt. | ||
Zeile 316: | Zeile 353: | ||
-Suche nach ",#", ersetze durch ", " (dieser Suchen/Ersetzen-Lauf könnte aber auch entfallen) | -Suche nach ",#", ersetze durch ", " (dieser Suchen/Ersetzen-Lauf könnte aber auch entfallen) | ||
- | Ein Test zeigt: Tatsächlich springt der Cursor nun per <Strg><Pfeil nach rechts> genau zum Komma. Das "Event", das aufgenzeichnet wird, besteht aus folgenden Teilen: | + | Ein Test zeigt: Tatsächlich springt der Cursor nun per <Strg><Pfeil nach rechts> genau zum Komma. Das "Event", das aufgezeichnet wird, besteht aus folgenden Teilen: |
-Suche nach "," (oder ", " oder ",#"), danach <Esc> (der nächste passende Datensatz wird gefunden und das Suchen-Fenster wird verlassen) | -Suche nach "," (oder ", " oder ",#"), danach <Esc> (der nächste passende Datensatz wird gefunden und das Suchen-Fenster wird verlassen) | ||
-<Enter> (dadurch wird das Bearbeitenfenster aktiviert, der Cursor blinkt am Anfang des Main Headings) | -<Enter> (dadurch wird das Bearbeitenfenster aktiviert, der Cursor blinkt am Anfang des Main Headings) | ||
Zeile 328: | Zeile 365: | ||
Nachdem alles gelaufen ist, müsste per Suchen/Ersetzen aus dem "zzz" wieder ein Blank erzeugt werden | Nachdem alles gelaufen ist, müsste per Suchen/Ersetzen aus dem "zzz" wieder ein Blank erzeugt werden | ||
- | *Anmerkung: auch in Cindex 4 muss so vorgegangen werden. Das neue "Split-Kommando" greift zwar am Komma an, erzeugt aber aus dem Unterthema einen Haupteintrag! | ||
- | |||
- | In Sky läuft das besser,und zwar mit den Befehlen "Promote" und "Demote", die jederzeit für einen einzelnen Datensatz ausgelöst werden können: Promote führt Main und Sub zusammen und fügt ein Komma als Trenner ein; Demote schneidet den Inhalt des Main-Feldes am Trennzeichen auseinander und fügt den Inhalt rechts vom Trennzeichen in das Sub-Feld ein. | ||
===== Manage Cross References ===== | ===== Manage Cross References ===== |