PDA

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



braindub
28-11-2007, 13:02
Hallo,
Weiß jemand von Euch, wie man bspw. mit dem Befehl \multicol den Index dreispaltig setzen kann?
Ich habe für eine Dokumentation einen Thematischen und einen Stichwortindex erstellt (mit dem Paket \index, um eben zwei Indizes zu bilden):

\newindex{default}{idx}{ind}{Thematischer Index}
\newindex{SW}{adx}{and}{Stichwortverzeichnis}

Nun würde ich gerne das Stichwortverzeichnis dreispaltig setzen, den Thematischen Index aber weiterhin zweispaltig belassen. Muss ich dazu die \theindex-Umgebung umdefinieren (wenn ja, wo und wie)? Aber wirkt sich das dann nicht auch auf den Thematischen Index aus?

Wäre klasse, wenn mir jemand helfen könnte!

Viele Grüße



\documentclass[german, a4paper]{scrreprt}
\usepackage{index}

\newindex{default}{idx}{ind}{Thematischer Index}
\newindex{SW}{adx}{and}{Stichwortverzeichnis}

\begin{document}

\printindex
\printindex[SW]

Frage 1\index[SW]{Frage 1}

Erste Gedanken\index{Gedanken}

\end{document}


Hier mein Minimalbeispiel.
Nach dem ersten Durchlauf muss noch



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


im Terminal (Mac) im entsprechenden Verzeichnis durchlaufen (wobei Index3 der Name der TeX-Datei ist).

Das entstehende Stichwortverzeichnis soll dann dreispaltig sein (leider sieht man da jetzt noch keine Spalten, da es ja nur jeweils einen Eintrag gibt.

braindub
29-11-2007, 21:55
Diese Lösung habe ich nun im Netz gefunden (benötigt das Paket {multicol}):


\newcommand{\orgtheindex}{}
\let\orgtheindex\theindex
\let\orgendtheindex\endtheindex
\def\theindex{%
\def\twocolumn{\begin{multicols}{3}}%
\def\onecolumn{}%
\cleardoublepage
\orgtheindex
}
\def\endtheindex{%
\end{multicols}%
\orgendtheindex
\cleardoublepage
}

Leider werden dann beide Indizes dreispaltig gesetzt, nicht nur einer. Wie kann man dieses Problem lösen? Ich definiere ja mit dem obigen die Umgebung {theindex} um, und zwischen \begin{theindex} und \end{theindex} befinden sich eben jeweils beide Indizes. Kann mir dazu jemand einen Tipp geben?

Danke schon mal im voraus.

braindub
30-11-2007, 10:45
So, das Problem ist endlich gelöst, evtl. interessiert es ja noch jemanden.

Habe nun die Dreispalten-Lösung aus dem Latex-Begleiter genommen und stelle sie vor dem jeweiligen printindex-Befehl.


\makeatletter
\renewenvironment{theindex}{
\begin{multicols}{2}[\chapter*{Thematischer Index}][19\baselineskip]%
\setlength{\parindent}{0pt}\pagestyle{plain}\let\i tem\@idxitem}
{\end{multicols}}
\makeatother

\printindex


\makeatletter
\renewenvironment{theindex}{
\begin{multicols}{3}[\chapter*{Stichwortverzeichnis}][19\baselineskip]%
\setlength{\parindent}{0pt}\pagestyle{plain}\let\i tem\@idxitem}
{\end{multicols}}
\makeatother

\printindex[SW]


Eigentlich ganz einfach, irgendwie kam ich dennoch nicht drauf.