Index » Historie » Revision 3
Revision 2 (Patrick Schulz, 17.02.2021 14:44) → Revision 3/17 (Patrick Schulz, 17.02.2021 14:48)
h1. Index h2. Auszeichnung multipler Generierung des Index <pre><code class="xml"> 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... </code></pre> *Achtung:* Bei statischen Indexes (@<basename>.<typ>_ind@ kommt vom Konverter) darf die @index.sh@ *nicht aufgerufen* werden, da sonst die *ind-Dateien überschrieben würden! h2. Multiple Indexe und deren Überschreiben der Überschriften Wir verwenden das LaTeX-Paket "index":https://mirror.dogado.de/tex-archive/macros/latex/contrib/index/index.pdf für die Rohindexerzeugung, sowie Xindy zum Generieren des fertigen Registers. h3. Deklaration der Index-Typen Das Paket erlaubt mehrere Indexe. Diese werden mit dem \(re)newindex-Befehlen deklariert: <pre><code class="text"> \newindex{<typ>}{<endung rohindex>}{<endung fertiger index>}{<Überschrift>} </code></pre> 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: <pre><code class="text"> \renewindex{default}{idx}{ind}{Personenregister} </code></pre> Die Index-Einträge für diesen Index werden mit <pre><code class="text"> \index{<Lemma>} </code></pre> deklariert. Ausgegeben wird der Hauptindex wird mit <pre><code class="text"> \printindex </code></pre> 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: <pre><code class="text"> \newindex{o}{o_idx}{o_ind}{Ortsverzeichnis} </code></pre> Die Index-Einträge würden dann mit <pre><code class="text"> \index[o]{<Term>} </code></pre> deklariert, der Index mit <pre><code class="text"> \printindex[o] </code></pre> ausgegeben. h3. 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: <pre><code class="text"> ./index.sh <tex-Dateiname ohne Endung> </code></pre> Der Aufruf mit optionalen Argument erzeugt den Neben-Index, z.B. <pre><code class="text"> ./index.sh <tex-Dateiname ohne Endung> o </code></pre> würde das Ortsverzeichnis aus o.g. Beispiel erzeugen. Das Skript muss also für jeden Index einzeln aufgerufen werden. h2. Generierung des Index h3. Generiung des Index surch TeX Heißt: Indexeinträge sind mittels \index[<typ>]{<Lemma>} in TeX kodiert. <pre><code class="xml"> 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... </code></pre> h3. 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.