Projekt

Allgemein

Profil

Index » Historie » Revision 5

Revision 4 (Patrick Schulz, 17.02.2021 14:49) → Revision 5/17 (Patrick Schulz, 17.02.2021 14:50)

h1. Index 

 h2. Auszeichnung multipler Indexes und deren Ü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. Generieung der Indexe durch 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.