Projekt

Allgemein

Profil

Index » Historie » Version 1

Patrick Schulz, 17.02.2021 13:59

1 1 Patrick Schulz
h1. Index
2
3
h2. Generierung des Index
4
5
<pre><code class="xml">
6
lualatex <tex-Dateiname>.tex     %% Initialer TeX-Lauf; einsammeln der ÜSen
7
lualatex <tex-Dateiname>.tex     %% Erzeugen des IHV; seitenzahlen verschieben sich ggf. 
8
lualatex <tex-Dateiname>.tex     %% Zur Sicherheit... 
9
./index.sh <tex-Dateiname>       %% OHNE Endung!
10
./index.sh <tex-Dateiname> <typ> %% Zweites, optionales Argument für Index-Typ anders als default, s.u.
11
lualatex  <tex-Dateiname>.tex    %% Index wird erstmalig ausgegeben, ÜS wird geschrieben
12
lualatex  <tex-Dateiname>.tex    %% ÜS(en) für Index(e) in IHV gerendert
13
lualatex  <tex-Dateiname>.tex    %% Zur Sicherheit...
14
</code></pre>
15
16
h2. Multiple Indexe und Überschreiben der Überschriften
17
18
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.
19
20
h3. Deklaration der Index-Typen
21
22
Das Paket erlaubt mehrere Indexe. Diese werden mit dem \(re)newindex-Befehlen deklariert:
23
<pre><code class="text">
24
\newindex{<typ>}{<endung rohindex>}{<endung fertiger index>}{<Überschrift>}
25
</code></pre>
26
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.
27
28
Der Default- oder Hauptindex kriegt das Label @default@, dessen ÜS lässt sich wie folgt überdefinieren:
29
<pre><code class="text">
30
\renewindex{default}{idx}{ind}{Personenregister}
31
</code></pre>
32
Die Index-Einträge für diesen Index werden  mit 
33
<pre><code class="text">
34
\index{<Lemma>}
35
</code></pre>
36
deklariert. Ausgegeben wird der Hauptindex wird mit 
37
<pre><code class="text">
38
\printindex
39
</code></pre>
40
41
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:
42
<pre><code class="text">
43
\newindex{o}{o_idx}{o_ind}{Ortsverzeichnis}
44
</code></pre>
45
Die Index-Einträge würden dann mit 
46
<pre><code class="text">
47
\index[o]{<Term>}
48
</code></pre>
49
deklariert, der Index mit 
50
<pre><code class="text">
51
\printindex[o]
52
</code></pre>
53
ausgegeben.
54
55
h3. Aufruf des Index-Skripts
56
57
Mit dem optionalen Argument kann angegeben werden, welcher Index generiert werden soll. Wird das optionale Argument weggelassen, wird der Hauptindex erzeugt:
58
<pre><code class="text">
59
./index.sh <tex-Dateiname ohne Endung>
60
</code></pre>
61
Der Aufruf mit optionalen Argument erzeugt den Neben-Index, z.B.
62
<pre><code class="text">
63
./index.sh <tex-Dateiname ohne Endung> o
64
</code></pre>
65
würde das Ortsverzeichnis aus o.g. Beispiel erzeugen. Das Skript muss also für jeden Index einzeln aufgerufen werden.