[latex3-commits] [git/LaTeX3-latex3-latex2e] varioref: more commands for cleveref support (or other packages) (7d471290)

Frank Mittelbach frank.mittelbach at latex-project.org
Tue Aug 27 23:09:37 CEST 2019


Repository : https://github.com/latex3/latex2e
On branch  : varioref
Link       : https://github.com/latex3/latex2e/commit/7d471290a61422947d27739095bbe815cde1e6fb

>---------------------------------------------------------------

commit 7d471290a61422947d27739095bbe815cde1e6fb
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Tue Aug 27 23:09:37 2019 +0200

    more commands for cleveref support (or other packages)


>---------------------------------------------------------------

7d471290a61422947d27739095bbe815cde1e6fb
 .../tools/testfiles-search/tlb-varioref-003.lvt    |  2 +-
 .../tools/testfiles-search/tlb-varioref-003.tlg    | 21 ++++++-
 .../tools/testfiles-search/tlb-varioref-004.lvt    |  4 +-
 .../tools/testfiles-search/tlb-varioref-006.lvt    | 45 ++++++++++++++
 .../tools/testfiles-search/tlb-varioref-006.tlg    | 12 ++++
 .../tools/testfiles-search/tlb-varioref-007.lvt    | 47 +++++++++++++++
 .../tools/testfiles-search/tlb-varioref-007.tlg    | 13 +++++
 required/tools/varioref.dtx                        | 68 +++++++++++++++++++---
 8 files changed, 200 insertions(+), 12 deletions(-)

diff --git a/required/tools/testfiles-search/tlb-varioref-003.lvt b/required/tools/testfiles-search/tlb-varioref-003.lvt
index bb3abb11..44bc585b 100644
--- a/required/tools/testfiles-search/tlb-varioref-003.lvt
+++ b/required/tools/testfiles-search/tlb-varioref-003.lvt
@@ -28,7 +28,7 @@ This is the \vpageref*{A}.       %  space dropped
 And this is the \vpageref*{B}.   %  space dropped
 
 (\vpageref*{A})
-(\vpageref{A})
+(\vpageref{A} non-star version)
 
 Now vref: \vref{A}. (\vref*{A})
 
diff --git a/required/tools/testfiles-search/tlb-varioref-003.tlg b/required/tools/testfiles-search/tlb-varioref-003.tlg
index c35b9b99..80b3a825 100644
--- a/required/tools/testfiles-search/tlb-varioref-003.tlg
+++ b/required/tools/testfiles-search/tlb-varioref-003.tlg
@@ -139,7 +139,7 @@ Completed box being shipped out [1]
 .....\glue(\rightskip) 0.0
 ....\glue(\parskip) 0.0 plus 1.0
 ....\glue(\baselineskip) 2.55556
-....\hbox(7.5+2.5)x345.0, glue set 168.49973fil
+....\hbox(7.5+2.5)x345.0, glue set 94.9996fil
 .....\hbox(0.0+0.0)x15.0
 .....\OT1/cmr/m/n/10 (
 .....\write1{\newlabel{3 at xvr}{{}{\thepage }}}
@@ -182,6 +182,25 @@ Completed box being shipped out [1]
 .....\OT1/cmr/m/n/10 g
 .....\OT1/cmr/m/n/10 e
 .....\write1{\newlabel{4 at vr}{{}{\thepage }}}
+.....\glue 3.33333 plus 1.66666 minus 1.11111
+.....\OT1/cmr/m/n/10 n
+.....\OT1/cmr/m/n/10 o
+.....\OT1/cmr/m/n/10 n
+.....\OT1/cmr/m/n/10 -
+.....\discretionary
+.....\OT1/cmr/m/n/10 s
+.....\OT1/cmr/m/n/10 t
+.....\OT1/cmr/m/n/10 a
+.....\OT1/cmr/m/n/10 r
+.....\glue 3.33333 plus 1.66666 minus 1.11111
+.....\OT1/cmr/m/n/10 v
+.....\kern-0.27779
+.....\OT1/cmr/m/n/10 e
+.....\OT1/cmr/m/n/10 r
+.....\OT1/cmr/m/n/10 s
+.....\OT1/cmr/m/n/10 i
+.....\OT1/cmr/m/n/10 o
+.....\OT1/cmr/m/n/10 n
 .....\OT1/cmr/m/n/10 )
 .....\penalty 10000
 .....\glue(\parfillskip) 0.0 plus 1.0fil
