[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