Verweis auf Seiten mit \includepdf eingefügt

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


p.nietnagel
Forum-Anfänger
Forum-Anfänger
Beiträge: 32
Registriert: Mi 17. Jun 2009, 23:56

Verweis auf Seiten mit \includepdf eingefügt

Beitrag von p.nietnagel »

Hallo,

ich habe in mein Dokument ein paar Seiten mittels \includepdf eingefügt. Diese mit Hilfe von der Option linkname als Bookmarks erscheinenzu lassen, hat prima funktioniert.
Allerdings funktioniert es nicht, an einer anderen Stelle im Dokument auf diese eingefügten Seite zu verweisen. Ich hab es mittels \hypertarget und \hyperlink versucht, da wird eine neue Seite eingefügt, auf der nur der Name des hypertargets steht. Das will ich ja nicht.
Dann hab ich \hyperlink versucht unter der Annahme, dass er auf den linknamen aus der Option von \includepdf verweist - geht auch nicht, dann springt er auf die erste Seite des Dokuments.
Dann hab ich versucht, ganz banal ein \label zu vergeben und darauf mit \hyperref zu verweisen - geht auch nicht.
Und jetzt bin ich mit meinem Latein am Ende.

Hat jemand einen Tipp, wie ich das lösen kann?

BTW, die bookmarks, die ich mittels \pdfbookmark gesetzt hab, springen nicht auf die richtige Stelle, sondern immer irggendwie ein bisschen oberhalb - also quasi schon auf der vorhergehenden Seite. Wie lässt sich das umgehen?


Vielen Dank im Voraus!


Viele Grüße,
P. Nietnagel

DonCube
Forum-Guru
Forum-Guru
Beiträge: 292
Registriert: So 29. Jun 2008, 21:17
Wohnort: Bocholt

Beitrag von DonCube »

Schwierig zu sagen woran das liegt. Ich habe das damals bei mir mit

Code: Alles auswählen

\label
gemacht. Hast du mal ein kurzes Beispiel was dein Problem aufzeigt?

DonCube
Schau mal hier rein goLaTeX-Wiki, und gaaaanz wichtig Minimalbeispiel

p.nietnagel
Forum-Anfänger
Forum-Anfänger
Beiträge: 32
Registriert: Mi 17. Jun 2009, 23:56

Beitrag von p.nietnagel »

Hi DonCube,

hier ist der Code in Kurzform(erstmal ein Blindtextdocument, um ein pdf zu erzeugen, aus dem man die seiten entnimmt)

Code: Alles auswählen

\documentclass[a4paper,12pt]{scrbook}
\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

\blinddocument

\end{document}
und hier mein Dokument, bei dem die Verlinkung nicht stimmt (es wird immer eine Seite vor die zu verlinkende Seite eingefügt, ich möchte aber direkt auf die eingefügte Seite verweisen).

Code: Alles auswählen

\documentclass[a4paper,12pt,oneside]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[american]{babel}
\setcounter{secnumdepth}{0}
\usepackage[%    
    colorlinks=true,  
    linktocpage=true,        
    bookmarks=true,         
    pdfpagemode=UseOutlines,  
    pdfpagelabels=true      
 ]{hyperref}
\usepackage{pdfpages}

\begin{document}
\section{Test Links}
\begin{tabular*}{\textwidth}{p{0.25\textwidth}@{\hspace{0.05\textwidth}}p{0.65\textwidth}}
				& \hyperref[TS]{\textbf{Test Section}} \\\cline{2-2}
				& \\
				& \\
				& \hyperlink{TestPagesonetwo}{\textbf{Test Pages}} \\\cline{2-2} 
				& \\
				& \\
				& \hyperlink{TestPagesonetwo}{Test Pages: 1 to 2}\\
				& \\
				& \hyperlink{Testpagesthreefour}{Test Pages: 3 to 4}\\
\end{tabular*}	

\clearpage

\section{Test Section}
\label{TS}

\pdfbookmark[1]{Test Pages: 1 to 2}{TestPagesonetwo}
\hypertarget{TestPagesonetwo}{Test Pages: 1 to 2}
\includepdf[pages={1-2},linkname=TestPagesonetwo.1]{Blinddocument.pdf}
%\label{TestPagesonetwo}
\pdfbookmark[1]{Test Pages: 3 to 4}{Testpagesthreefour}
\hypertarget{Testpagesthreefour}{Test Pages: 3 to 4}
\includepdf[pages={3-4},linkname=Testpagesthreefour.3]{Blinddocument.pdf}
%\label{Testpagesthreefour}
\end{document}

Mit \label funktioniert es leider nicht. Wo ist der Fehler versteckt?

Vielen Dank im Voraus für die Hilfe!

Viele Grüße,
P. Nietnagel

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2004
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

hyperlinks und pdfpages

Beitrag von Stefan Kottwitz »

Hallo,

setze die link-Option für \includepdf, gib geeignete Linknamen wie

Code: Alles auswählen

\includepdf[pages={1-2},link,linkname=TestPagesonetwo]{Blinddocument.pdf}
und verweise darauf mit

Code: Alles auswählen

\hyperlink{TestPagesonetwo.1}{Test Pages: 1 to 2}
also <linkname>.<Seite>.

Viele Grüße,

Stefan

scrattor

Beitrag von scrattor »

Hallo an alle!

Per Zufall bin ich auf diesen Thread gestoßen und hab eine hierzu passende Frage. Ich hätte im meinem mit tex erzeugten pdf einen klickbaren Verweis auf ein anderes pdf Dokument. Will heißen: Ich öffne eine PDF-Datei, die ich mit tex erzeugt habe und klicke nun auf bspw. die Zeile "`Beispiel Seiten 11"' und nun soll das PDF an der entsprechenden Stelle geöffnet werden auf dessen Seite und Beispiel ich verweise.

Ist das überhaupt - und wenn ja wie - möglich?

Falls jemand einen Rat hat, wäre ich dankbar.

MfG

Marco

Schweinebacke

Beitrag von Schweinebacke »

Wenn das zu referenzierende Dokument auf der gewünschten Seite ein Linkziel besitzt also eine URL dafür existiert und Du diese kennst dann sollte das mit hyperref (siehe \href und \hyperref in der Anleitung) möglich sein. Anderenfalls kannst Du nur auf das Dokument selbst verweisen (siehe ebenfalls \href und \hyperref in der hyperref-Anleitung).

Ich habe beispielsweise mal eben folgendes ausprobiert:

Code: Alles auswählen

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{file:///usr/local/share/texlive/2008/texmf-dist/doc/latex/hyperref/manual.pdf#page.12}{Test}
\end{document}
Wenn ich das mit pdflatex bearbeite, das Ergebnis-PDF mit xpdf öffne und dann auch "Test" klicke, lande ich direkt auf der Seite der hyperref-Anleitung, auf der bei mir \href erklärt ist. Das funktioniert auch mit entfernten Dokumenten:

Code: Alles auswählen

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{http://ctan.org/tex-archive/macros/latex/contrib/hyperref/doc/manual.pdf#page.12}{Test}
\end{document}
Allerdings geht das bei mir nicht mit xpdf, sondern mit dem Adobe Reader, der nachfragt, ob er das runterladen darf und dafür Firefox bemüht.

Antworten