von Eddie144 » So 5. Feb 2017, 09:05
Guten morgen,
ich versuche, einen Verweis auf ein Label zu bauen, der allerdings statt auf direkt das Label auf den Kopf der Seite verweisen, auf dem sich das Label befindet. Zusätzlich soll sich der Link in den Zeilen in der Kopfzeile befinden. Für den Link zum Kopf der Seite habe ich ein selbstdefiniertes Makro "pagereftop" von
hier.
Das Makro funktioniert, wenn ich einfach in den Text schreibe, aber sorgt für Fehlermeldungen, wenn es wie im MB im hyperref-Befehl steht. Das liegt wohl daran, dass hyperref das label "in Reinform" braucht und keine verschachtelten Makros erlaubt. Ich bekomme aber gerade keinen Umweg hin, dass direkt "lb5" (bzw. \lastref) an hyperref übergeben wird.
bin für jede Hilfe dankbar.
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage{refcount}
\usepackage[bookmarks=true,urlbordercolor={1 1 1},linkbordercolor={1 1 1},citebordercolor={1 1 1},colorlinks=true,citecolor=blue,urlcolor=red,linkcolor=black,nesting=true]{hyperref}
\newcommand{\pagereftop}[1]{\hyperlink{page.\getpagerefnumber{#1}}{\pageref*{#1}}}
\pagestyle{fancy}
\newcommand{\lastref}{lb5}
\fancyhead[RE,RO]{\large \hyperref[lb1]{$\Leftarrow$} \hyperref[\pagereftop{\lastref}]{$\Rightarrow$}}
%\fancyhead[RE,RO]{\large \hyperref[lb1]{$\Leftarrow$} \hyperref[\prevref]{$\rcurvearrowleft$} \hyperref[\nextref]{$\lcurvearrowright$} \hyperref[lb5]{$\Rightarrow$}}
\begin{document}
\blindtext
\textbf{One} \phantomsection\label{lb1}
\blindtext
\textbf{Two} \phantomsection\label{lb2}
\Blindtext
\textbf{Three}\phantomsection\label{lb3}
\Blindtext
\textbf{Four}\phantomsection\label{lb4}
\blindtext
\textbf{Five} \phantomsection\label{lb5}
\end{document}
[/url]
Guten morgen,
ich versuche, einen Verweis auf ein Label zu bauen, der allerdings statt auf direkt das Label auf den Kopf der Seite verweisen, auf dem sich das Label befindet. Zusätzlich soll sich der Link in den Zeilen in der Kopfzeile befinden. Für den Link zum Kopf der Seite habe ich ein selbstdefiniertes Makro "pagereftop" von [url=http://tex.stackexchange.com/questions/94740/create-link-to-the-top-of-a-page-which-contains-a-certain-labelled-object]hier[/url].
Das Makro funktioniert, wenn ich einfach in den Text schreibe, aber sorgt für Fehlermeldungen, wenn es wie im MB im hyperref-Befehl steht. Das liegt wohl daran, dass hyperref das label "in Reinform" braucht und keine verschachtelten Makros erlaubt. Ich bekomme aber gerade keinen Umweg hin, dass direkt "lb5" (bzw. \lastref) an hyperref übergeben wird.
bin für jede Hilfe dankbar.
[code]
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage{refcount}
\usepackage[bookmarks=true,urlbordercolor={1 1 1},linkbordercolor={1 1 1},citebordercolor={1 1 1},colorlinks=true,citecolor=blue,urlcolor=red,linkcolor=black,nesting=true]{hyperref}
\newcommand{\pagereftop}[1]{\hyperlink{page.\getpagerefnumber{#1}}{\pageref*{#1}}}
\pagestyle{fancy}
\newcommand{\lastref}{lb5}
\fancyhead[RE,RO]{\large \hyperref[lb1]{$\Leftarrow$} \hyperref[\pagereftop{\lastref}]{$\Rightarrow$}}
%\fancyhead[RE,RO]{\large \hyperref[lb1]{$\Leftarrow$} \hyperref[\prevref]{$\rcurvearrowleft$} \hyperref[\nextref]{$\lcurvearrowright$} \hyperref[lb5]{$\Rightarrow$}}
\begin{document}
\blindtext
\textbf{One} \phantomsection\label{lb1}
\blindtext
\textbf{Two} \phantomsection\label{lb2}
\Blindtext
\textbf{Three}\phantomsection\label{lb3}
\Blindtext
\textbf{Four}\phantomsection\label{lb4}
\blindtext
\textbf{Five} \phantomsection\label{lb5}
\end{document}
[/code][/url]