Projekt

Allgemein

Profil

Aktionen

Index » Historie » Revision 5

« Zurück | Revision 5/17 (Vergleich) | Weiter »
Patrick Schulz, 17.02.2021 14:50


Index

Auszeichnung multipler Indexes und deren Überschriften

Wir verwenden das LaTeX-Paket index für die Rohindexerzeugung, sowie Xindy zum Generieren des fertigen Registers.

Deklaration der Index-Typen

Das Paket erlaubt mehrere Indexe. Diese werden mit dem \(re)newindex-Befehlen deklariert:

\newindex{<typ>}{<endung rohindex>}{<endung fertiger index>}{<Überschrift>}

Damit der Skriptaufruf später korrekt funktioniert, müssen die beiden Endungen bei nicht-default-Typen dem Schema <typ>_idx (Rohindex) bzw. <typ>_ind (fertiger Index) entsprechen.

Der Default- oder Hauptindex kriegt das Label default, dessen ÜS lässt sich wie folgt überdefinieren:

\renewindex{default}{idx}{ind}{Personenregister}

Die Index-Einträge für diesen Index werden mit
\index{<Lemma>}

deklariert. Ausgegeben wird der Hauptindex wird mit
\printindex

Angenommen, wir wollen zusätzlich zu diesem noch ein Ortsverzeichnis, dann müssen wir in der Präambel der tex-Datei einen neuen Index-Typ deklarieren:

\newindex{o}{o_idx}{o_ind}{Ortsverzeichnis}

Die Index-Einträge würden dann mit
\index[o]{<Term>}

deklariert, der Index mit
\printindex[o]

ausgegeben.

Aufruf des Index-Skripts

Mit dem optionalen Argument kann angegeben werden, welcher Index generiert werden soll. Wird das optionale Argument weggelassen, wird der Hauptindex erzeugt:

./index.sh <tex-Dateiname ohne Endung>

Der Aufruf mit optionalen Argument erzeugt den Neben-Index, z.B.
./index.sh <tex-Dateiname ohne Endung> o

würde das Ortsverzeichnis aus o.g. Beispiel erzeugen. Das Skript muss also für jeden Index einzeln aufgerufen werden.

Generierung des Index

Generieung der Indexe durch TeX

Heißt: Indexeinträge sind mittels \index[<typ>]{<Lemma>} in TeX kodiert.

lualatex <tex-Dateiname>.tex     %% Initialer TeX-Lauf; einsammeln der ÜSen
lualatex <tex-Dateiname>.tex     %% Erzeugen des IHV; seitenzahlen verschieben sich ggf. 
lualatex <tex-Dateiname>.tex     %% Zur Sicherheit... 
./index.sh <tex-Dateiname>       %% OHNE Endung!
./index.sh <tex-Dateiname> <typ> %% Zweites, optionales Argument für Index-Typ anders als default, s.u.
lualatex  <tex-Dateiname>.tex    %% Index wird erstmalig ausgegeben, ÜS wird geschrieben
lualatex  <tex-Dateiname>.tex    %% ÜS(en) für Index(e) in IHV gerendert
lualatex  <tex-Dateiname>.tex    %% Zur Sicherheit...

Statische Index-Dateien

Heißt: <basename>.<typ>_ind kommt vom Konverter

Bei statischen Indexes darf die index.sh nicht aufgerufen werden, da sonst die *ind-Dateien überschrieben würden! Alle anderen Schritte sind dieselben; \(re)newindex{}{}{}{} muss auch hier verwendet werden. Zum einen für die ÜSen, und zum anderen damit \printindex[<typ>] keine "unknown index type"-Fehler auswirft.

Von Patrick Schulz vor fast 4 Jahren aktualisiert · 5 Revisionen