diff --git a/required/tools/testfiles-search/tlb-varioref-004.lvt b/required/tools/testfiles-search/tlb-varioref-004.lvt
index d207c7e5..5b0d9c59 100644
--- a/required/tools/testfiles-search/tlb-varioref-004.lvt
+++ b/required/tools/testfiles-search/tlb-varioref-004.lvt
@@ -5,8 +5,6 @@
 
 \input{test2e}
 
-\START
-
 \setlength\textheight{15\baselineskip}
 
 \usepackage{hyperref}
@@ -19,7 +17,7 @@
 
 \begin{document}
 
-%\START
+\START
 
 \section{A-head}\label{A}
 
diff --git a/required/tools/testfiles-search/tlb-varioref-006.lvt b/required/tools/testfiles-search/tlb-varioref-006.lvt
new file mode 100644
index 00000000..357b976b
--- /dev/null
+++ b/required/tools/testfiles-search/tlb-varioref-006.lvt
@@ -0,0 +1,45 @@
+\documentclass{article}
+
+
+\input{test2e}
+
+
+\setlength\textheight{15\baselineskip}
+
+\usepackage{varioref}
+
+\begin{document}
+
+\START
+
+\def\testit#1#2{\vpagerefcomparenearby{#1}{#2}{\typeout{#2 near #1}}{\typeout{#2 away from #1}}}
+
+\testit C A
+\testit C B
+\testit C C
+\testit C D
+\testit C E
+\testit C {undef}
+
+\section{A-head}\label{A}
+
+\newpage
+
+\section{B-head}\label{B}
+
+\newpage
+
+\section{C-head}\label{C}
+
+\newpage
+
+
+\section{D-head}\label{D}
+
+\newpage
+
+\section{E-head}\label{E}
+
+
+
+\end{document}
diff --git a/required/tools/testfiles-search/tlb-varioref-006.tlg b/required/tools/testfiles-search/tlb-varioref-006.tlg
new file mode 100644
index 00000000..7ea4a576
--- /dev/null
+++ b/required/tools/testfiles-search/tlb-varioref-006.tlg
@@ -0,0 +1,12 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+A away from C
+B near C
+C near C
+D near C
+E away from C
+LaTeX Warning: Reference `undef' on page 1 undefined on input line ....
+undef away from C
+[1
+] [2] [3] [4] [5] (tlb-varioref-006.aux)
+LaTeX Warning: There were undefined references.
diff --git a/required/tools/testfiles-search/tlb-varioref-007.lvt b/required/tools/testfiles-search/tlb-varioref-007.lvt
new file mode 100644
index 00000000..55143a80
--- /dev/null
+++ b/required/tools/testfiles-search/tlb-varioref-007.lvt
@@ -0,0 +1,47 @@
+\documentclass{article}
+
+
+\input{test2e}
+
+
+\setlength\textheight{15\baselineskip}
+
+\usepackage{varioref}
+
+\begin{document}
+
+\START
+
+\def\testit#1{\vpagerefnearby{#1}{\typeout{#1 near current point (\pageref{#1} <> \thepage\space approx)}}%
+             {\typeout{#1 away from current  (\pageref{#1} <> \thepage\space approx)}}}
+
+
+\section{A-head}\label{A}
+
+\newpage
+
+\section{B-head}\label{B}
+
+\newpage
+
+\section{C-head}\label{C}
+
+\testit  A
+\testit  B
+\testit  C
+\testit  D
+\testit  E
+\testit  {undef}
+
+\newpage
+
+
+\section{D-head}\label{D}
+
+\newpage
+
+\section{E-head}\label{E}
+
+
+
+\end{document}
diff --git a/required/tools/testfiles-search/tlb-varioref-007.tlg b/required/tools/testfiles-search/tlb-varioref-007.tlg
new file mode 100644
index 00000000..0e3151c7
--- /dev/null
+++ b/required/tools/testfiles-search/tlb-varioref-007.tlg
@@ -0,0 +1,13 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+[1
+] [2]
+A away from current (1\hbox {} <> 3 approx)
+B near current point (2\hbox {} <> 3 approx)
+C near current point (3\hbox {} <> 3 approx)
+D near current point (4\hbox {} <> 3 approx)
+E away from current (5\hbox {} <> 3 approx)
+LaTeX Warning: Reference `undef' on page 3 undefined on input line ....
+undef away from current (??\hbox {} <> 3 approx)
+[3] [4] [5] (tlb-varioref-007.aux)
+LaTeX Warning: There were undefined references.
diff --git a/required/tools/varioref.dtx b/required/tools/varioref.dtx
index 508f614f..18397b27 100644
--- a/required/tools/varioref.dtx
+++ b/required/tools/varioref.dtx
@@ -32,13 +32,13 @@
 %% or open an issue at https://github.com/latex3/latex2e.
 %%
 %
