Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

txstep:loesungen:register_mit_txstep

Vorbemerkung: Für die Registererstellung mit TXSTEP werden drei Module benötigt:

  • prepare-index: zum Zerlegen des Eingabetextes oder zur Auswahl von Registereinträgen; zur Angabe der Sortierung oder von Sortieralphabeten (etwa bei Sprachen mit nichtlateinischen Buchstaben); u.a.
  • sort: zum Sortieren der Registereinträge
  • generate-index: zum Zusammenfassen und Aufbereiten der Registereinträge und Referenzen für die Ausgabe in gedruckter oder digitaler Form.

Zurück zum Inhaltsverzeichnis - Lösungen und Tipps


Wortformenliste ohne Referenzen zu lat. Text

- [tomcbe | tomcbe]
Musterdatei:

lukrez.tf [80 KB]

<?xml version="1.0" encoding="UTF-8"?>
<script xmlns="http://www.xstep.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <variables>
        <variable type="execution-file" name="exec">file:///C:/txstep/exec.tu</variable>
        <variable type="permanent-file" name="source">file:///C:/txstep/lukrez.tf</variable>
        <variable type="permanent-file" name="dest" option="erase">file:///C:/txstep/index.tf</variable>
        <!-- Zeichengruppe "pu" definieren -->
        <char-group name="pu">. ,;:\?!</char-group>
    </variables>
    <!-- Text in Registereinträge zerteilen. -->
    <prepare-index source="$source" destination="-std-">
        <define-index-mode>
            <!-- Art des Registers festlegen -->
            <wordlist></wordlist>
        </define-index-mode>
        <define-index-entry>
            <!-- Trennzeichen festlegen, die festlegen, wo ein Registereintrag beginnt -->
            <separate-entries>
                <search-table>
                    <search-string>{c:pu}</search-string>
                </search-table>
            </separate-entries>
        </define-index-entry>
        <define-sort-keys>
            <!-- Sortierschlüssel für die Sortierung definieren -->
            <sort-key num="1" length="22" order="normal">
            </sort-key>
        </define-sort-keys>
    </prepare-index>
    <!-- 2. Registereinträge alphabetisch sortieren. Ein- und Ausgabe erfolgt in die Standardprotokolldatei -->
    <sort source="-std-" destination="-std-">
        <sort-field num="1" start="1" length="sort-keys"/>
    </sort>
    <!-- 3. Aufbereiten der Registereinträge. -->
    <generate-index source="-std-" destination="$dest">
        <index-mode>
            <!-- sollte mit der Angabe zu define-index-mode bei prepare-index übereinstimmen -->
            <wordlist></wordlist>
        </index-mode>
        <generate-index-entry></generate-index-entry>
    </generate-index>
</script>


Wortformenliste mit Referenzen zu nhd. Text

- [tomcbe | tomcbe]
Musterdatei:

kafka.tf [88 KB]

