Projekt

Allgemein

Profil

Index » Historie » Version 2

Patrick Schulz, 17.02.2021 14:44

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 2 Patrick Schulz
*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!
17
18 1 Patrick Schulz
h2. Multiple Indexe und Überschreiben der Überschriften
19
20
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.
21
22
h3. Deklaration der Index-Typen
23
24
Das Paket erlaubt mehrere Indexe. Diese werden mit dem \(re)newindex-Befehlen deklariert:
25
<pre><code class="text">
26
\newindex{<typ>}{<endung rohindex>}{<endung fertiger index>}{<Überschrift>}
27
</code></pre>
28
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.
29
30
Der Default- oder Hauptindex kriegt das Label @default@, dessen ÜS lässt sich wie folgt überdefinieren:
31
<pre><code class="text">
32
\renewindex{default}{idx}{ind}{Personenregister}
33
</code></pre>
34
Die Index-Einträge für diesen Index werden  mit 
35
<pre><code class="text">
36
\index{<Lemma>}
37
</code></pre>
38
deklariert. Ausgegeben wird der Hauptindex wird mit 
39
<pre><code class="text">
40
\printindex
41
</code></pre>
42
43
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:
44
<pre><code class="text">
45
\newindex{o}{o_idx}{o_ind}{Ortsverzeichnis}
46
</code></pre>
47
Die Index-Einträge würden dann mit 
48
<pre><code class="text">
49
\index[o]{<Term>}
50
</code></pre>
51
deklariert, der Index mit 
52
<pre><code class="text">
53
\printindex[o]
54
</code></pre>
55
ausgegeben.
56
57
h3. Aufruf des Index-Skripts
58
59
Mit dem optionalen Argument kann angegeben werden, welcher Index generiert werden soll. Wird das optionale Argument weggelassen, wird der Hauptindex erzeugt:
60
<pre><code class="text">
61
./index.sh <tex-Dateiname ohne Endung>
62
</code></pre>
63
Der Aufruf mit optionalen Argument erzeugt den Neben-Index, z.B.
64
<pre><code class="text">
65
./index.sh <tex-Dateiname ohne Endung> o
66
</code></pre>
67
würde das Ortsverzeichnis aus o.g. Beispiel erzeugen. Das Skript muss also für jeden Index einzeln aufgerufen werden.