PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zweiten Index erstellen



johndaveus
16-01-2008, 10:30
Hallo zusammen,

Ich benutze Miktex mit TexnicCenter, arbeite gerade mit der Dokumentklasse jurabook (baut auf der normalen book-klasse auf) und erstelle meinen Index mit

\usepackage{makeidx}
\makeindex

Das klappt, nur möchte ich jetzt noch einen zweiten Index starten, z.B. mit den zitierten Gesetzesbestimmungen, damit man sieht auf welchen Seiten davon die Rede ist.

Kann mir jemand sagen wie man das am besten macht? Es wäre nämlich schade, wenn in einem einzigen Index alles durchmischt wäre, Stichwörter und Gesetzesnormen und Autorennamen etc.

Vielen Dank!

rais
16-01-2008, 13:52
Moin moin,
a) sortiere mit Untereinträgen, z. B.


\index{bar}\index{bla!foo}\index{blubb}

zeigt `foo' als Untereintrag zu `bla', erscheint theoretisch also vor `blubb', sofern Du `level' in Deiner .ist nicht umdefiniert hast.

b) schau Dir mal das index-Paket an, da ist ein zweiter Index zumindest vorgesehen.

MfG,

johndaveus
16-01-2008, 16:13
Danke für den Hinweis

Mittlerweile habe ich herausgefunden dass es ein entsprechendes Paket gibt:

multind oder splitidx

Um unterschiedliche Verzeichnisse zu erstellen (etwa für Personen und Stichwörter), verwende man das Paket multind statt makeidx. Hier muß man den Befehl mit Attribut verwenden, etwa \makeindex{personen} und \makeindex{stichwoerter}. Entsprechend muß \index entweder als \index[personen]{} oder als \index[stichwoerter]{} verwendet und \printindex doppelt aufgerufen werden, als \printindex{personen} und \printindex{stichwoerter}. In diesem Fall muß auch der Befehl makeindex zweimal aufgerufen werden:

* makeindex personen
* makeindex stichwoerter

braindub
17-01-2008, 12:42
Es funktioniert auch das Paket {index}, damit lassen sich ganz ähnlich zwei separate Indizes erstellen.

Leider habe ich dabei das Problem, dass ich keine indexpreamble setzen kann, also eine Erläuterung zum Index, der zwischen der Index-Überschrift und den Indexeinträgen steht (und der selbstverständlich einspaltig sein soll, während die Indexeinräge zwei- bzw. dreispaltig geordnet sind).

Hat dazu evtl. jemand eine Idee?

rais
17-01-2008, 14:16
Moin moin,


Leider habe ich dabei das Problem, dass ich keine indexpreamble setzen kann, also eine Erläuterung zum Index, der zwischen der Index-Überschrift und den Indexeinträgen steht (und der selbstverständlich einspaltig sein soll, während die Indexeinräge zwei- bzw. dreispaltig geordnet sind).



\printindex[welcher][was hier steht landet in der Indexpräambel]%bei Paket index

MfG,

braindub
17-01-2008, 20:35
Hi Rainer, Danke für den Tipp, funktioniert nur leider nicht. Könnte es damit zusammenhängen, dass ich den index umdefiniere? Meine beiden Indizes sind einmal zweispaltig und einmal dreispaltig.

Mein Minimalbeispiel:


\documentclass[german, a4paper, 10pt]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{index}
\usepackage{multicol}
\usepackage[margin=2.5cm]{geometry}

\newindex{var}{adx}{and}{Variablenverzeichnis}
\newindex{default}{idx}{ind}{Thematischer Index}

\begin{document}

%Index zweispaltig
\makeatletter
\renewenvironment{theindex}{
\begin{multicols}{2}[\chapter*{Index1}][19\baselineskip]%
\addcontentsline{toc}{chapter}{Index1}
\setlength{\parindent}{0pt}\let\item\@idxitem}
{\end{multicols}}
\makeatother
\printindex[default][Hier sollte jetzt eigentlich ein Erläuterungstext kommen, der aber leider nicht kommt]

%Index dreispaltig
\makeatletter
\renewenvironment{theindex}{
\begin{multicols}{3}[\chapter*{Index2}][19\baselineskip]%
\addcontentsline{toc}{chapter}{Index2}
\setlength{\parindent}{0pt}\let\item\@idxitem}
{\end{multicols}}
\makeatother
\printindex[var][Hier sollte jetzt eigentlich ein Erläuterungstext kommen, der aber leider nicht kommt]

\newpage

Index1\index{index1}, Index2\index[var]{index2}

\end{document}

Das ganze setze ich dann im Terminal (OSX) mit



makeindex test.idx -o test.ind
makeindex test.adx -o test.and


Leider kommt dann nicht der Erläuterungstext zwischen Indexeinträgen und der Überschrift.

@ johndaveus: Sorry, dass ich Deinen Thread gekapert habe.

rais
17-01-2008, 21:03
Könnte es damit zusammenhängen, dass ich den index umdefiniere?
mit Sicherheit;-) damit machst Du ja gerade Erweiterungen vom index-Paket hinfällig...
Versuch es einmal so:


\renewenvironment{theindex}{
\begin{multicols}{2}[\chapter*{Index1}%
\ifx\index@prologue\@empty\else
\index@prologue
\bigskip
\fi
][19\baselineskip]%
%Rest wie gehabt
-- bei dem zweiten \renewenvironment dann genauso.;)
Oder Du bastelst Dir einen Zähler, den Du der multicols-Umgebung als Spalten übergibst, dazu vllt noch n Makro für den Namen, dann brauchst Du die Umgebung nur einmal in der Präambel umzudefinieren und zwischen den beiden Indizes dann nur noch den Zähler und den Namen anzupassen...

MfG,

braindub
18-01-2008, 10:07
Super, vielen Dank, so funktioniert es!