Seite 1 von 1

absolute Pfadangaben

Verfasst: Di 28. Sep 2010, 10:08
von schmendrich
Hallo,

ich habe TexLive2010 unter Linux installiert und erstmals einen lokalen texmf-Baum.

In meinem lokalen texmf-Baum habe ich ein eigenes Stylefile. In dem Stylefile werden auch Logos eingebunden, die bisher immer im gleichen Verzeichnis wie das Stylefile lagen (unter /user/local.../texmf-dist/... usw) Der Pfad wurde also absolut angegeben.

Nun habe ich das Stylefile im lokalen texmf-Baum liegen und die Logos wieder im gleichen Verzeichnis gespeichert - aber ich muss die Pfadangaben anpassen.

Die Tilde als Angabe für das Homeverzeichnis habe ich schon in /home/username geändert. Im Augenblick sieht der Pfad so aus:

\includegraphics[height=1cm]{/home/username/.texmf/tex/unterverzeichnis/logo.png}

Das lokale texmf Verzeichnis ist versteckt, deswegen der Punkt.
Beim kompilieren bekomme ich nun folgende Fehlermeldung:

Dateiname.tex:80:Package pdftex.def Error: File `\unhbox \voidb@x \penalty \@M \ /home/username/. \end{aktennotiz}

aktennotiz ist Teil meines Stylefiles.

Bevor ich alles ins lokale Verzeichnis geschoben habe, trat dieser Fehler nicht auf. Erkennt jemand einen Fehler in der Pfadangabe?

Gruß
schmendrich

Verfasst: Di 28. Sep 2010, 11:03
von KOMA
graphics mag es nicht, wenn in einem Dateinamen mehrere Punkte sind. Das macht aber nichts. Denn wenn Du die Datei korrekt in einem lokalen TEXMF-Baum ablegst, dann brauchst Du überhaupt keine Pfadangabe.

Nehmen wir also an, dass
kpsewhich -var-value=TEXMFHOME
Dir das Ergebnis: »/home/username/.texmf« liefert. Wenn Du nun die Abbildung »logo.png« als »/home/username/.texmf/tex/latex/meinebilder/logo.png« speicherst, dann findet \includegraphics{logo} diese Datei auch.

Sollte das nicht der Fall sein, dann ist TeX eventuell so konfiguriert, dass auch TEXMFHOME nicht durchsucht wird, sondern über ls-R darauf zugegriffen wird. Normalerweise ist das aber nicht der Fall. Erkennen kann man das daran, dass bei der Ausgabe von
kpsewhich -var-value=TEXMF
vor dem entsprechenden Pfad noch zwei Ausrufezeichen stehen. Falls das der Fall ist, dann und nur dann muss man für dieses Verzeichnis noch texhash aufrufen.

Verfasst: Di 28. Sep 2010, 13:20
von schmendrich
Wunderbar, es geht. Einfach ohne Pfadangabe im sty-file.
kpsewhich -var-value=TEXMF 


führt allerdings zu folgender Ausgabe
{/home/username/.texlive2010/texmf-config,/home/username/.texlive2010/texmf-var,/home/username/.texmf,!!/usr/local/texlive/2010/texmf-config,!!/usr/local/texlive/2010/texmf-var,!!/usr/local/texlive/2010/texmf,!!/usr/local/texlive/2010/../texmf-local,!!/usr/local/texlive/2010/texmf-dist}
Also zwei Ausrufezeichen vor jeder Menge Pfaden. Du meinst, texhash im für jedes Verzeichnis - also als root in das Verzeichnis wechseln und texhash aufrufen?

Verfasst: Di 28. Sep 2010, 15:04
von KOMA
schmendrich hat geschrieben:
kpsewhich -var-value=TEXMF 


führt allerdings zu folgender Ausgabe
{/home/username/.texlive2010/texmf-config,/home/username/.texlive2010/texmf-var,/home/username/.texmf,!!/usr/local/texlive/2010/texmf-config,!!/usr/local/texlive/2010/texmf-var,!!/usr/local/texlive/2010/texmf,!!/usr/local/texlive/2010/../texmf-local,!!/usr/local/texlive/2010/texmf-dist}
Also zwei Ausrufezeichen vor jeder Menge Pfaden. Du meinst, texhash im für jedes Verzeichnis - also als root in das Verzeichnis wechseln und texhash aufrufen?
Wie kommst Du denn darauf? Der Pfad bei dem Du etwas hinzugefügt, an dessen Inhalt Du also etwas geändert hast, ist doch /home/username/.texmf und da stehen keine Ausrufezeichen davor. Also wird der tatsächlich durchsucht und nicht nur in ls-R geschaut, um zu sehen, ob die gesuchte Datei darin sein müsste.

Als weiterführende Literatur empfehle ich, die in den Links zum passenden Wiki-Eintrag angegebene weiterführende Literatur.

Verfasst: Di 28. Sep 2010, 15:30
von schmendrich
Hm, ich dachte, daß die Ausrufezeichen vor den anderen Pfadangaben ähnlich "negativ" zu sehen wären, wie Ausrufezeichen vor meinem lokalen Pfad.

Ich danke Dir.

schmendrich