Verweise auf Teile einer Grafik, verweissensetive Grafiken
Verweise auf Teile einer Grafik, verweissensetive Grafiken
Hallo beisammen,
kennt jemand ein Paket oder eine andere Möglichkeit, um in einem Latexdokument (Ziel pdf) auf einen Teil einer Grafik zu Verweisen?
Vielleicht gibt es ja auch die Möglichkeit, auf ein unsichtbares (z.b. vom Bild überlagertes) Objekt zu verweisen?
viele Grüße,
Flo
kennt jemand ein Paket oder eine andere Möglichkeit, um in einem Latexdokument (Ziel pdf) auf einen Teil einer Grafik zu Verweisen?
Vielleicht gibt es ja auch die Möglichkeit, auf ein unsichtbares (z.b. vom Bild überlagertes) Objekt zu verweisen?
viele Grüße,
Flo
Grundsätzlich will ich eigentlich zwei Dinge erreichen:
a) der Leser klickt auf einen Verweis im Text und springt an die entsprechende Stelle in einer Grafik. D.h. ist der Zoom z.B. auf 1000% gestellt, ist eben nur der entsprechende Teil der Grafik zu sehen.
b) der Leser klickt auf den Bereich in der Grafik (z.B. in einem Blockschaltbild) und springt damit zur entsprechenden Textstelle (z.B. die Erklärung des Blocks)
Flo
a) der Leser klickt auf einen Verweis im Text und springt an die entsprechende Stelle in einer Grafik. D.h. ist der Zoom z.B. auf 1000% gestellt, ist eben nur der entsprechende Teil der Grafik zu sehen.
b) der Leser klickt auf den Bereich in der Grafik (z.B. in einem Blockschaltbild) und springt damit zur entsprechenden Textstelle (z.B. die Erklärung des Blocks)
Flo
- bloodworks
- Moderator
- Beiträge: 1425
- Registriert: Mo 19. Jan 2009, 10:52
- Wohnort: /dev/null
\documentclass{scrbook} \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[latin1]{inputenc} %Standardheader \usepackage{tikz} % zum zeichnen \usepackage{graphicx} % zum Bilder einfügen \usepackage{hyperref} % Für pdflinks etc... \begin{document} % Dokumentenkörper TEXT \hyperlink{linkname}{ich bin ein link} TEXT \begin{figure} \begin{tikzpicture} \node at (0,-3){\hypertarget{linkname}{ hallo}}; \node at (0,0) [inner sep=0pt, text width=\linewidth] {\includegraphics[width=\textwidth]{bild.jpg}}; \end{tikzpicture} \caption{ich bin einfach nur ein text } \end{figure} \end{document}
Damit kannst du zu einer beliebigen Stelle springen. Das Bild überlagert die node mit dem target. Vorsicht: zumindest bei meinem Betrachter stellt er das Ziel ganz oben an den Rand des Betrachters. DH die node kann nicht immer unbedingt unter dem Tatsächlichen Ziel auf dem Bild liegen. -> Ausprobieren. Das mit dem Zoom geht imho nur mit JavaSkript, aber das würde ich wirklich nit empfehlen, da unschön und vorallem ärgerst du die Leser, wenn die Zoomeinstellung des Viewers sich immer verstellt. grz
PS: das ist sicher nicht die eleganteste Lösung aber sicher ne schnelle...
Das geht bei mir nicht. Wenn ich auf einen Verweise im Text klicke, dann ändert der Adobe Reader immer den Zoom-Faktor, so dass die Grafik, in die der Link verweist, komplett zu sehen ist.Flo75 hat geschrieben:a) der Leser klickt auf einen Verweis im Text und springt an die entsprechende Stelle in einer Grafik. D.h. ist der Zoom z.B. auf 1000% gestellt, ist eben nur der entsprechende Teil der Grafik zu sehen.
Also, ich habe da mal was vorbereitet: `zoomtest.tex'. Es hat zwar eine Weile gedauert, aber es kommt ganz ohne JavaScript aus.Flo75 hat geschrieben:Grundsätzlich will ich eigentlich zwei Dinge erreichen:
a) der Leser klickt auf einen Verweis im Text und springt an die entsprechende Stelle in einer Grafik. D.h. ist der Zoom z.B. auf 1000% gestellt, ist eben nur der entsprechende Teil der Grafik zu sehen.
b) der Leser klickt auf den Bereich in der Grafik (z.B. in einem Blockschaltbild) und springt damit zur entsprechenden Textstelle (z.B. die Erklärung des Blocks)
Flo
Die Anweisungen zwischen den langen Kommentarzeilen `%%%%%...' definieren 3 Befehle:
\marklowerleft{<label>}
\markupperright{<label>}
\zoomto{<label>}{<Linktext>}
Klickt man auf den <Linktext>, wird der vereinbarte Bildausschnitt soweit vergrößert, dass er noch ins Ausgabefenster des PDF-Betrachters passt.
Klickt man dann auf den vergrößerten Bildausschnitt, springt der PDF-Betrachter wieder zurück in den Text. Der Zoomfaktor wird dabei soweit zurückgesetzt, dass die Seitenbreite des Dokuments in das Ausgabefenster passt.
Im Beispiel habe ich \marklowerleft und \markupperright mit Hilfe der `overpic'-Umgebung auf einem eingebundenen Bild platziert. Die Option `grid' der overpic-Umgebung erleichtert das Auffinden der Eckpunktskoordinaten. Man kann \marklowerleft und \markupperright natürlich auch innerhalb einer tikzpicture-Umgebung verwenden.
Das ganze habe ich im AdobeReader getestet. Andere Betrachter sollten aber auch funktionieren.
Wichtig: Man muss `pdflatex' mindestens zwei Mal laufen lassen, damit die Referenzen aufgelöst werden.
Die Bilddatei `tiger.pdf' sowie das übersetzte Beispiel `zoomtest.pdf' und dessen Quelltext sind angehängt.
Alexander
zoomtest.tex:
\documentclass{article} \usepackage[abs]{overpic} \usepackage[pdfstartview=FitH]{hyperref} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \makeatletter \InputIfFileExists{\jobname.zom}{}{} \newwrite\zoomdat \immediate\openout\zoomdat=\jobname.zom \def\marklowerleft#1{% \pdfsavepos% \write\zoomdat{% \string\expandafter\string\def\string\csname\space #1.llx\string\endcsname{% \the\pdflastxpos}% \string\expandafter\string\def\string\csname\space #1.lly\string\endcsname{% \the\pdflastypos}% }% \ifcsname #1.llx\endcsname\ifcsname #1.urx\endcsname% \pdfdest name {#1.to} fitr width \numexpr \csname #1.urx\endcsname-\csname #1.llx\endcsname\relax sp height \numexpr \csname #1.ury\endcsname-\csname #1.lly\endcsname\relax sp \immediate\pdfannot width \numexpr \csname #1.urx\endcsname-\csname #1.llx\endcsname\relax sp height \numexpr \csname #1.ury\endcsname-\csname #1.lly\endcsname\relax sp {% /Subtype/Link/H/N/Dest (#1.back) /Border [0 0 0] }% \fi\fi% } \def\markupperright#1{% \pdfsavepos% \write\zoomdat{% \string\expandafter\string\def\string\csname\space #1.urx\string\endcsname{% \the\pdflastxpos}% \string\expandafter\string\def\string\csname\space #1.ury\string\endcsname{% \the\pdflastypos}% }% } \def\zoomto#1#2{% \leavevmode% \raisebox{\baselineskip}[0pt][0pt]{\pdfdest name {#1.back} fith}% \pdfstartlink user {% /Subtype /Link /Border [\@pdfborder]% /C [\@linkbordercolor]% /H/N% /Dest (#1.to)% }\strut#2% \pdfendlink% } \makeatother %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} Das \zoomto{auge}{Auge} des Tigers. \begin{center} \begin{overpic}[grid,scale=0.5,unit=1bp]{tiger.pdf} \put(110,180){\marklowerleft{auge}} \put(140,200){\markupperright{auge}} \end{overpic} \end{center} \end{document}
- Dateianhänge
-
- zoomtest.tex
- Quelltext des Beispiels.
- (1.89 KiB) 543-mal heruntergeladen
-
- zoomtest.pdf
- Fertig übersetztes Beispiel.
- (43.42 KiB) 454-mal heruntergeladen
-
- tiger.pdf
- Bilddatei
- (33.61 KiB) 342-mal heruntergeladen