<?xml version="1.0" encoding="UTF-8"?>
<script xmlns="http://www.xstep.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <variables>
        <variable type="execution-file" name="exec">file:///C:/txstep/exec.tu</variable>
        <variable type="permanent-file" name="source">file:///C:/txstep/kafka.tf</variable>
        <variable type="permanent-file" name="dest" option="erase">file:///C:/txstep/index.tf</variable>
        <!-- Zeichengruppe "pu" definieren -->
        <char-group name="pu">,;.:! \?()"</char-group>
    </variables>
    <!-- Text in Registereinträge zerteilen. -->
    <prepare-index source="$source" destination="-std-">
        <define-index-mode>
            <!-- Art des Registers festlegen -->
            <index>
                <define-references mode="record-number"/>
            </index>
        </define-index-mode>
        <define-index-entry>
            <!-- Trennzeichen festlegen, die festlegen, wo ein Registereintrag beginnt -->
            <separate-entries>
                <search-table>
                    <exception-string>%{{</exception-string>
                    <search-string>{{*}}</search-string>
                    <search-string>{c:pu}</search-string>
                    <search-string> -{0}{c:pu}</search-string>
                    <search-string>-{]}</search-string>
                    <search-string>#.:</search-string>
                    <search-string>#.;</search-string>
                    <search-string>#.{{</search-string>
                    <search-string>#.}}</search-string>
                </search-table>
            </separate-entries>
        </define-index-entry>
        <define-sort-keys>
            <!-- Sortierschlüssel für die Sortierung definieren -->
            <sort-key num="1" length="20" order="normal">
                <exchange>
                    <!-- Zeichen, die für das Sortieren ersetzt werden sollen -->
                    <exchange-table>
                        <string-pair>
                            <search-string>ä</search-string>
                            <replacement-string>a</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ö</search-string>
                            <replacement-string>o</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ü</search-string>
                            <replacement-string>u</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ß</search-string>
                            <replacement-string>ss</replacement-string>
                        </string-pair>
                    </exchange-table>
                </exchange>
            </sort-key>
            <sort-key num="2" length="20" order="normal">
                <exchange>
                    <!-- Zeichen, die für das Sortieren ersetzt werden sollen -->
                    <exchange-table>
                        <string-pair>
                            <search-string>ä</search-string>
                            <replacement-string>z</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ö</search-string>
                            <replacement-string>z</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ü</search-string>
                            <replacement-string>z</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ß</search-string>
                            <replacement-string>z</replacement-string>
                        </string-pair>
                    </exchange-table>
                </exchange>
            </sort-key>
        </define-sort-keys>
    </prepare-index>
    <!-- 2. Registereinträge alphabetisch sortieren. Ein- und Ausgabe erfolgt in die Standardprotokolldatei -->
    <sort source="-std-" destination="-std-">
        <!-- mit dem Attribut "start" wird angegeben, wo der Sortierschlüssel beginnt. -->
        <sort-field num="1" start="after-ref" length="sort-keys"/>
    </sort>
    <!-- 3. Aufbereiten der Registereinträge. -->
    <generate-index source="-std-" destination="$dest">
        <index-mode>
            <!-- sollte mit der Angabe zu define-index-mode bei prepare-index übereinstimmen -->
            <index>
                <references mode="record-number">
                <!-- Referenzlänge definieren (6 für Seitennummer, 3 für Zeilennummer) -->
                    <ref-part num="1" length="6">
                        <insert-after>.</insert-after>
                    </ref-part>
                    <ref-part num="2" length="3"></ref-part>
                </references>
            </index>
        </index-mode>
        <generate-index-entry>
        </generate-index-entry>
    </generate-index>
</script>


KWIC-Index zu lat. Verstext (TODO)

KWIC = Key Word In Context (Roh-Konkordanz)

Musterdatei:

lukrez.tf [80 KB]

TODO


KWIC-Index zu nhd. Text (TODO)

KWIC = Key Word In Context (Roh-Konkordanz)

Musterdatei:

kafka.tf [88 KB]

TODO


Wortformenliste mit Referenzen zu mhd. Verstext (TODO)


Musterdatei:

tristan.tf [1 MB]

TODO


Sachregister (einfach)

- [tomcbe | tomcbe]

Musterdatei:

schweiz.tf [8 KB]

→ Die Registereinträge wurden mit <re>…</re> codiert.

<?xml version="1.0" encoding="UTF-8"?>
<script xmlns="http://www.xstep.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <variables>
        <variable type="execution-file" name="exec">file:///Z:/Tustep/wiki/exec.tu</variable>
        <variable type="permanent-file" name="source">file:///Z:/Tustep/wiki/schweiz.tf</variable>
        <variable type="permanent-file" name="dest" option"erase">file:///Z:/Tustep/wiki/subjectindex.tf</variable>
    </variables>
    <!-- Text in Registereinträge zerteilen. -->
    <prepare-index source="$source" destination="-std-">
        <define-index-mode>
            <!-- Art des Registers festlegen -->
            <index>
                <define-references mode="record-number"/>
            </index>
        </define-index-mode>
        <define-index-entry>
            <!-- Registereinträge beginnen mit <re> und enden mit </re> -->
            <index-entry-start>
                <search-table>
                    <search-string>{{re}}</search-string>
                </search-table>
            </index-entry-start>
            <index-entry-end>
                <search-table><search-string>{{/re}}</search-string></search-table>
            </index-entry-end>
        </define-index-entry>
        <define-sort-keys>
            <!-- Sortierschlüssel für die Sortierung definieren -->
            <sort-key num="1" length="20" order="normal">
                <exchange>
                    <!-- Zeichen, die für das Sortieren ersetzt werden sollen -->
                    <exchange-table>
                        <string-pair>
                            <search-string>ä</search-string>
                            <replacement-string>a</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ö</search-string>
                            <replacement-string>o</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ü</search-string>
                            <replacement-string>u</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ß</search-string>
                            <replacement-string>ss</replacement-string>
                        </string-pair>
                    </exchange-table>
                </exchange>
            </sort-key>
            <sort-key num="2" length="20" order="normal">
                <exchange>
                    <!-- Zeichen, die für das Sortieren ersetzt werden sollen -->
                    <exchange-table>
                        <string-pair>
                            <search-string>ä</search-string>
                            <replacement-string>z</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ö</search-string>
                            <replacement-string>z</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ü</search-string>
                            <replacement-string>z</replacement-string>
                        </string-pair>
                        <string-pair>
                            <search-string>ß</search-string>
                            <replacement-string>z</replacement-string>
                        </string-pair>
                    </exchange-table>
                </exchange>
            </sort-key>
        </define-sort-keys>
    </prepare-index>
    <!-- 2. Registereinträge alphabetisch sortieren. Ein- und Ausgabe erfolgt in die Standardprotokolldatei -->
    <sort source="-std-" destination="-std-">
         <!-- mit dem Attribut "start" wird angegeben, wo der Sortierschlüssel beginnt. -->
        <sort-field num="1" start="after-ref" length="sort-keys"/>
    </sort>
    <!-- 3. Aufbereiten der Registereinträge. -->
    <generate-index source="-std-" destination="$dest">
        <index-mode>
            <!-- sollte mit der Angabe zu define-index-mode bei prepare-index übereinstimmen -->
            <index>
                <references mode="record-number">
                    <!-- Referenzlänge definieren (6 für Seitennummer, 3 für Zeilennummer) -->
                    <ref-part num="1" length="6">
                        <insert-after>.</insert-after>
                    </ref-part>
                    <ref-part num="2" length="3"></ref-part>
                </references>
            </index>
        </index-mode>
        <generate-index-entry>
        </generate-index-entry>
    </generate-index>
</script>

Zurück zum Inhaltsverzeichnis - Lösungen und Tipps

txstep/loesungen/register_mit_txstep.txt · Zuletzt geändert: 2021/03/16 05:34 (Externe Bearbeitung)