Link auf lokale Datei mit Umlaut

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Herr-Zinfarkt
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 30. Aug 2010, 20:41

Link auf lokale Datei mit Umlaut

Beitrag von Herr-Zinfarkt »

erstmal ein herzliches hallo an die golatex-community!

ich habe vor ein paar tagen beschlossen meine diss ab jetzt mit latex zu schreiben. zwar ist aller anfang schwer, aber ich glaube am ende wirds einfach mit latex besser und das ein oder andere feature läuft ja auch schon :-)

nun zu meinem problem:

ich würde gerne auf eine lokale datei verlinken, das klappt auch soweit ganz gut. sobald der dateiname allerdings einen umlaut enthält, klappt das ganze nicht mehr.

ich arbeite an einem mac und hab utf8 eingestellt. ansonsten läuft mit den sonderzeichen alles rund. nur eben ein link wie
\href{./Quellen/Lächeln.pdf}{Lächeln}
spuckt im Text zwar "Lächeln" aus, aber beim anklicken tut sich nichts.
änder ich den Dateinamen in "Laecheln.pdf" und passe den Link entsprechend an, klappt alles...
hat jemand zufällig einen tipp? habe ich irgend etwas übersehen? oder kann mir jemand sagen, was latex aus dem "ä" macht? evtl. könnte man dann die dateien anpassen...

PS: ich kann den Linktext nicht einfach ändern, da dieser sich aus meinem Text ergibt und dabei eben ab und an ein Umlaut drin vorkommt.

Herr-Zinfarkt
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 30. Aug 2010, 20:41

Beitrag von Herr-Zinfarkt »

...mir schwirrt noch ein anderer ansatz im kopf herum. gibt es bei latex einen befehl mit dem man sich sonderzeichen umwandeln lassen oder diese entfernen kann? so etwas wie str_replace oder htmlentities bei php!?

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Zu deiner zweiten Idee kann ich nichts sagen, aber um Umlaute verfügbar zu machen (wenns denn unbedingt sein muss), gibt es mehrere Möglichkeiten:
- Paket "grffile"
- den Dateinamen/-pfad als String definieren:
\includegraphics{\string"C:/Dokumente und Einstellungen/All Users/Dokumente/Eigene Bilder/Beispielbilder/Sonnenuntergang\string"}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Xenara hat geschrieben:- den Dateinamen/-pfad als String definieren:
\includegraphics{\string"C:/Dokumente und Einstellungen/All Users/Dokumente/Eigene Bilder/Beispielbilder/Sonnenuntergang\string"}
Hier wird nicht der Dateinamen als String definiert, sondern das Anführungszeichen. Damit wird verhindert, dass ein ggf. aktives Anführungszeichen expandiert wird. Ein ähnliches Problem gibt es auch bei Umlauten. Dort ein \string davor zu setzen funktioniert aber nur, wenn das Encoding zufällig passt. Das Encoding ist generell ein Problem bei Umlauten in Dateinamen.

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

@Koma: Soweit ich verstanden hatte, sorgt das "string" dafür, dass die Leerzeichen als Bestandteil des Pfads erkannt werden, da das sonst ein Problem mit "Dokumente und Einstellungen" gibt.
Ist das falsch?

Und ist dann Paket grffile besser geeignet?

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

\string ist eine TeX-Primitiv, das Auswirkungen auf den \catcode des nächsten Zeichens hat. Im konkreten Fall wird damit, wie ich schon geschrieben habe, dafür gesorgt, dass " eben garantiert nicht aktiv ist (was es bei \usepackage[ngerman]{babel} beispielsweise wäre). Damit steht der Dateiname dann in Anführungszeichen. Erst damit ändert sich dann die Interpretation von Dateinamen.

TeX selbst würde das beispielsweise bei \input oder \openin eigentlich gar nicht interessieren. Für TeX endet ein Dateinamen immer beim ersten space-Token. pdfTeX arbeitet bei seinen eigenen Primitiven, die beispielsweise für die Einbindung von externen Bildern verwendet werden, anders. Außerdem gibt es TeX-Implementierungen, die auch bei den TeX-Primitiven (also u. a. \input und \openin, aber auch \openout) Dateinamen in Anführungszeichen anders behandeln.

Einige Dinge zu Dateinamen auch mit Unterscheidung von TeX-Eigenschaften und implementierungsabhängigen Eigenschaften, habe ich übrigens schon vor einiger Zeit im Wiki zusammengestellt. Regel 1 beschäftigt sich dort übrigens mit Leerzeichen, Regel 3 mit Umlauten und die Abweichungen mit Sonderfällen wie grffile oder ".

Antworten