Keine Hyperref Funktion in externer TikZ-Grafik

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


davidgrill's
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Sa 22. Dez 2018, 18:55

Keine Hyperref Funktion in externer TikZ-Grafik

Beitrag von davidgrill's »

Hallo Freunde,

ich würde gerne Links in externalisierten TikZ-Grafiken nutzen.
Wenn ich nicht externalsiere klappen die Links.
Wenn die Grafik aber ausgelagert wird, klappen die Links nicht mehr.
Aus dem TikZ-Manual bin ich nicht ganz schlau geworden.
Dort wird gesagt, dass mit list and make Funktion mehr klappt und es wird beschrieben, dass bei externalisierten Grafiken aux files erzeugt werdenn, die in die Hauptauxdatei kopiert wird, aber trotzdem klappt es bei dem Beispiel nicht.

Hat jemand einen Plan?
Oder ist das texnisch unmöglich?

Ich habe shell-escape aktiviert.
Dies klappt auch normal.

\documentclass{article}
\usepackage{hyperref}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[mode=list and make]
\begin{document}
\begin{tikzpicture}
  \node {root}
    child {node {\ref{eq:einstein}left}}
    child {node {right}
    };
\end{tikzpicture}

Gleichung Nr.\ref{eq:einstein}.
\newpage
\begin{equation}
 \label{eq:einstein}
 E = m \cdot c^2
\end{equation}
\end{document}
Dateianhänge
tikz-external-test-figure0.pdf
In der erzeugten TikZ- Grafik wird der erste Link erzeugt.
(12.15 KiB) 346-mal heruntergeladen
tikz-external-test.pdf
Im Hauptdokument ist der erste Link verschwunden.
(36.65 KiB) 340-mal heruntergeladen
Zuletzt geändert von davidgrill's am Sa 22. Dez 2018, 19:51, insgesamt 1-mal geändert.

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Hallo,

so ganz ist mir nicht klar, was Du willst.

Vorab eine Vermutung, bzw. zwei Fragen:

1. Hast Du system commands erlaubt (shell-escape)?

2. Was steht denn in der log-Datei?

Gruß vom Rolli

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Wenn du Bilder mit \includegraphics einfügst (und das passiert beim Externalisieren), gehen die Annotationen (Links) verloren. Theoretisch kann man die wieder einfügen, siehe z.B https://tex.stackexchange.com/a/44104/2388
aber ob und wie gut es funktioniert weiß ich nicht.

davidgrill's
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Sa 22. Dez 2018, 18:55

Beitrag von davidgrill's »

Danke für die Hinweise.
Aber in der TikZ- Doku steht dass ref und label klappen
(50.4.1 Support for Labels and References In External Files).
Ich denk da immer auch am hyperref aber das zählt da nicht zu?

Gast

Beitrag von Gast »

\label und \ref in ihrer Kernfunktionalität, also der korrekten Erstellung von Querverweisen, funktionieren auch. Du siehst das selbst insofern als das \ref{eq.einstein} tatsächlich den korrekten Text ausgibt.

Was nicht funktioniert sind, wie von Ulrike erwähnt, alle Arten von Annotationen und dazu gehören Sprünge, Bookmarks, Mausaktionen etc. irgendwo innerhalb der Abbildungen. Wenn du so etwas brauchst, solltest du externalize für dies jeweilige Abbildung deaktivieren. Bei Verwendung von lualatex sollte das kein Problem sein, kostet aber natürlich Rechenzeit.

davidgrill's
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Sa 22. Dez 2018, 18:55

Beitrag von davidgrill's »

Vielen Dank für die Erklärungen.

Es ist so, dass ich einige Plots von matlab2tikz verwende, die den TeX-Speicher so ausreizen, dass ich zum externalisieren gezwungen bin.

Ich habe gehört, dass man den Speicher auch erweitern kann, aber auch da wird es ein Limit geben, was man nach ein paar weiteren Diagrammen erreicht, oder?
Geht es dabei um verbauten Arbeitsspeicher?

Gibt es bei LuaLaTeX kein Speicherlimit?
Kann man da unbegrenzt reinhauen und das kompilieren dauert dann einfach ne stunde oder so? Wieso geht das bei PdfLaTeX nicht?

Ich habe das mit dem pax-Paket von Ulrike getestet, aber dadurch habe ich nicht hinbekommen Verlinkungen der Grafiken ins Hauptdokument herzustellen.

Gast

Beitrag von Gast »

Bei lualatex gibt es keine festen Speicherarrays. Damit ist der Speicher nur vom System begrenzt. Siehe auch https://texwelt.de/wissen/fragen/5868/w ... nd-xelatex und https://texwelt.de/wissen/fragen/70/was-ist-luatex.

Man kann aber auch bei pdflatex zusätzlichen Speicher allozieren. Nur muss man das bereits beim Aufruf machen. Siehe dazu das pdftex-Manual bzw. die Anleitung der verwendeten TeX-Distribution.

Antworten