Index » Historie » Revision 2
Revision 1 (Patrick Schulz, 17.02.2021 13:59) → Revision 2/17 (Patrick Schulz, 17.02.2021 14:44)
h1. Index
h2. 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 Ü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.