PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Makeindex-Problem



putz
24-10-2008, 00:14
Hallo,

ich habe im Prinzip dasselbe Problem wie mein Kollege hier (http://www.mrunix.de/forums/showthread.php?t=51825&highlight=makeindex+sortierung), das dort aber nicht ganz gelöst wurde.
Ich möchte einen Index aus Stellenangaben erstellen, aber dann sortiert LaTeX folgendermaßen:

1,1
11,25
17,2
2,54
2,78
22,5
...

Ich hätte aber gerne, dass LaTeX nicht nach der ersten Ziffer sortiert, sondern nach den Kommata. Jetzt habe ich im LaTeX-Begleiter (2005) geschaut, jedoch ist mir dort nur die Möglichkeit aufgefallen, mit "page_precendence (s)" das hinzukriegen (S. 682). Bin ich auf der richtigen Spur? Ich weiß nämlich auch nicht, wo ich das dann hinschreiben sollte, weil ich MikTeX benutze.
Kann mir jemand weiterhelfen?

Vielen Dank an alle im Voraus
Felix

rais
26-10-2008, 07:56
Moin moin,


Ich möchte einen Index aus Stellenangaben erstellen, aber dann sortiert LaTeX folgendermaßen:

1,1
11,25
17,2
2,54
2,78
22,5
...

Ich hätte aber gerne, dass LaTeX nicht nach der ersten Ziffer sortiert, sondern nach den Kommata.

also quasi unsortiert, etwa


\documentclass{article}
\usepackage{makeidx}
\makeindex
\newcommand*\myindex[1]{%
#1\index{\thepage@#1}%
\clearpage
}
\begin{document}
\myindex{1}
\myindex{11}
\myindex{17}
\myindex{2}
\myindex{2}
\myindex{22}
\printindex
\end{document}
?



Jetzt habe ich im LaTeX-Begleiter (2005) geschaut, jedoch ist mir dort nur die Möglichkeit aufgefallen, mit "page_precendence (s)" das hinzukriegen (S. 682). Bin ich auf der richtigen Spur?
Wenn ich den Eintrag richtig deute, dann wird damit nur die Sortierreihenfolge der Seitenzahlen untereinander für denselben Eintrag vorgegeben, also ob römisch vor numerisch vor alphabetisch oder wie auch immer die Seiten angegeben werden sollen (s. u.)


Ich weiß nämlich auch nicht, wo ich das dann hinschreiben sollte, weil ich MikTeX benutze.

Das käme in die makeindex-Stildatei (.ist): vergleiche einmal die Ausgabe:


\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
foo\index{foo}
\clearpage
\pagenumbering{Roman}
foo\index{foo}
\clearpage
\pagenumbering{roman}
foo\index{foo}
\clearpage
\pagenumbering{Alph}
foo\index{foo}
\clearpage
\pagenumbering{alph}
foo\index{foo}

\printindex
\end{document}

einmal normal per `makeindex foo.idx' und einmal per `makeindex foo.idx -s foobar.ist', mit


page_precedence "ARnar"
in `foobar.ist'.

MfG