PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : makeindex und deutsche Sortierung



gapl
06-11-2005, 11:59
Ich erstelle mit makeindex ein Stichwortregister. Das klappt soweit gut, nur die Umlaute werden nicht in der richtigen Reihenfolge ausgeworfen. Wenn ich makeindex nun mit der Option -g datei.idx aufrufe, erhalte ich folgende Meldung:


Option -g invalid, quote character must be different from `"`

Meine Umlaute habe ich mit doppeltem Anführungszeichen angegeben, also z.B. \index{M""unchen}.

Wo liegt der Fehler? Weiß jemand Rat?

Gruß
gapl

PS: Ich arbeite auf einem Mac mit TeXShop.

bischi
06-11-2005, 12:20
Umlaute entweder mit \"u oder gleich als ü schreiben. Pakete, die du dafür laden musst, findest du in meinen Beispieldateien auf www.walfisch.ch.vu

MfG Bischi

gapl
06-11-2005, 17:02
Danke Bischi für Deine Antwort. Leider funktioniert es immer noch nicht.

Folgendes Beispieldokument führt immer noch zu der Fehlermeldung, dass -g eine "invalid option" ist:

\documentclass[12pt,]{scrbook}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{makeidx}

\makeindex

\begin{document}

Lauter Unsinn\index{Düsseldorf}; noch mehr Unsinn\index{Darmstadt}.

\printindex

\end{document}

Das Ergebnis ist jeweils:


Düsseldorf, 1
Darmstadt, 1


Wenn ich stattdessen \index{D\"usseldorf} eingebe, erhalte ich dieselbe falsche Sortierfolge.

Bei Kopka habe ich gelesen, dass die Verwendung von doppeltem Anführungszeichen, also \index{D""usseldorf}, wie ich es ursprünglich hatte, eigentlich korrekt sein müsste. Dort heißt es aber auch, dass die Option -g im Zusammenhang mit "makeindex" nur funktioniert, wenn eine Stildatei mit der Endung (.ist) angegeben wird. Bei Detig steht, dass die Stildatei "umlaut.ist" in den meisten Distributionen enthalten sei. Der Aufrunf müsste demnach lauten:



makeindex -g -s umlaut.ist meinDokument.idx


Irgendwo habe ich gelesen, dass die Datei normalerweise unter \texmf\makeindex gespeichert ist. Dieses Verzeichnis gibt es bei mir aber nicht.

Kann jemand von Euch vielleicht einmal nachsehen, ob er die Datei "umlaut.ist" hat und was dort drin steht. Ich würde mir die Datei dann selbst erstellen und einen neuen Anlauf wagen.

Gruß
gapl

rais
06-11-2005, 18:53
Moin moin,


Irgendwo habe ich gelesen, dass die Datei normalerweise unter \texmf\makeindex gespeichert ist. Dieses Verzeichnis gibt es bei mir aber nicht.

Ich weiß ja nicht, wo beim MAC der texmf-Baum abgelegt wird; bei SuSE Linux Distros idR /usr/share/texmf, d.h. hier wäre der komplette Pfad dann /usr/share/texmf/makeindex für die sogenannten stylefiles für makeindex... Du mußt vermutlich etwas tiefer graben;)


Kann jemand von Euch vielleicht einmal nachsehen, ob er die Datei "umlaut.ist" hat und was dort drin steht. Ich würde mir die Datei dann selbst erstellen und einen neuen Anlauf wagen.

