PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Installation von glossaries



TheLawyer
18-09-2009, 12:31
Hallo zusammen.

Ich verwende das glossaries Paket für ein Abkürzungsverzeichnis und ein Glossar. Das funktionierte auch ganz gut, bis ich auf MikTeX 2.8 umgestiegen bin. Seitdem stürzt (anscheinend) makeindex ab, wenn ich es über makeglossaries aufrufe.
Als Fehlermeldung bekomme ich von Windows: "General Purpose Index Processor hat ein Problem festgestellt und muss beendet werden. ..." und Texmaker sagt: "Call to makeindex failed (errno=5888):"

Aus meine Dokument habe ich kein Minimalbeispiel erstellt, sondern habe erstmal versucht minimalgls.tex (s. Anhang3260), die mit dem glossaries Paket als Testbeispiel kommt, zu kompilieren. Das scheiter aber schon beim ersten latex-Lauf, da er einige Dateien nicht findet.
Auszug aus dem Logfile:


...
Package hyperref Warning: Rerun to get /PageLabels entry.

No file minimalgls.gls.
[1

]
! I can't find file `minimalgls.aux'.
\enddocument ...makeatletter \input \jobname .aux
\fi \@dofilelist \ifdim \f...
l.47 \end{document}

Please type another input file name:
("C:\Programme\MiKTeX 2.8\tex\latex\tools\.tex" File ignored)

*File List*
article.cls 2005/09/16 v1.4f Standard LaTeX document class
size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
hyperref.sty 2009/09/10 v6.78u Hypertext links for LaTeX
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
ifpdf.sty 2009/04/10 v2.0 Provides the ifpdf switch (HO)
...

Die .aux ist aber im gleichen Verzeichnis vorhanden.
Wenn ich danach makeglossaries minimalgls ausführe, bekomme ich:


added glossary type 'main' (glg,gls,glo)
makeindex -s "minimalgls.ist" -t "minimalgls.glg" -o "minimalgls.gls" "minimalgls.glo"
Call to makeindex failed (errno=256):
Index style file minimalgls.ist not found.
usage: makeindex...

Die Datei ist aber vorhanden. (Das gleiche passiert auch, wenn ich makeindex wie in der glossaries Doku beschrieben direkt aufrufe.)

Woran liegt das denn? Ist die Installation vielleicht falsch, oder muss ich noch irgendwo einen PATH setzen?

Ich weiß grade echt nicht weiter und bin für Tipps wirklich dankbar.

u_fischer
18-09-2009, 13:40
Da ich noch kein miktex 2.8 habe, kann ich nichts Konkretes dazu sagen. Aber ein paar Tips zur Fehlersuche + Sammlung von Informationen für einen eventuellen Bugreport:

1. Wenn miktex Dateien nicht findet, liegt es meist daran, dass
a) gar nicht da sind
b) am falschen Ort sind
c) die FNDB aktualisiert werden muss.
d) die Rechte fehlen, um darauf zuzugreifen oder miktex aus sonst einem Grund Dateien aus dem aktuelle Verzeichnis nicht lesen kann (selten, könnte aber hier der Fall sein, immerhin betreffen beide Fehlermeldungen Dateien, die während des LaTeX-Laufes im aktuellen Verzeichnis erzeugt werden.)


Bei c) kommt bei 2.8. die zusätzliche Schwierigkeit hinzu, dass die Haupt-FNDB nur mit der admin-Variante von initexmf aktualisiert wird. Also versuche als Erstes initexmf --admin -u. Solltest du die minimalgls aus einem miktex-Ordner heraus kompiliert haben: Lösche die externen Dateien, die dabei entstanden sind.

2. Als nächstes kopiere deine Testdatei in einen leeren Ordner ohne Leerzeichen im Pfad und gibt ihr einen neuen Namen, und rufe dann auf der Kommandozeile nacheinander die diversen Schritte auf. Benutze nicht das Skript makeglossaries sondern zuerst die Einzelschritte. Sammle alle log-Dateien + Kopiere die Meldungen in der Kommandozeile in eine Datei - auch wenn alles funktioniert! Als letztes versuche das Skript. Wenn der Fehler irgendwo bei diesem Test auftritt: Packe alles zusammen in eine zip-Datei und schicke es mal.

Wenn er nicht auftritt, musst du versuchen mithilfe der problematischen Datei ein Testumfeld zu erzeugen, dass den Fehler demonstriert.

TheLawyer
18-09-2009, 15:10
Danke Ulrike.
Ich habe das mal alles gemacht mit folgenden Ergebnissen:
- (Sollte initex --admin -u irgendetwas ausgeben? Ich habe da weder eine Fehler- noch eine Erfolgsmeldung noch sonst irgendwas gesehen.)
- minimalgls.tex im miktex-Baum kompilieren klappt nicht (wie oben).
- In anderen Verzeichnissen funktioniert es problemlos mit makeglossaries-Script und ohne. Wenn der Pfad Leerzeichen enthält gibt es auch keine Fehler.

Daraufhin habe ich mein eigentliches Projekt mal komplett nach "C:\textest" kopiert und aufgeräumt. Dort funktionert alles einwandfrei.
Im Verzeichnis "C:\tex test" klappt es genauso gut.

Nur im alten Pfad "C:\Dokumente und Einstellungen\Student\Eigene Dateien\My Dropbox\DiplTeX", der zugegebenermaßen etwas lang ist, stürzt makeindex wirklich ab (auch wie oben).

Gibt es da irgendeine Längenbeschränkung oder sowas? Oder ist das wirklich ein Bug? Wenn ja, wo kann ich den melden?
Nachher werde ich das alles noch auf einem anderen System testen. Hast du noch irgendwelche Ideen, was ich probieren könnte?

u_fischer
18-09-2009, 15:45
Lange Pfade können schon mal Probleme machen, aber ich habe gerade mal minimalgls in einem deutlich längeren Verzeichnis getestet (miktex 2.7) und es ging ohne Probleme. Wenn also miktex 2.8. daran scheitert ist es ein Bug. Es hängt aber immer noch die Möglichkeit im Raum, dass es ein Rechteproblem ist. Das problematische Verzeichnis ist ja ein Benutzer-Verzeichnis, eine der wesentlichen Änderungen in miktex 2.8. betrifft die Rechteverwaltung (die meisten Werkzeuge haben nun eine --admin-Variante) und den diversen Fragen in der Mailingliste nach zu urteilen, hackelt es da noch etwas.

Verlängere also mal C:\textest und schau nach, ob es dann auch Probleme gibt.

Wie man einen Bugreport macht, kannst du hier nachlesen:
http://www.miktex.org/bugs

Gib auf jeden Fall an, welches Betriebssystem du nutzt, welche Rechte dein Benutzerkonto hat, ob du irgendwas aus miktex 2.7 importiert hast.

TheLawyer
22-09-2009, 08:47
Da meine Probleme auf einem anderen ähnlichen Systemnicht aufgetreten sind, habe ich einfach mal alls Pakete, die mit makeindex oder glossaries zu tun hatten, als Admin deinstalliert. Beim Kompilieren wurden die dann wieder On-the-Fly installiert und jetzt klappt es auch auf dem ersten System.
Vielleicht hilft das ja noch irgendwem ;)