Dynamische Verweise in der Kopfzeile

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Dynamische Verweise in der Kopfzeile

von Eddie144 » Fr 3. Feb 2017, 21:18

Vielen Dank, das löst schonmal das erste Problem. Ich habe jetzt folgendes gebastelt, um das vorige und das nächste Label zu verlinken. Das funktioniert so weit auch gut:
\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[bookmarks=true,urlbordercolor={1 1 1},linkbordercolor={1 1 1},citebordercolor={1 1 1},colorlinks=true,citecolor=blue,urlcolor=red,linkcolor=black]{hyperref}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage{MnSymbol}

\pagestyle{fancy}

\newcommand{\prevref}{lb1}
\newcommand{\nextref}{lb2}

\fancyhead[RE,RO]{\large \hyperref[lb1]{$\Leftarrow$} \hyperref[\prevref]{$\rcurvearrowleft$} \hyperref[\nextref]{$\lcurvearrowright$}  \hyperref[lb5]{$\Rightarrow$}}


\begin{document}
%	 
%\Marge
\blindtext

\textbf{One} \phantomsection\label{lb1}

\blindtext

\textbf{Two} \phantomsection\label{lb2}\renewcommand{\nextref}{lb3}

\Blindtext

\textbf{Three} \phantomsection\label{lb3}\renewcommand{\prevref}{lb2}\renewcommand{\nextref}{lb4}

\Blindtext

\textbf{Four} \phantomsection\label{lb4}\renewcommand{\prevref}{lb3}\renewcommand{\nextref}{lb5}

\blindtext

\textbf{Five} \phantomsection\label{lb5}
	
\end{document}
Am liebsten würde ich jetzt aber nicht direkt zum Label springen, sondern zum obersten Punkt der Seite, auf dem sich das Label befindet. Hierzu habe ich hier eine Lösung gefunden und folgendermaßen eingebaut:
\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[bookmarks=true,urlbordercolor={1 1 1},linkbordercolor={1 1 1},citebordercolor={1 1 1},colorlinks=true,citecolor=blue,urlcolor=red,linkcolor=black]{hyperref}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage{MnSymbol}
\usepackage{marvosym}
\usepackage{refcount}
\newcommand{\pagereftop}[1]{\hyperlink{page.\getpagerefnumber{#1}}{\pageref*{#1}}}


\pagestyle{fancy}

\newcommand{\prevref}{lb1}
\newcommand{\nextref}{lb2}

\fancyhead[RE,RO]{\large \hyperref[lb1]{$\Leftarrow$} \hyperref[\pagereftop{\prevref}]{$\rcurvearrowleft$} \hyperref[\pagereftop{\nextref}]{$\lcurvearrowright$}  \hyperref[lb5]{$\Rightarrow$}}


\begin{document}
%	 
%\Marge
\blindtext

\textbf{One} \phantomsection\label{lb1}

\blindtext

\textbf{Two} \phantomsection\label{lb2}\renewcommand{\nextref}{lb3}

\Blindtext

\textbf{Three} \phantomsection\label{lb3}\renewcommand{\prevref}{lb2}\renewcommand{\nextref}{lb4}

\Blindtext

\textbf{Four} \phantomsection\label{lb4}\renewcommand{\prevref}{lb3}\renewcommand{\nextref}{lb5}

\blindtext

\textbf{Five} \phantomsection\label{lb5}



	
\end{document}
Leider funktioniert das nicht. Hat jemand noch eine Idee?

von u_fischer » Fr 3. Feb 2017, 20:22

\label alleine setzt keine Anker, du musst \phantomsection\label{lb5} benutzen. Verweise auf \label macht man mit \hyperref[lb1]{$\Leftarrow$} nicht mit hyperlink (eckige Klammern beachten).

Dynamische Verweise in der Kopfzeile

von Eddie144 » Fr 3. Feb 2017, 19:19

Hallo zusammen,

ich habe folgendes vor: Ich habe mehrere Labels in einem Dokument, im MB lb1 bis lb5. Ich habe in der Kopfzeile vier Pfeile, die ein bequemes Springen zum ersten, vorigen, nächsten und letzten Label ermöglichen sollen. Der Sprung zum ersten und zum letzten Label ist an sich unproblematisch, ich hab das mit Hyperlink im MB gelöst. Hier habe ich schon das Problem, dass der Sprung zu lb5 nicht funktioniert; er springt immer auf die erste Seite.

Das vorige und nächste Label ändern sich logischerweise dynamisch. Ich habe mir überlegt, zwei variablen zu bauen (z.b. "prevref" und "nextref"), die bei jeder neuen label-Definition geändert werden. Die Links in der Kopfzeile wären dementsprechend à la
\hyperlink{\prevref}{$\rcurvearrowleft$}
\hyperlink{\nextref}{$\lcurvearrowright$}


Ich bin nicht so vertraut mit der Definition von eigenen Variablen, deswegen bin ich etwas ratlos, wie man das umsetzen könnte.
\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[bookmarks=true,urlbordercolor={1 1 1},linkbordercolor={1 1 1},citebordercolor={1 1 1},colorlinks=true,citecolor=blue,urlcolor=red,linkcolor=blue]{hyperref}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage{MnSymbol}
\pagestyle{fancy}


\fancyhead[RE,RO]{\hyperlink{lb1}{$\Leftarrow$} $\rcurvearrowleft$ $\lcurvearrowright$  \hyperlink{lb5}{$\Rightarrow$}}


\begin{document}
%	 
\blindtext
One \label{lb1}

\blindtext
Two \label{lb2}

\Blindtext
Three \label{lb3}
\Blindtext
Four \label{lb4}

\blindtext
Five \label{lb5}



	
\end{document}
Vielen Dank schonmal!

Nach oben