Die Datei gibt's dort bei einer Standardinstallation auch nicht (nur gglo.ist, gind.ist und nomencl.ist). Laut der Manualpage von makeindex soll man sich das "quote" Zeichen umdefinieren, z.B. auf '+', damit es zu _keiner_ Fehlermeldung im Zusammenhang mit der -g Option kommt.
Also solltest Du Dir (wenn's die Datei denn bei Dir auch nicht gibt) z.B. gind.ist nach umlaut.ist kopieren und dort dann "quote" entsprechend anpassen, dann sollte es funzen.
MfG,

gapl
06-11-2005, 19:22
Hallo rais! Danke für Deine Antwort!


Die Datei gibt's dort bei einer Standardinstallation auch nicht (nur gglo.ist, gind.ist und nomencl.ist). Laut der Manualpage von makeindex soll man sich das "quote" Zeichen umdefinieren, z.B. auf '+', damit es zu _keiner_ Fehlermeldung im Zusammenhang mit der -g Option kommt.
Also solltest Du Dir (wenn's die Datei denn bei Dir auch nicht gibt) z.B. gind.ist nach umlaut.ist kopieren und dort dann "quote" entsprechend anpassen, dann sollte es funzen.
MfG

Das Verzeichnis texmf findet sich unter beiden library-Verzeichnissen. Allerdings finde ich hier keinen Ordner "makeindex". Deshalb habe ich auch keine Datei mit Namen gind.ist, gglo.ist oder nomencl.ist. Auch die Suche mit Spotlight weißt keinen Treffer aus. Könntest Du oder jemand anders vielleicht den Inhalt der Datei gind.ist hier posten. Ich würde ihn mir dann kopieren und entsprechend anpassen. Das wäre super!

Gruß
gapl

rais
06-11-2005, 19:40
Moin moin,
siehe Anhang. Die Endung txt hab ich nur rangehängt, damit's hier mit dem Anhängen auch klappt;)
Warum hier wohl Standardendungen für LaTeX-Dateien nicht erlaubt sind?

MfG,

countbela666
06-11-2005, 19:53
Mahlzeit,

hier mal der Link zur original umlaut.ist:

http://www.tug.org/texlive/devsrc/Master/texmf-dist/makeindex/mkind-german/umlaut.ist

Grüße,
Marcel

gapl
06-11-2005, 20:07
Danke rais und countbela666!

Ich werde es gleich ausprobieren. Drückt mir die Daumen!

Gruß
gapl

rais
06-11-2005, 20:19
Moin moin,
@Marcel: Danke für den Link!

@gapl: Da in der umlaut.ist mit "[AaEeOoUu] gearbeitet wird, mußt Du \index{D"usseldorf} schreiben, damit Darmstadt vorher erscheint.
MfG,

gapl
06-11-2005, 20:41
Leider funktioniert es immer noch nicht. Dieses Mal lautet die Fehlermeldung, dass er umlaut.ist nicht findet. ("texhash" habe ich ausgeführt!) Ich arbeite erst seit kurzem mit einem Mac und kenne mich im Dateisystem noch nicht so gut aus. Könnt Ihr mir trotzdem sagen, wo die Datei umlaut.ist bzw. gind.ist bei Euch liegt? Ich versuche es dann bei mir im lokalen texmf-Verzeichnis nachzubauen.

Gruß
gapl

countbela666
06-11-2005, 20:55
Die Pfade sind bei mir:
texmf/makeindex/latex/gind.ist
texmf/makeindex/german/umlaut.ist
Aber nach einem texhash sollte es eigentlich unerheblich sein, wo in dem texmf-Baum genau sich die Dateien befinden. Zur Not packst du sie einfach in das Verzeichnis mit deiner *.tex-Hauptdatei, das sollte auf jeden Fall funktionieren.

Grüße,
Marcel

rais
06-11-2005, 21:25
Moin moin,
kann auch sein, daß Du Dir die Umgebungsvariable $INDEXSTYLE entsprechend setzen mußt - lt. manpage sucht makindex seine .ist Dateien dort (oder eben unter ...texmf/makeindex bzw. im aktuellem Arbeitsverzeichnis).
Wie Du das allerdings einem MAC beibringst *schulterzuck*
Zu Not könntest Du es auch mit
makeindex -g -s _Dein_Pfad_dahin/umlaut.ist datei.idx -o datei.ind
versuchen;)
MfG,

gapl
06-11-2005, 21:30
Super, es hat geklappt. Der Fehler lag bei mir. Ich habe die Datei umlaut.ist mit dem Mac-Programm Textedit abgespeichert. Da bei Mac OS X in der Standardeinstellung keine Dateiendungen angezeigt werden, habe ich zuerst nicht bemerkt, dass TextEdit alle Dateien als .rtf abspeichert. Deswegen hat es mit texhash auch nicht funktioniert. Ich bin wohl einfach schon zu müde. Jetzt funktioniert es jedenfalls!

Also, nochmals Danke Euch allen!

Gruß
gapl