Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Grafiken nicht gefunden - TEXINPUTS?

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.06.2011
    Beiträge
    3

    Grafiken nicht gefunden - TEXINPUTS?

    Latex meldet den Fehler, dass er die Grafiken nicht finden kann.

    Ich habe die Grafiken in einem separaten Ordner im Home-Verzeichnis
    nach ihren Suffix in verschiedenen Ordnern sortiert.

    Unter Kile konnte ich im Editor unter TEXINPUTS folgendes eintragen, damit es funktionierte:

    Code:
    ~/texlive/2010/texmf-home//
    Nun arbeite ich unter Ubuntu 11.4 mit Texmaker und frage mich, was ggf. unter
    .profile eingetragen sein muss, damit LaTeX wieder meine Bilder findet.

    So etwas wie (bin jetzt auf texlive 2011 umgestiegen)

    Code:
    export TEXINPUTS=/home/olaf/texlive/2011/texmf-home//
    funktioniert nicht.

    Bin für jede Hilfe dankbar! \graphicspath{} will ich definitiv vermeiden!

    Grüße Olaf, der den Wald vor Bäumen nicht findet ...

  2. #2
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Am einfachsten legst Du die Grafiken im richtigen Verzeichnis in TEXMFHOME ab. Vorausgesetzt
    Code:
    kpsewhich -var-value=TEXMFHOME
    gibt etwas nicht leeres aus, kannst Du Dein jetziges Grafikverzeichnis beispielsweise in TEXMFHOME mit
    Code:
    mkdir -p `kpsewhich -var-value=TEXMFHOME`/tex/generic
    ein passendes Verzeichnis anlegen und dorthin dann mit
    Code:
    cp -r FOO `kpsewhich -var-value=TEXMFHOME`/tex/generic/
    Dein Grafikverzeichnis dort hin kopieren. Bitte FOO durch Dein Grafikverzeichnis ersetzen! Statt generic kann man auch latex verwenden. In dem Fall sind die Grafiken dann eben nur für LaTeX und nicht bei Verwendung von plainTeX oder ConTeXt oder einem anderen Format ebenfalls vorgesehen. Da die Grafiken selbst etwas eher allgemeines sind, würde ich generic empfehlen.

    Näheres zum Aufbau der Verzeichnisstrukturen ist der tds-Doku zu entnehmen. Da ich diese in TeXLive 2010 nicht finden kann, hier der der Link auf die Anleitung auf CTAN: http://mirror.ctan.org/tds/tds.pdf. Näheres zu den unterschiedlichen TEXMF-Variablen ist
    Code:
    texdoc kpathsea
    zu entnehmen. Darin ist auch TEXINPUTS erklärt.

    Ansonsten:
    Code:
    export TEXINPUTS="FOO:`kpsewhich -var-value=TEXINPUTS`"
    .profile wird übrigens normalerweise nur von einer login shell ausgeführt. Bei einer normalen bash ist beispielsweise .bashrc zuständig. Aber das ist dann eine Frage für das Linux-Forum …
    Geändert von Schweinebacke (21-07-2011 um 08:32 Uhr) Grund: Sorry, muss natrlich TEXINPUTS heißen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.06.2011
    Beiträge
    3
    Danke für deine Anregungen!

    1) die .profile scheint zu funktionieren, da latex ja ausgeführt wird.
    Zudem habe ich mich hier an die Ausführungen von Rolf Niepraschk aus der
    Dante-Ausgabe 2009/2 zur texlive-Installation gehalten; womit die texlive 2010
    für mich auch in Gänze installierbar war -- bis auf das Setzen der Umgebungsvariablen, was für mich wie oben bereits beschrieben Kile übernommen hat.

    2) Deine Ausführungen klingen plausibel, nur möchte ich auch den Suchmechanismus
    von kpathsea verstehen. Daher sollte auch so etwas wie

    Code:
    TEXINPUTS=/home/olaf/texlive/2011/texmf-home//
    möglich sein.
    (Verwende die Dokumentation von Uwe Ziegenhagen zur texlive 2011)

    3) kpsewich zeigt auch auf dieses Verzeichnis, wie von Dir angedeutet.

    4) Habe festegestellt, dass beim Erstellen von ls-R-Datenbanken durch mktexlsr, der Pfad
    /home/olaf/texlive/2011/texmf-home/ nicht berücksichtigt wurde.

    Für mich bleibt die Sache noch ungeklar ...

    An versch. Stellen habe ich hier im Forum zu TEXINPUTS was lesen können, aber nie richtg konkret.

    Oder soll ich doch Einträge in der texmf.cnf vornehmen?

  4. #4
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Wenn Du TEXINPUTS nur auf ein einziges Verzeichnis setzt, wird auch nur darin (bzw. in dessen Unterverzeichnissen) gesucht. In dem Fall wird nicht einmal mehr, das aktuelle Verzeichnis nach den Dateien durchsucht. Deshalb solltest Du TEXINPUTS, beispielsweise wie von mir gezeigt, besser erweitern. Näheres steht in der von mir bereits erwähnten kpathsea-Anleitung, die Du lesen solltest, wenn Du kpathsea verstehen willst.

    Die Original-Voreinstellung von TEXNPUTS für latex kannst Du übrigens den texm.cnf-Dateien entnehmen, die bei Dir eingebunden werden:
    Code:
    kpsewhich -a texmf.cnf
    Dass bestimmte TEXMF-Bäume nicht per lsr-Datei erfasst werden, ist gewollt. Sozusagen, um es etwas narrensicherer zu machen, ist TEXMFHOME in texmf.cnf üblicherweise so definiert, dass der entsprechende Ast des Baums immer komplett durchsucht wird, statt in ihm nur per lsr zu suchen. Wie man das macht, ist ebenfalls in den von mir angegebenen Anleitungen dokumentiert.

  5. #5
    Registrierter Benutzer
    Registriert seit
    19.06.2011
    Beiträge
    3
    ... das ist schon richtig!

    Nun steht in der Anleitung auch, dass die lsR-Datenbanken statt einer rekursiven Abfrage
    schneller sind. Eine Einschränkung für den TEXMFHOME-Zweig ist mir nicht bekannt
    und ich meine mich daran zu erinnern, dass ich damals unter Suse 10.0 die
    lsR-Datenbanken auch unter dem obigen HOME-Zweig erstellen konnte.

    Folgendes hat die Lösung gebracht: Neben den üblichen (drei) Eintragungen in der .profile habe ich

    Code:
    export TEXINPUTS=/home/olaf/texlive/2011/texmf-home//:$TEXINPUTS
    eingetragen, womit nun meine dortligen Unterverzeichnisse ebenfalls abgesucht werden.

    Ich danke nochmals, da die Anregungen mich auf die richtige Idee gebracht haben.

    Herzliche Grüße

    Olaf

  6. #6
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Zitat Zitat von Olaf Möller Beitrag anzeigen
    Nun steht in der Anleitung auch, dass die lsR-Datenbanken statt einer rekursiven Abfrage
    schneller sind.
    Logisch. Du kannst auch eine lsr-Datei für TEXMFHOME erstellen, nur ist das normalerweise nicht voreingestellt und wird deshalb nur dann gemacht, wenn Du das Verzeichnis bei texhash explizit angibst. Siehe dazu die texmf.cnf-Dateien Deines Systems und die bereits mehrfach angegebenen Dokus, die die Einstellungen in dieser Datei erklären.

    Zitat Zitat von Olaf Möller Beitrag anzeigen
    Code:
    export TEXINPUTS=/home/olaf/texlive/2011/texmf-home//:$TEXINPUTS
    Da fehlen die Anführungszeichen für den Fall, dass in TEXINPUTS bereits Leerzeichen enthalten sind. Siehe dazu noch einmal meinen ersten Kommentar.

    BTW: Mit dieser Änderung wird das aktuelle Arbeitsverzeichnis nach /home/olaf/texlive/2011/texmf-home// durchsucht. Du solltest dieses also ggf. noch einmal vorne dran stellen.

Lesezeichen

Berechtigungen

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