4
1

In einem PDF-Dokument möchte ich auf externe Dateien verweisen und sie ggf. mit dem passenden Reader öffnen lassen. Das können beispielsweise PDF- oder Textdateien sein.

Ich habe gelesen, dass es mit run: geht. Es klappt jedoch nicht mit dem Backslash bei Unterverzeichnissen und für UNC-Namen, also Dateien auf Netzwerk-Shares, die man mit \\Server\Pfad\Dateiname anspricht. Hier der Test mit lokaler Freigabe:

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{run:\\127.0.0.1\temp\test.txt}{Textdatei}
\end{document}

Ich erhalte den Fehler:

! Undefined control sequence.
<argument> run:\\127.0.0.1\temp 
                                \test .txt
l.4 \href{run:\\127.0.0.1\temp\test.txt}
                                        {Textdatei}

Was muss ich anders machen?

gefragt 07 Jan '14, 15:46

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%

Hallo,

kann es sein, dass es bei der Erstellung des Dokuments (mit \href{}{}) aus Latex heraus bei der Nutzung dieses auf unterschiedlichen Betriebsystemen Probleme macht (Linux Latex, Windows Dokumentnutzung mit Link)? Ich erstelle das Dokument mit Latex aus Linux heraus, will den Link in der pdf mit Adobe unter Windows nutzen? Das klappt bei mir so nicht. Link ist für Windowswelt aufgebaut, nur meldet Adobe, für Windows typisch, dass per / kein Zugriff auf Filesystem möglich ist, im Gegensatz zu \.

Gruß Markus

(07 Jan '14, 17:26) mgolbs

Hallo, das Problem scheint an den unterschiedlichen Betriebsystemen (Windows Unix) und der Bedeutung von Slash und Backslash zu liegen. Das Texdokument ist für mich zweitrangig, die entstandene pdf zählt. Unter rein Unix/Linux klappt das mit dem href{}{} problemlos. Eine reine Windowslösung kann ich nicht prüfen, da ich kein Latex unter Windows habe. Kann es sein, dass die href in der pdf schon irgend wie auf das Betriebssystem "gebogen" wird? Gruß Markus

(09 Jan '14, 11:10) mgolbs

Hallo,...Wenn nicht müsste der pdf Reader ja erkennen ob der betriebsystemunabhängig integrierte Link (per href{}{}) bei Verwendung unter Windows auf \IPSharefile. gebogen wird oder für Linux auf "//IP/Share/file."...

Gruß Markus

(09 Jan '14, 11:11) mgolbs

@Markus PDF ist portabel, systemunabhängig, es hat eine eigene Syntax (siehe Externe Verlinkung im PDF prüfen) - ein run:-Link würde beispielsweise so aussehen: /Subtype/Link/A<</F(/127.0.0.1/temp/test.txt)/S/Launch>> Prüfe das mal (mit \pdfobjcompresslevel=0\relax, siehe Link zur anderen Frage). Der Betriebssystem-spezifische Reader interpretiert das dann und verwendet selbst ggf. Backslashes in der Schnittstelle zu Windows.

(09 Jan '14, 11:59) Student

Statt Backslash \ muss man den Slash / verwenden, da der Backslash bei LaTeX Befehle einleitet.

Das funktioniert:

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{run:/127.0.0.1/temp/test.txt}{Textdatei}
\end{document}
Permanenter link

beantwortet 07 Jan '14, 15:47

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%

Ich würde gerne mit \url den Link auf eine Datei (.gitignore) auf einem Server verlinken, leider öffnet sich die Datei nicht.

Im Explorer funktioniert es mit \\shares.xxx.de\yyy\.gitignore In meinem LaTeX-Dokument funktioniert es leider nicht mit \url{run:/shares.xxx.de/yyy/.gitignore}

Woran kann das liegen? (Windows 7)

Grüße

(24 Jan '14, 15:33) Seban
2

@Seban Teste mal wie oben mit hyperref und \href. \url erzeugt keinen Link, sondern formatiert ihn. Man könnte es glauben, weil manche Reader automatisch http://-Wörter zu Links machen.

(24 Jan '14, 15:55) Student

@Student So geht es. Es war in der Tat als Link angezeigt, aber eben ohne bei Klick die Datei zu öffnen. Vielen Dank!

(24 Jan '14, 17:16) Seban

Hallo,

wenn es hilft, ich habe auch viel damit gespielt und wollte ein Script aus dem PDF aufrufbar machen. Z.B. so:

Öffne in Overleaf
\href{file://///servername/hidden-share%24/test.cmd}{Link zum Scpript}

Problem: Der Acrobat-Reader verhindert das Ausführen durch seine Sicherheitseinstellungen. Mit PDF X-Change aber funktionierte es. Da die meisten aber den Adobe Reader nutzen, habe ich ein Link zum Ordner implementiert:

Öffne in Overleaf
\href{file://///servername/hidden-share%24/.}{Link zum Ordner}

Dazu foldende Erkenntnisse

1) file:///// ist nötig, damit Latex mit dem UNC-Pfad klar kommt, auch wenn es seltsam aussieht 2) Damit der Link zu hidden-share$ korrekt umgesetzt wird, musste $ mit %24 codiert werden 3) der Punkt hinter dem Share (hidden-share%24/.) wirkt als file-extension, da sonst automatisch ein PDF vermutet wird.

HTH, Thomas

Permanenter link

beantwortet 30 Aug '18, 12:31

Thomasle's gravatar image

Thomasle
1
Akzeptiert-Rate: 0%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×62
×1

gestellte Frage: 07 Jan '14, 15:46

Frage wurde gesehen: 19,236 Mal

zuletzt geändert: 30 Aug '18, 12:31