summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hyperref/nameref.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-10-05 03:01:15 +0000
committerNorbert Preining <norbert@preining.info>2019-10-05 03:01:15 +0000
commit72c9345e5bafe708888bf65448a81d1aee8275ed (patch)
treea1a99929b3d7307572844833f09ad7ba5ad1405d /macros/latex/contrib/hyperref/nameref.dtx
parent9d9c04e14d0da9dd7829d0ec896aabfd50414fd8 (diff)
CTAN sync 201910050301
Diffstat (limited to 'macros/latex/contrib/hyperref/nameref.dtx')
-rw-r--r--macros/latex/contrib/hyperref/nameref.dtx109
1 files changed, 102 insertions, 7 deletions
diff --git a/macros/latex/contrib/hyperref/nameref.dtx b/macros/latex/contrib/hyperref/nameref.dtx
index d955ff41ed..d8801b576b 100644
--- a/macros/latex/contrib/hyperref/nameref.dtx
+++ b/macros/latex/contrib/hyperref/nameref.dtx
@@ -3,8 +3,9 @@
%% Copyright (C) 1995-1999 Sebastian Rahtz
%% 2000 Sebastian Rahtz, Heiko Oberdiek
%% 2001-2012 Heiko Oberdiek
-%% 2016 Oberdiek Package Suport Group
-%% https://github.com/ho-tex/hyperref/issues
+%% 2016-2019 Oberdiek Package Suport Group
+%% 2019- The LaTeX3 Project
+%% https://github.com/latex3/hyperref/issues
%%
%% This file is part of the `Hyperref Bundle'.
%% -------------------------------------------
@@ -19,7 +20,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Heiko Oberdiek.
+%% The Current Maintainer of this work is The LaTeX3 Project.
%%
%% The list of all files belonging to the `Hyperref Bundle' is
%% given in the file `manifest.txt'.
@@ -32,7 +33,7 @@
%<driver>\ProvidesFile{nameref.drv}
% \fi
% \ProvidesFile{nameref.dtx}
- [2019/09/12 v2.45 Cross-referencing by name of section]%
+ [2019/09/16 v2.46 Cross-referencing by name of section]%
%
%
% \iffalse
@@ -54,8 +55,9 @@
}%
}%
\author{Sebastian Rahtz (deceased)\\%
- Heiko Oberdiek (maintainer)\\%
- \texttt{https://github.com/ho-tex/hyperref/issues}}%
+ Heiko Oberdiek (inactive)\\%
+ The \LaTeX3 Project\\%
+ \texttt{https://github.com/latex3/hyperref/issues}}%
\date{\filedate}%
\maketitle
\makeatletter
@@ -757,7 +759,100 @@
\AtBeginDocument{%
\ifx\csname @@vpageref\endcsname\relax
\else
- \let\NR@@vpageref\@@vpageref
+%FMi
+% \end{macrocode}
+% Test if we are using the new varioref ...
+% \begin{macrocode}
+ \ifdefined\vp@gerefstar
+ \let\NR@@vpageref\@@vpageref
+% \end{macrocode}
+% if not then old patching code
+% \begin{macrocode}
+ \else
+ \def\NR@@vpageref#1[#2]#3{%
+ \leavevmode\unskip
+ \global\advance\c@vrcnt\@ne
+ \@ifundefined{r@\the\c@vrcnt @vr}%
+ {\@namedef{r@\the\c@vrcnt @vr}{{??}{??}{}{}{}}}{}%
+ \edef\@tempa{%
+ \expandafter\expandafter\expandafter
+ \@secondoffive\csname r@\the\c@vrcnt @vr\endcsname
+ }%
+ \@ifundefined{r@\the\c@vrcnt @xvr}%
+ {\@namedef{r@\the\c@vrcnt @xvr}{{??}{??}{}{}{}}}{}%
+ \edef\@tempb{%
+ \expandafter\expandafter\expandafter
+ \@secondoffive\csname r@\the\c@vrcnt @xvr\endcsname
+ }%
+ {%
+ \let\@currentlabel\@empty
+ \expandafter\label\expandafter{\the\c@vrcnt @xvr}%
+ }%
+ \ifx\@tempa\@tempb
+ \else
+ \vref@err{%
+ \noexpand\vref at page boundary %
+ \@tempb-\@tempa\space (may loop)%
+ }%
+ \fi
+ \@ifundefined{r@#3}{\@namedef{r@#3}{{??}{??}{}{}{}}}{}%
+ \edef\thevpagerefnum{%
+ \expandafter\expandafter\expandafter
+ \@secondoffive\csname r@#3\endcsname
+ }%
+ \ifx\vref@space\@undefined
+ \space
+ \else
+ \vref@space
+ \fi
+ \ifx\@tempa\thevpagerefnum
+ #1%
+ \else
+ #2%
+ \is@pos@number\thevpagerefnum{%
+ \is@pos@number\@tempa{%
+ \@tempcnta\@tempa
+ \advance\@tempcnta\@ne
+ }{%
+ \@tempcnta\maxdimen
+ }%
+ \ifnum \thevpagerefnum =\@tempcnta
+ \ifodd\@tempcnta
+ \if@twoside
+ \reftextfaceafter
+ \else
+ \reftextafter
+ \fi
+ \else
+ \reftextafter
+ \fi
+ \else
+ \advance\@tempcnta-2 %
+ \ifnum \thevpagerefnum =\@tempcnta
+ \ifodd\@tempcnta
+ \reftextbefore
+ \else
+ \if@twoside
+ \reftextfacebefore
+ \else
+ \reftextbefore
+ \fi
+ \fi
+ \else
+ \reftextfaraway{#3}%
+ \fi
+ \fi
+ }{%
+ \reftextfaraway{#3}%
+ }%
+ \fi
+ {%
+ \let\@currentlabel\@empty
+ \expandafter\label\expandafter{\the\c@vrcnt @vr}%
+ }%
+ }%
+ \fi
+%FM - end mod
\def\@@vpageref#1[#2]#3{%
\begingroup
\csname @safe@activestrue\endcsname