summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tools/varioref.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tools/varioref.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tools/varioref.dtx224
1 files changed, 152 insertions, 72 deletions
diff --git a/Master/texmf-dist/source/latex/tools/varioref.dtx b/Master/texmf-dist/source/latex/tools/varioref.dtx
index 1a30d6742d3..9f1ec820a4c 100644
--- a/Master/texmf-dist/source/latex/tools/varioref.dtx
+++ b/Master/texmf-dist/source/latex/tools/varioref.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003
+% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -8,12 +8,12 @@
% -------------------------------------------------------
%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
%
% The list of all files belonging to the LaTeX `Tools Bundle' is
% given in the file `manifest.txt'.
@@ -21,7 +21,7 @@
% \fi
% \iffalse
%% Package varioref to use with LaTeX2e
-%% Copyright (C) 1992-2004 Frank Mittelbach, all rights reserved.
+%% Copyright (C) 1992-2006 Frank Mittelbach, all rights reserved.
%%
%% For additions or updates to the language options please contact
%% the author at
@@ -33,10 +33,10 @@
%
%<package>\NeedsTeXFormat{LaTeX2e}[1995/05/16]
%<package>\ProvidesPackage{varioref}
-%<package> [2004/02/27 v1.4i package for extended references (FMi)]
+%<package> [2006/05/13 v1.4p package for extended references (FMi)]
% \fi
%
-% \CheckSum{1683}
+% \CheckSum{1899}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -244,7 +244,7 @@
% \DescribeMacro{\vref*}
% \DescribeMacro{\vpageref*}
% \DescribeMacro{\vpagerefrange*}
-% Since it is to late to change the default behaviour I've added star
+% Since it is too late to change the default behaviour I've added star
% versions of the macros which do not add any space before the
% generated text (they do nevertheless remove space at the left).
%
@@ -336,7 +336,7 @@
% use of |\pageref| in its replacement text.
%
%
-%\DescribeMacro\vreftextvario To allow a bit random variation in the
+%\DescribeMacro\reftextvario To allow a bit random variation in the
% generated strings one can use the command |\reftextvario| inside the
% string macros. It takes two arguments and selects one or the other
% for printing depending on the number of already seens |\vref| or
@@ -538,7 +538,7 @@
% \begin{macro}{\reftextafter}
% \begin{macro}{\reftextbefore}
% \begin{macro}{\reftextcurrent}
-% \label{reftextbefore} The options do set the the macros that
+% \label{reftextbefore} The options do set the macros that
% generate the textual strings. Note, that they do not start with a
% space, the space is already added in the main macro below.
% \changes{v1.2a}{1998/08/22}{Added american defaults for
@@ -611,10 +611,52 @@
\def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}%
}}
% \end{macrocode}
+% Text for basque defaults was contributed by
+% I\~naki Larra\~naga Murgoitio (aka dooteo)
+% (|<dooteo@euskalgnu.org>|).
+% \changes{v1.4k}{2005/04/09}{Basque defaults added.}
+% \begin{macrocode}
+\DeclareOption{basque}
+ {\vref@addto\extrasbasque{%
+ \def\reftextfaceafter {hurrengo orrialdean}%
+ \def\reftextfacebefore{aurreko orrialdean}%
+ \let\reftextafter \reftextfaceafter
+ \let\reftextbefore \reftextfacebefore
+ \def\reftextcurrent {uneko orrialdean}%
+ \def\reftextfaraway#1{~\pageref{#1}. orrialdean}%
+ \def\reftextpagerange#1#2{~\pageref{#1}--\pageref{#2} orrialdeetan}%
+ \def\reftextlabelrange#1#2{\ref{#1}.etik \ref{#2}.eraino}%
+ }}
+% \end{macrocode}
+% Text for the Bahasa Malaysia defaults was contributed by
+% Bob Margolis 2005-12-02.
+%
+% Notes: pada muka surat translates as ``on the page'' though BM has no
+% definite (or indefinite) article; adjectives and other modifiers follow
+% the noun (clause); bertentangan is ``opposite'' in the sense of
+% ``facing''; berikutnya is ``next'' (in this context - actually
+% next-to-this, literally); berikutnya also translates as ``following
+% this'' sebelumnya is ``preceding''; also ``previous'' ``ini'' translates,
+% literally, as ``this'' but is also used in the sense of current page.
+% \changes{v1.4o}{2005/12/02}{Bahasa Malaysia defaults added.}
+% \begin{macrocode}
+\DeclareOption{bahasam}
+ {\vref@addto\extrasbahasam{%
+ \def\reftextfaceafter {pada muka surat \reftextvario{bertentangan}{berikutnya}}%
+ \def\reftextfacebefore{pada muka surat \reftextvario{bertentangan}{sebelumnya} }%
+ \def\reftextafter {pada muka surat berikutnya}%
+ \def\reftextbefore {pada muka surat sebelumnya}%
+ \def\reftextcurrent {pada muka surat ini}%
+ \def\reftextfaraway#1{pada muka surat~\pageref{#1}}%
+ \def\reftextpagerange#1#2{pada muka surat~\pageref{#1}--\pageref{#2}}%
+ \def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}%
+ }}
+% \end{macrocode}
% Text for brazil defaults was contributed by
% Alcino Dall Igna Junior\\
% (|adij@di.ufpe.br|).
% \changes{v1.0g}{1994/05/18}{Brazil defaults added.}
+% \changes{v1.4o}{2005/11/07}{Added a few more brazil strings}
% \begin{macrocode}
\DeclareOption{brazil}
{\vref@addto\extrabrazil{%
@@ -627,10 +669,8 @@
\def\reftextcurrent {\reftextvario{nesta p\'agina}{na p\'agina
corrente}}%
\def\reftextfaraway#1{na p\'agina~\pageref{#1}}%
- \def\reftextpagerange#1#2{\vref@stringwarning\reftextpagerange
- on pages~\pageref{#1}--\pageref{#2}}%
- \def\reftextlabelrange#1#2{\vref@stringwarning\reflabelpagerange
- \ref{#1} to~\ref{#2}}%
+ \def\reftextpagerange#1#2{nas p\'aginas~\pageref{#1}--\pageref{#2}}%
+ \def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
}}
% \end{macrocode}
% Text for Breton defaults was contributed by
@@ -671,19 +711,22 @@
p\`agines~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
}}
+% \end{macrocode}
+% Text for croatian defaults was contributed by Sime Ungar
+% (\verb=ungar@math.hr=).
+% \changes{v1.4p}{2006/05/13}{Added defaults for croatian}
+% \begin{macrocode}
\DeclareOption{croatian}
- {\vref@excuse{croatian}%
- \vref@addto\extrascroatian{%
- \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
- \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
- page}%
- \def\reftextafter {on the \reftextvario{following}{next} page}%
- \def\reftextbefore {on the \reftextvario{preceding}{previous} page}%
- \def\reftextcurrent {on \reftextvario{this}{the current} page}%
- \def\reftextfaraway#1{on page~\pageref{#1}}%
- \def\reftextpagerange#1#2{on pages~\pageref{#1}--\pageref{#2}}%
- \def\reftextlabelrange#1#2{\ref{#1} to~\ref{#2}}%
- }}
+ {\vref@addto\extrascroatian{%
+ \def\reftextfaceafter {na sljede\'coj stranici}%
+ \def\reftextfacebefore{na prethodnoj stranici}%
+ \let\reftextafter \reftextfaceafter
+ \let\reftextbefore \reftextfacebefore
+ \def\reftextcurrent {na ovoj stranici}%
+ \def\reftextfaraway#1{na stranici~\pageref{#1}}%
+ \def\reftextpagerange#1#2{na stranicama~\pageref{#1}--\pageref{#2}}%
+ \def\reftextlabelrange#1#2{\ref{#1} do~\ref{#2}}%
+ }}
% \end{macrocode}
% Defaults for the Czech option provided by Milan Vancura
% \verb=<milan@suse.cz>=.
@@ -757,9 +800,10 @@
% would either use `--' or `tot en met' (the abbreviation written
% out). ''
% \changes{v1.4d}{2002/11/11}{Changed default for \cs{reftextlabelrange}}
+% \changes{v1.4m}{2005/06/09}{Fixed \cs{reftextlabelrange} (pr/3791)}
% \begin{macrocode}
\def\reftextpagerange#1#2{op pagina's~\pageref{#1}--\pageref{#2}}%
- \def\reftextlabelrange#1#2{\ref#1--\ref{#2}}%
+ \def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}%
}}
% \end{macrocode}
% \changes{v1.2a}{1998/08/22}{Added english defaults for
@@ -793,8 +837,10 @@
}}
% \end{macrocode}
% The finnish strings were suggested by Matti Rintala
-% (\verb=bitti@cs.tut.fi=).
+% (\verb=bitti@cs.tut.fi=) and Hillevi Gavel
+% \verb=Hillevi.Gavel@mdh.se=.
% \changes{v1.0m}{1994/09/23}{Added finnish strings}
+% \changes{v1.4o}{2005/11/07}{Added a few more finnish strings}
% \begin{macrocode}
\DeclareOption{finnish}
{\vref@addto\extrasfinnish{%
@@ -806,10 +852,11 @@
\def\reftextbefore {edellisell\"a sivulla}%
\def\reftextcurrent {t\"all\"a sivulla}%
\def\reftextfaraway#1{sivulla~\pageref{#1}}%
- \def\reftextpagerange#1#2{\vref@stringwarning\reftextpagerange
- on pages~\pageref{#1}--\pageref{#2}}%
- \def\reftextlabelrange#1#2{\vref@stringwarning\reflabelpagerange
- \ref{#1} to~\ref{#2}}%
+ \def\reftextpagerange#1#2{sivuilla~\pageref{#1}--\pageref{#2}}%
+% \end{macrocode}
+% Can't combine numbers with the necessary suffix well.
+% \begin{macrocode}
+ \def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}%
}}
% \end{macrocode}
% French defaults are provided by Daniel Flippo
@@ -834,20 +881,20 @@
% Galician defaults are provided by Matthias Moebius\\
% (\texttt{Matthias.Moebius@uni-konstanz.de}).
% \changes{v1.1f}{1998/04/25}{Added galician defaults}
+% \changes{v1.4o}{2005/11/10}{Added further galician defaults}
+% \changes{v1.4o}{2005/11/26}{Some further corrections}
% \begin{macrocode}
\DeclareOption{galician}
- {\vref@excuse{galician}%
- \vref@addto\extrasgalician{%
- \def\reftextfaceafter {na seguinte p\'axina}%
- \def\reftextfacebefore{na p\'agina anterior}%
- \let\reftextafter \reftextfaceafter
- \let\reftextbefore \reftextfacebefore
+ {\vref@addto\extrasgalician{%
+ \def\reftextfaceafter {na p\'axina oposta}%
+ \def\reftextfacebefore\reftextfaceafter
+ \let\reftextafter {na p\'axina seguinte}%
+ \let\reftextbefore {na p\'axina anterior}%
\def\reftextcurrent {nesta p\'axina}%
\def\reftextfaraway#1{na p\'axina~\pageref{#1}}%
- \def\reftextpagerange#1#2{\vref@stringwarning\reftextpagerange
- on pages~\pageref{#1}--\pageref{#2}}%
- \def\reftextlabelrange#1#2{\vref@stringwarning\reflabelpagerange
- \ref{#1} to~\ref{#2}}%
+ \def\reftextpagerange#1#2{%
+ nas p\'axinas~\pageref{#1}-\pageref{#2}}%
+ \def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
}}
% \end{macrocode}
% There are no good variants for German (I think and still think but
@@ -870,6 +917,7 @@
% \def\reftextcurrent {\reftextvario
% {auf dieser}{diese} Seite}%
%\end{verbatim}
+% \changes{v1.4n}{2005/07/24}{Small change}
% \begin{macrocode}
\DeclareOption{german}
{\vref@addto\extrasgerman{%
@@ -879,11 +927,12 @@
\let\reftextbefore \reftextfacebefore
\def\reftextcurrent {auf dieser Seite}%
\def\reftextfaraway#1{auf Seite~\pageref{#1}}%
- \def\reftextpagerange#1#2{auf Seiten~\pageref{#1}--\pageref{#2}}%
+ \def\reftextpagerange#1#2{auf den Seiten~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}%
}}
% \end{macrocode}
% \changes{v1.2d}{2000/01/11}{Added ngerman defaults (identical to german)}
+% \changes{v1.4n}{2005/07/24}{Small change}
% The ngerman defaults are the same but needed for ``Neue Rechtschreibung''
% (i.e., a different set of hyphenation patterns).
% \begin{macrocode}
@@ -895,7 +944,7 @@
\let\reftextbefore \reftextfacebefore
\def\reftextcurrent {auf dieser Seite}%
\def\reftextfaraway#1{auf Seite~\pageref{#1}}%
- \def\reftextpagerange#1#2{auf Seiten~\pageref{#1}--\pageref{#2}}%
+ \def\reftextpagerange#1#2{auf den Seiten~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}%
}}
% \end{macrocode}
@@ -922,6 +971,8 @@
% (\verb=pensa@dsi.unimi.it=) with i{\TeX}nici.
% \changes{v1.1b}{1995/10/19}{Added defaults for Italian}
% \changes{v1.2a}{1998/08/22}{Removed incorrect warning}
+% \changes{v1.4k}{2004/10/30}{Added missing defaults supplied by Lapo Mori}
+% \changes{v1.4n}{2005/07/24}{Small change}
% \begin{macrocode}
\DeclareOption{italian}
{\vref@addto\extrasitalian{%
@@ -933,18 +984,16 @@
{successiva}}%
\def\reftextbefore {nella pagina precedente}%
\def\reftextcurrent {in questa pagina}%
- \def\reftextfaraway#1{a pagina~\pageref{#1}}%
- \def\reftextpagerange#1#2{\vref@stringwarning\reftextpagerange
- on pages~\pageref{#1}--\pageref{#2}}%
- \def\reftextlabelrange#1#2{\vref@stringwarning\reflabelpagerange
- \ref{#1} to~\ref{#2}}%
+ \def\reftextfaraway#1{nella pagina~\pageref{#1}}%
+ \def\reftextpagerange#1#2{nelle pagine~\pageref{#1}--\pageref{#2}}%
+ \def\reftextlabelrange#1#2{da~\ref{#1} a~\ref{#2}}%
}}
% \end{macrocode}
% Defaults for Hungarian by Jeff Goldberg
% (\verb=jeffrey@goldmark.org=).
% There is a problem with the use of the definite article
% \textit{a} or \textit{az} in Hungarian before expansions
-% of |\vref| or |\ref|. The problem is that the the word
+% of |\vref| or |\ref|. The problem is that the word
% should be \textit{az} if the number following would begin with
% a vowel if spelled out, and \textit{a} if the number would begin
% with a consonant.
@@ -954,11 +1003,13 @@
% old but unfortunately never made it into varioref. In case any work
% has been undertaken to resolve this please inform the author about it.}
% \changes{v1.2a}{1998/08/22}{Added defaults for magyar}
+% \changes{v1.4j}{2005/01/22}{Defined \cs{reftextfaceafter} and
+% \cs{reftextfacebefore} instead of \cs{reftextafter} and \cs{reftextbefore}}
% \begin{macrocode}
\DeclareOption{magyar}
{\vref@addto\extrasmagyar{%
- \def\reftextfaceafter {a k\"o\-vet\-kez\H{o} ol\-da\-lon}%
- \def\reftextfacebefore{az el\H{o}\-z\H{o} ol\-da\-lon}%
+ \def\reftextafter {a k\"o\-vet\-kez\H{o} ol\-da\-lon}%
+ \def\reftextbefore{az el\H{o}\-z\H{o} ol\-da\-lon}%
\def\reftextfaceafter {\reftextvario{a t\'ul\-ol\-da\-lon}%
{a k\"o\-vet\-kez\H{o} ol\-da\-lon}}%
\def\reftextfacebefore{\reftextvario{a t\'ul\-ol\-da\-lon}%
@@ -1043,6 +1094,7 @@
% \changes{v1.1d}{1997/12/06}{Added defaults for polish}
% \changes{v1.2a}{1998/08/22}{Added polish defaults for
% \cs{reftextpagerange} and \cs{reftextlabelrange}}
+% \changes{v1.4n}{2005/09/14}{Changed default for \cs{reftextfaraway}}
% \begin{macrocode}
\DeclareOption{polish}
{\vref@addto\extraspolish{%
@@ -1054,7 +1106,7 @@
\def\reftextbefore {na poprzedniej stronie}%
\def\reftextcurrent {na \reftextvario{tej
samej}{bie\zkb{}\aob{}cej} stronie}%
- \def\reftextfaraway#1{na \pageref{#1}~stronie}%
+ \def\reftextfaraway#1{na stronie~\pageref{#1}}%
\def\reftextpagerange#1#2{na stronach~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{od~\ref{#1} do~\ref{#2}}%
}}
@@ -1078,17 +1130,16 @@
\def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
}}
\DeclareOption{romanian}
- {\vref@excuse{romanian}%
- \vref@addto\extrasromanian{%
- \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
- \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
- page}%
- \def\reftextafter {on the \reftextvario{following}{next} page}%
- \def\reftextbefore {on the \reftextvario{preceding}{previous} page}%
- \def\reftextcurrent {on \reftextvario{this}{the current} page}%
- \def\reftextfaraway#1{on page~\pageref{#1}}%
- \def\reftextpagerange#1#2{on pages~\pageref{#1}--\pageref{#2}}%
- \def\reftextlabelrange#1#2{\ref{#1} to~\ref{#2}}%
+ {\vref@addto\extrasromanian{%
+ \def\reftextfaceafter {pe pagina \reftextvario{opus\u{a}}{urm\u{a}toarei}}%
+ \def\reftextfacebefore{pe pagina \reftextvario{opus\u{a}}{precedentei}}%
+ \def\reftextafter {pe pagina \reftextvario{dup\u{a}}{urm\u{a}toarea}}%
+ \def\reftextbefore {pe pagina \reftextvario{dinaintea}{
+ precedentei}}%
+ \def\reftextcurrent {pe aceast\u{a} pagin\u{a}}%
+ \def\reftextfaraway#1{pe pagina~\pageref{#1}}%
+ \def\reftextpagerange#1#2{pe paginile~\pageref{#1}--\pageref{#2}}%
+ \def\reftextlabelrange#1#2{\ref{#1} la~\ref{#2}}%
}}
% \end{macrocode}
% The text for russian was taken from the book in Russian by
@@ -1165,6 +1216,7 @@
% \changes{v1.0f}{1994/03/16}{Inserted missing hash mark}
% \changes{v1.0k}{1994/06/05}{Corrected misspelled cmd `extrasspanish}
% \changes{v1.4a}{2002/03/05}{Missing defaults added}
+% \changes{v1.4o}{2005/11/26}{Single hyphen in range}
% \begin{macrocode}
\DeclareOption{spanish}
{\vref@addto\extrasspanish{%
@@ -1175,7 +1227,7 @@
\def\reftextcurrent {en esta p\'agina}%
\def\reftextfaraway#1{en la p\'agina~\pageref{#1}}%
\def\reftextpagerange#1#2{en las p\'aginas~\pageref{#1}%
- --\pageref{#2}}%
+ -\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
}}
% \end{macrocode}
@@ -1214,6 +1266,33 @@
\def\reftextlabelrange#1#2{\ref{#1} to~\ref{#2}}%
}}
% \end{macrocode}
+% The text for Ukrainian defaults was contributed by Mykola Lyakhovych
+% (\verb=<lyakhovych@mail.ru>=).
+% \changes{v1.4l}{2005/04/24}{Contributed defaults added}
+% \begin{macrocode}
+\DeclareOption{ukrainian}
+ {\vref@addto\extrasukrainian{%
+ \def\reftextfaceafter{\cyrn\cyra\ \reftextvario{\cyrp\cyrr\cyro
+ \cyrt\cyri\cyrl\cyre\cyrzh\cyrn\cyrii\cyrishrt}%
+ {\cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn\cyrii\cyrishrt}\ \cyrs\cyrt
+ \cyro\cyrr\cyri\cyrn\cyrc\cyrii}%
+ \def\reftextfacebefore{\cyrn\cyra\ \reftextvario{\cyrp\cyrr\cyro
+ \cyrt\cyri\cyrl\cyre\cyrzh\cyrn\cyrii\cyrishrt}%
+ {\cyrp\cyro\cyrp\cyre\cyrr\cyre\cyrd\cyrn\cyrii\cyrishrt}\
+ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}%
+ \def\reftextafter{\cyrn\cyra\ \cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn
+ \cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}%
+ \def\reftextbefore{\cyrn\cyra\ \cyrp\cyro\cyrp\cyre\cyrr\cyre\cyrd
+ \cyrn\cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}%
+ \def\reftextcurrent{\cyrn\cyra\ \reftextvario{\cyrc\cyrii\cyrishrt}%
+ {\cyrd\cyra\cyrn\cyrii\cyrishrt}\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn
+ \cyrc\cyrii}%
+ \def\reftextfaraway#1{\cyrn\cyra\ \cyrs.~\pageref{#1}}%
+ \def\reftextpagerange#1#2{\cyrn\cyra\ \cyrs\cyrt\cyro\cyrr\cyrii
+ \cyrn\cyrk\cyra\cyrh~\pageref{#1}--\pageref{#2}}%
+ \def\reftextlabelrange#1#2{\cyrz~\ref{#1}\ \cyrd\cyro~\ref{#2}}%
+ }}
+% \end{macrocode}
% We support francais as an alternative to french since people
% might be used to it, but we discurrage it.
% \begin{macrocode}
@@ -1341,7 +1420,7 @@
% \end{macrocode}
% Then it checks if for the current value of |\c@vrcnt| a label
% command was issued in the last run. If not it pretends that there
-% was one with the value |{??}{??}|. Thereafter it stores the the
+% was one with the value |{??}{??}|. Thereafter it stores the
% pageref value for this label in the macro |\@tempa|.
% \begin{macrocode}
\vref@pagenum\@tempa{\the\c@vrcnt @vr}%
@@ -1662,12 +1741,12 @@
%
% \begin{macro}{\is@pos@number}
% The utility macro |\is@pos@number| takes three arguments: a
-% string that is tested for being a valid integer and the actions
-% to be taken in case the test comes out true or false.
+% string that is tested for being a valid non-negative integer and the
+% actions to be taken in case the test comes out true or false.
%
% We start by passing the string to the macro |\is@pos@num| after
% prefixing it with a \texttt{0} and adding a space after it. To have
-% a well defined ending point we also add |\@nil| at the end.
+% a well-defined ending point we also add |\@nil| at the end.
%\label{isposnumber}
% \begin{macrocode}
\def\is@pos@number#1{\is@pos@num0#1\space\@nil}
@@ -1695,10 +1774,11 @@
\def\is@pos@num@#1\@nil{%
% \end{macrocode}
% Now we have to check if the argument is empty. We can do this
-% with an |\if| test (i.e., in an expandable way) since we know for
-% sure that it can not start with a digit
+% with an |\ifx| (i.e., in an expandable way) since we know for
+% sure that it can not start with |\@nil|.
+% \changes{v1.4j}{2004/05/08}{Use \cs{@nil} for testing}
% \begin{macrocode}
- \if0#10%
+ \ifx\@nil#1\@nil
% \end{macrocode}
% Depending on the result we execute the second or third argument
% of the command |\is@pos@number| using a technique that removes