PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Index, einzelne Seitenzahlen statt Intervall



marius79
03-09-2010, 17:49
Hallo,

bei der Erstellung meines Index werden Bereiche, die ich mit \index{Schlüssel|(} und \index{Schlüssel|)} eingrenze immer dann mit zwei einzelnen Seitenzahlen im Index referenziert, wenn es sich lediglich um zwei aufeinanderfolgende Seiten handelt. Ich arbeite mit xindy, habe aber dasselbe Problem mit makeindex gehabt. Hier ein Minimalbeispiel und danach noch mein xindy-Style:

\documentclass{scrbook}

\usepackage[ngerman]{babel}
\usepackage{index}
\usepackage{blindtext}

\makeindex

\begin{document}
\blindtext

erster Eintrag\index{erster Eintrag|(}

\Blindtext
erster Eintrag\index{erster Eintrag|)}

zweiter Eintrag\index{zweiter Eintrag|(}

\Blindtext
\Blindtext
zweiter Eintrag\index{zweiter Eintrag|)}

\printindex
\end{document}

;;; xindy Stildatei myIndex.xdy

;; vordefinierte Sprachen von texindy
(require "tex/inputenc/latin.xdy")

;; Module
(require "word-order.xdy")
(require "numeric-sort.xdy")
(require "page-ranges.xdy")
(require "tex.xdy")
(require "latex-loc-fmts.xdy")
(require "latex.xdy")
(require "makeindex.xdy")
(require "german-sty.xdy")
Wenn das Minimalbeispiel foo.tex heißt, rufe ich den Indexprozessor mit der folgenden Zeile auf:

xindy -L german-duden -M myIndex.xdy foo.idx
Ich finde das Verhalten ein wenig unschön. Wenn ich einen Bereich angebe, möchte ich dem Leser mitteilen, dass der gesamte referenzierte Abschnitt einschlägig ist, auch wenn es bloß zwei Seiten n und n+1 sind. Lässt sich das beheben?

Falls es etwas damit zu tun haben sollte: Am index-Paket führt für mich kein Weg vorbei, denke ich, da es neben dem normalen Index auch ein Autoren- und ein Symbolverzeichnis geben soll.

Vielen Dank und Grüße
Marius

EDIT: Ich sehe gerade, dass das Modul page-ranges nur bei Begriffen, die auf mehr als zwei aufeinanderfolgenden Seiten auftreten, einen Bereich angibt. Liegt es daran? Ich dachte, mit \index{Schlüssel|(} und \index{Schlüssel|)} könnte ich die Bereichsangabe erzwingen, und dass page-ranges dafür sorgt, dass bei einfacher Angabe mit \index{Schlüssel} ggf. automatisch ein Bereich angegeben wird.

voss
04-09-2010, 08:04
Ich sehe gerade, dass das Modul page-ranges nur bei Begriffen, die auf mehr als zwei aufeinanderfolgenden Seiten auftreten, einen Bereich angibt. Liegt es daran? Ich dachte, mit \index{Schlüssel|(} und \index{Schlüssel|)} könnte ich die Bereichsangabe erzwingen, und dass page-ranges dafür sorgt, dass bei einfacher Angabe mit \index{Schlüssel} ggf. automatisch ein Bereich angegeben wird.

\index{Schlüssel|(} und \index{Schlüssel|)} ist dafür gedacht,
dass du auch einen Bereich angegeben bekommst, wenn gar keiner da ist,
also beispielsweise für die Seiten 1,2,3,5 -> 1--5. Für deinen Fall
musst du die page-ranges entsprechend modifizieren.

Herbert

marius79
04-09-2010, 10:29
Meinst Du die Datei page-ranges.xdy? Da steht vergleichsweise wenig drin. Oder kann ich den Wert für die Mindestanzahl an Seiten, die als Bereich ausgegeben werden, irgendwo anpassen?

Vielen Dank
Marius

voss
04-09-2010, 10:38
Meinst Du die Datei page-ranges.xdy? Da steht vergleichsweise wenig drin. Oder kann ich den Wert für die Mindestanzahl an Seiten, die als Bereich ausgegeben werden, irgendwo anpassen?


du musst die f und ff rausnehmen, wenn dafür auch ein Bereich angegeben werden soll. Dafür lädst du nicht das entsprechende
Modul, sondern definierst einfach

(define-location-class "arabic-page-numbers"
("arabic-numbers") :min-range-length 1)
(markup-range :sep "--")


Herbert