PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Index mit selbstgesetzten Seitenzahlen



tabster
14-03-2007, 14:54
Hallo,

ich mache gerade ein Liederbuch mit LaTeX und Lilypond. In dem Buch existieren keine Seitenzahlen, sondern "nur" die Liednummern. Diese entsprechen natürlich nicht immer den Seitenzahlen, da ein Lied mal über zwei Seiten geht oder zwei Lieder auf einer Seite stehen.

Nun soll das Ganze einen alphabetischen Index erhalten, in dem zum Lied die Liednummer steht. Wie ich den Index erstelle, ist mir klar. Aber wie kann ich \index{...} sagen, welche Zahl da anstatt der üblichen Seitenzahl stehen soll?

Oder gibt es notfalls auch eine Möglichkeit, mit LaTeX Textfiles auszugeben, damit in die .idx-Datei selbst schreiben kann? Das wäre allerdings keine besonders schöne Lösung.

Danke

arwedo
01-06-2007, 01:21
Hallo,

ich hatte das gleiche Problem (wollte die sections anstelle der Seitenzahlen) , habe aber jetzt eine Loesung gefunden:
Ich benutze das multind-Package, da ich mehrere Indizes haben moechte. Dessen Stildatei multind.sty habe ich um die zwei Befehle \myindex und \mywrindex erweitert:
% ==============================================
% (AR) 2007-05-31: added to support own numbers instead of pages in Index
\newcommand{\myindex}[2]{%
\@bsphack
\begingroup
\makeatletter
\def\protect##1{\string##1\space}\@sanitize\@mywri ndex{#1}{#2}}
\newcommand{\@mywrindex}[3]{%
% \let\thepage\relax
\xdef\@gtempa{%
\@ifundefined{#1@idxfile}{%
\PackageError{\@packagename}{%
The requested file, #1@idxfile.idx, does not exist;\MessageBreak
index term #2 will not be be written out.%
}%
}{%
\expandafter\write\csname #1@idxfile\endcsname
{\string\indexentry{#2}{#3}}%
}%
}%
\endgroup\@gtempa
\if@nobreak \ifvmode\nobreak\fi\fi
\@esphack
}
% ==============================================

In der "richtigen" Tex-Datei kann ich nun mit
\myindex{R}{Paul}{999}
Den Paul unter 999 im Index R eintragen (zu dem R siehe Doku zum multind-Package). Nach
makeindex R
und nochmaligem TeX-Lauf habe ich dann den fertigen Index.

Vielleicht hilft Dir das erstmal; falls nicht, melde Dich wieder!
Viele Gruesse von Arwedo

tabster
13-06-2007, 08:14
Hi arwedo,

danke für deine späte Antwort. Die habe ich eigentlich nur gefunden, da ich gerade wieder am Liederbuch rumbastle und andere Frage bezüglich der Indexerstellung habe.

Das ursprüngliche Problem habe ich jetzt so gelöst, dass mein Templating-System (Template-Toolkit) die Indexfiles erzeugt. Den Template-Toolkit brauche ich eh, weil ich die Daten aus einer Datenbank holen und noch ein bisschen aufbereiten muss.

Nun zu meiner neuen Frage:

Ich habe nur mehrere Indizes, will aber nicht nach jedem Index einen Seitenumbruch haben. Stattdessen sollen die Indizes fortlaufend dargestellt werden.

Hast du eine Idee, wie ich das mache? Scheinbar macht die Umgebung theindex automatisch ein \newpage mit ans Ende rein.

tabster