-%<+package>\NeedsTeXFormat{LaTeX2e}[1995/05/16]
-%<+package>\providecommand\DeclareRelease[3]{}
-%<+package>\providecommand\DeclareCurrentRelease[2]{}
-%<+package>
-%<+package>\DeclareRelease{}{2016-02-16}{varioref-2016-02-16.sty}
-%<+package>\DeclareCurrentRelease{}{2019-10-01}
-%<+package>
+%<package>\NeedsTeXFormat{LaTeX2e}[1995/05/16]
+%<package>\providecommand\DeclareRelease[3]{}
+%<package>\providecommand\DeclareCurrentRelease[2]{}
+%<package>
+%<package>\DeclareRelease{}{2016-02-16}{varioref-2016-02-16.sty}
+%<package>\DeclareCurrentRelease{}{2019-10-01}
+%<package>
 %<package>\ProvidesPackage{varioref}
 %<package>    [2019/08/25 v1.6a package for extended references (FMi)]
 % \fi
@@ -2280,6 +2280,60 @@
 }  
 %    \end{macrocode}
 %  \end{macro}
+
+
+
+%  \begin{macro}{\vpagerefcomparenearby}
+%     True if the two pages have arabic page numbers are at most off by
+%     one so that |\vpageref| would produce a special string.
+%    \begin{macrocode}
+\DeclareRobustCommand\vpagerefcomparenearby[2]{%  label1, label2, TRUE, FALSE
+  \vrefpagenum\@tempa{#1}%
+  \is at pos@number\@tempa
+      {%
+        \vrefpagenum\@tempb{#2}%
+        \is at pos@number\@tempb
+            {%
+              \ifcase\numexpr \@tempa -\@tempb+1\relax
+              \or \or \else \expandafter \@thirdofthree \fi
+              \@firstoftwo
+            }%
+            {\@secondoftwo}%
+      }%
+      {\@secondoftwo}%
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+%  \begin{macro}{\vpagerefnearby}
+%    Test if |\vpageref| is going to be at most $\pm1$ off from
+%    current page.
+%    \begin{macrocode}
+\DeclareRobustCommand\vpagerefnearby[1]{%  label, TRUE, FALSE
+  \leavevmode
+  \@tempskipa\lastskip \unskip
+  \global\advance\c at vrcnt\tw@    % keep oddness to not disturb \vrefvario
+  \vref at label{\the\c at vrcnt @vn}%
+  \ifdim\@tempskipa=\z@ \else
+    \hskip\@tempskipa
+  \fi
+  \vref at pagenum\@tempa{\the\c at vrcnt @vn}%
+  \is at pos@number\@tempa
+      {%
+        \vrefpagenum\@tempb{#1}%
+        \is at pos@number\@tempb
+            {%
+              \ifcase\numexpr \@tempa -\@tempb+1\relax
+              \or \or \else \expandafter \@thirdofthree \fi
+              \@firstoftwo
+            }%
+            {\@secondoftwo}%
+      }%
+      {\@secondoftwo}%
+}
+%    \end{macrocode}
+%  \end{macro}
 %
 %    \begin{macrocode}
 %</package>





More information about the latex3-commits mailing list