Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Suse: latex findet user-texmf-Baum nicht

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407

    Suse: latex findet user-texmf-Baum nicht

    Hallo,

    ich arbeite unter Suse 10.0. Da dieses Notebook hier bald fällig ist, muß ich vieles Selbstinstallierte im lokalen Home-Verzeichnis unterbringen, und dann sichern, damit ich es beim nächsten Rechner nicht neu installieren muß. So die Theorie.

    texmf.cnf enthält u.a. folgende Zeilen:

    Code:
    TEXMFLOCAL = /usr/local/share/texmf
    TEXMFHOME = $HOME/texmf
    Ein texhash findet auch $HOME/texmf und die dortige ls-R enthält ganz korrekt den Hinweis auf die dort gelagerten Files.

    Nur Latex findet sie nicht. Ein
    Code:
    latex foo
    führt zu Fehlermeldung
    ! LaTeX Error: File ... not found.

    Wieso nicht, verdammt noch mal!

    regt sich auf

    Alexander

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo Alexander,
    hmm, Dein TEXMFHOME heißt bei mir HOMETEXMF, aber dann sitz' ich auch gerade an einer etwas älteren Version (SuSE 8.2).
    Wie ist denn TEXMF in Deiner texmf.cnf eingestellt?
    Und Deine Fehlermeldung bezieht sich auf ein aus Deinem ~/texmf-Tree zu ladendes Paket - und nicht etwa auf ``foo[.tex]''?
    Anders gefragt: Wie reagiert ein
    Code:
    kpsewhich lokalespaket.sty
    ?

    Evtl. überschreibst Du ja (sonstwo) die eine oder andere Umgebungsvariable; versuch mal
    Code:
    set | grep TEX
    Standardmäßig sollte das eine leere Liste ergeben...
    Sollten alle Stricke reißen, kannst Du mit z.B.
    Code:
    export TEXINPUTS=~/texmf//:/usr/local/share/texmf//:/usr/share/texmf//:./
    LaTeX immer noch dazu überreden, auch in ~/texmf (und drunter) nachzuschauen.

    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407

    Hallo Rainer,

    Danke für die Hinweise,

    also: set | grep TEX führt zu folgender Ausgabe:

    Code:
    TEXINPUTS=::/home/AW/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX:
    /home/AW/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX
                e='!*.+(tex|TEX|texi|latex)'
    die mir jetzt erstmal garnixxx sagt. (Einen Zeilenumbruch habe ich oben eingefügt, rot markiert.)

    Auf

    Code:
    AW@alexkiste:~> kpsewhich localer.sty
    bleibt kpsewhich jede Antwort schuldig, nach einer Sekunde meldet sich die Konsole wieder mit AW@alexkiste:~>

    Und TEXMF sieht so aus:
    Code:
    TEXMF = {$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
    Wobei die Datei, betrachtet man sie mit mc, nicht texmf.cnf, sondern @texmf.cnf heißt, warum auch immer.

    Wenn Dir etwas einfällt, nur her damit, aber ich werde mir jetzt auch mal Zeile für Zeile texmf.cnf durchlesen.

    Gruß,
    Alexander

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo Alexander,
    Zitat Zitat von cookie170 Beitrag anzeigen
    also: set | grep TEX führt zu folgender Ausgabe:

    Code:
    TEXINPUTS=::/home/AW/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX:
    /home/AW/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX
                e='!*.+(tex|TEX|texi|latex)'
    Also erstmal: in Deinem ersten Post stand, daß Dein persönliches TeX-Verzeichnis (TEXMFHOME) auf $HOME/texmf steht; über TEXINPUTS setzt Du aber $HOME/.TeX (und das auch noch _nicht_ rekursiv)... da stellt sich mir erstmal die Frage: Wie heißt der Ordner denn nun wirklich?
    Gesetz dem Fall, Du hast ~/texmf angelegt, dann sollte es genügen, wenn Du
    Code:
    unset TEXINPUTS
    texhash
    in dieser Reihenfolge aufrufst (denn ~/texmf wird ja über TEXMFHOME angegeben); wenn Du hingegen ~/.TeX angelegt hast, dann könnte Dich erstmal
    Code:
    ln -s .TeX texmf
    weiterbringen.
    D.h., eigentlich hat doch TEXINPUTS gegenüber den runtime-Einstellungen in der texmf.cnf Priorität - und hier stehen bei Dir nur ~/.TeX und zwei doc-Verzeichnisse drin, sprich: Du müsstest sogar Schwierigkeiten haben selbst ein globales Paket wiederzufinden.
    Wenn dem so ist (z.B. `kpsewhich scrartcl.cls' liefert nichts), dann kannst Du den obigen unset/texhash in jedem Fall ausprobieren (und danach erstmal wieder kpsewhich mit globalem und lokalem Paket aufrufen).
    Wenn das geklappt hat, dann kannst Du immer noch nachfragen, in welcher Datei $TEXINPUTS überhaupt gesetzt wurde (sonst ist die Änderung nach'm reboot ja wieder hinfällig).
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    EDIT (drei Stunden später):

    Des Rätsels Lösung ist, dass kpathsea oder tetex, aus Gründen, über die ich noch keine Doku gefunden habe, nur Dateien berücksichtigt, die in einem ordentlichen Verzeichnisbaum liegen.

    Ich hatte meine Datei localer.sty einfach in $HOME/texmf geworfen. Dort wird sie zwar für die Datenbank gefunden (ls-R), aber von sonst garnix.

    Als ich meine Datei abgespeichert habe unter $HOME/texmf/tex/latex/,
    war nach einem texhash alles in Ordnung. Also: Tetex oder kpathsea erwartet auch lokal Ordnung und Ahnung. Anfängerfreundlich ist das natürlich nicht. Beim lesen habe ich dann entdeckt, dass es für Fonts besondere Regeln gibt, um sie lokal abzuspeichern. Mist, verdammter ...
    So, und hier der alte Text:

    ------------

    Hallo Rainer,

    auch nach unset TEXINPUTS als user wie auch als root, gefolgt von texhash findet kpsewhich die lokale Datei nicht.

    Ich habe das System nicht eingerichtet, sondern es ist original Suse 10.0. So ein Käse.

    Ich werde mich jetzt zuerst schlau machen müssen, wie TEXINPUTS und texmf.cnf sich verhalten müßten, dann, welche Umbauten Suse daran vorgenommen hat, und wie ich das fixe. Mann, was ein Haufen überflüssiger Arbeit.

    Vielleicht installiere ich auf dem nächsten Rechner die Tex-live-DVD von Dante einfach parallel. Solche proprietären Lösungen wie die von Suse sind unbrauchbar.

    Aber zunächst muß ich zumindest alle Schriften finden, die ich mühsam installiert habe und wenigstens die Dateien auf den nächsten Rechner übertragen.

    Herzlichen Dank für Deine Hilfe,

    Gruß,
    Alexander
    Geändert von cookie170 (15-10-2006 um 21:02 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •