From 038a5dc7d31591d03bb7dd2bee2ca5e89f0ff26a Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Wed, 21 Feb 2007 23:54:19 +0000
Subject: oberdiek bookmark0.2, hypcap1.6 (20feb07)

git-svn-id: svn://tug.org/texlive/trunk@3977 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/oberdiek/zref.dtx | 116 ++++++++++++++---------
 1 file changed, 72 insertions(+), 44 deletions(-)

(limited to 'Master/texmf-dist/source/latex/oberdiek/zref.dtx')

diff --git a/Master/texmf-dist/source/latex/oberdiek/zref.dtx b/Master/texmf-dist/source/latex/oberdiek/zref.dtx
index 66c63307912..385577518c3 100644
--- a/Master/texmf-dist/source/latex/oberdiek/zref.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/zref.dtx
@@ -84,7 +84,7 @@
 \input docstrip.tex
 \Msg{************************************************************************}
 \Msg{* Installation}
-\Msg{* Package: zref 2007/01/23 v1.4 New reference scheme for LaTeX2e (HO)}
+\Msg{* Package: zref 2007/02/18 v1.5 New reference scheme for LaTeX2e (HO)}
 \Msg{************************************************************************}
 
 \keepsilent
@@ -166,7 +166,7 @@ and the derived files
 %<*driver>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{zref.drv}%
-  [2007/01/23 v1.4 New reference scheme for LaTeX2e (HO)]
+  [2007/02/18 v1.5 New reference scheme for LaTeX2e (HO)]
 \documentclass{ltxdoc}
 \usepackage{holtxdoc}
 \begin{document}
@@ -175,7 +175,7 @@ and the derived files
 %</driver>
 % \fi
 %
-% \CheckSum{1452}
+% \CheckSum{1468}
 %
 % \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
@@ -196,7 +196,7 @@ and the derived files
 % \GetFileInfo{zref.drv}
 %
 % \title{The \xpackage{zref} package}
-% \date{2007/01/23 v1.4}
+% \date{2007/02/18 v1.5}
 % \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
 %
 % \maketitle
@@ -430,6 +430,14 @@ and the derived files
 % This sets the current value of the property \meta{propname}.
 % It is a generalization of setting \LaTeX's \cs{currentlabel}.
 %
+% \begin{declcs}{zref@getcurrent}
+%   \M{propname} \M{value}
+% \end{declcs}
+% This returns the current value of the property \meta{propname}.
+% The value may not be correct, especially if the property
+% is bound to a page (start form of \cs{zref@newprop}) and the
+% right value is only known at shipout time (e.g. property `page').
+%
 % \begin{declcs}{zref@propexists}
 %   \M{propname} \M{then}
 % \end{declcs}
@@ -834,7 +842,8 @@ and the derived files
 %
 % \subsection{Module \xoption{savepos}}
 %
-% This option supports a feature that \pdfTeX\ provides.
+% This option supports a feature that \pdfTeX\ provides
+% (and Xe\TeX).
 % \pdfTeX\ is able to tell the current position on the
 % page. The page position is not instantly known. First the
 % page must be constructed by \TeX's asynchronous output
@@ -1148,13 +1157,13 @@ the height difference of the two baselines is
 %<*package>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref}
-  [2007/01/23 v1.4 New reference scheme for LaTeX2e (HO)]
+  [2007/02/18 v1.5 New reference scheme for LaTeX2e (HO)]
 %    \end{macrocode}
 %
 % \subsubsection{Load basic module}
 %
 %    \begin{macrocode}
-\RequirePackage{zref-base}[2007/01/23]
+\RequirePackage{zref-base}[2007/02/18]
 %    \end{macrocode}
 %    Abort package loading if \xpackage{zref-base} could not be
 %    loaded successfully.
@@ -1169,7 +1178,7 @@ the height difference of the two baselines is
 \def\ZREF@temp#1{%
   \DeclareOption{#1}{%
     \AtEndOfPackage{%
-      \RequirePackage{zref-#1}[2007/01/23]%
+      \RequirePackage{zref-#1}[2007/02/18]%
     }%
   }%
 }
@@ -1229,7 +1238,7 @@ the height difference of the two baselines is
 %<*base>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-base}%
-  [2007/01/23 Module base for zref (HO)]
+  [2007/02/18 Module base for zref (HO)]
 %    \end{macrocode}
 %
 % \subsubsection{Utilities}
@@ -1521,6 +1530,15 @@ the height difference of the two baselines is
 %    \end{macrocode}
 %    \end{macro}
 %
+%    \begin{macro}{\zref@getcurrent}
+%    \cs{zref@getcurrent} gets the current value for a property.
+%    \begin{macrocode}
+\def\zref@getcurrent#1{%
+  \csname Z@C@#1\endcsname
+}
+%    \end{macrocode}
+%    \end{macro}
+%
 % \subsubsection{Reference generation}
 %
 %    \begin{macro}{\zref@label}
@@ -1889,8 +1907,8 @@ the height difference of the two baselines is
 %<*user>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-user}%
-  [2007/01/23 v1.4 Module user for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module user for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
@@ -1964,8 +1982,8 @@ the height difference of the two baselines is
 %<*abspage>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-abspage}%
-  [2007/01/23 v1.4 Module abspage for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module abspage for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
@@ -2001,8 +2019,8 @@ the height difference of the two baselines is
 %<*counter>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-counter}%
-  [2007/01/23 v1.4 Module counter for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module counter for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
@@ -2038,8 +2056,8 @@ the height difference of the two baselines is
 %<*lastpage>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-lastpage}%
-  [2007/01/23 v1.4 Module lastpage for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module lastpage for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
@@ -2072,16 +2090,16 @@ the height difference of the two baselines is
 %<*totpages>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-totpages}%
-  [2007/01/23 v1.4 Module totpages for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module totpages for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
 %    The absolute page number of the last page is the total
 %    page number.
 %    \begin{macrocode}
-\RequirePackage{zref-abspage}[2007/01/23]
-\RequirePackage{zref-lastpage}[2007/01/23]
+\RequirePackage{zref-abspage}[2007/02/18]
+\RequirePackage{zref-lastpage}[2007/02/18]
 %    \end{macrocode}
 %
 %    \begin{macro}{\ztotpages}
@@ -2111,8 +2129,8 @@ the height difference of the two baselines is
 %<*perpage>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-perpage}%
-  [2007/01/23 v1.4 Module perpage for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module perpage for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
@@ -2124,7 +2142,7 @@ the height difference of the two baselines is
 %    For detecting changed pages module \xoption{abspage}
 %    is loaded.
 %    \begin{macrocode}
-\RequirePackage{zref-abspage}[2007/01/23]
+\RequirePackage{zref-abspage}[2007/02/18]
 %    \end{macrocode}
 %
 %    We group the properties for the needed references
@@ -2268,8 +2286,8 @@ the height difference of the two baselines is
 %<*titleref>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-titleref}%
-  [2007/01/23 v1.4 Module titleref for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module titleref for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
@@ -2540,8 +2558,8 @@ the height difference of the two baselines is
 %<*xr>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-xr}%
-  [2007/01/23 v1.4 Module xr for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module xr for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %    \begin{macrocode}
@@ -2884,8 +2902,8 @@ the height difference of the two baselines is
 %<*hyperref>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-hyperref}%
-  [2007/01/23 v1.4 Module hyperref for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module hyperref for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
@@ -2913,8 +2931,8 @@ the height difference of the two baselines is
 %<*savepos>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-savepos}%
-  [2007/01/23 v1.4 Module savepos for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module savepos for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
@@ -2925,8 +2943,8 @@ the height difference of the two baselines is
 \begingroup
   \@ifundefined{pdfsavepos}{%
     \ZREF@ErrorNoLine{%
-      \string\pdfsavepos\space is not supported\MessageBreak
-      in this pdfTeX version%
+      \string\pdfsavepos\space is not supported.\MessageBreak
+      It is provided by pdfTeX (1.40) or XeTeX%
     }\ZREF@UpdatePdfTeX
     \endgroup
     \endinput
@@ -2936,17 +2954,21 @@ the height difference of the two baselines is
 %    In PDF mode we are done. However support for DVI mode
 %    was added later in version 1.40.0. In earlier versions
 %    \cs{pdfsavepos} is defined, but its execution raises
-%    an error.
+%    an error. Note that Xe\TeX\ also provides \cs{pdfsavepos}.
 %    \begin{macrocode}
 \RequirePackage{ifpdf}
 \ifpdf
 \else
-  \ifnum\pdftexversion<140 %
-    \ZREF@ErrorNoLine{%
-      \string\pdfsavepos\space is not supported in DVI mode\MessageBreak
-      of this pdfTeX version%
-    }\ZREF@UpdatePdfTeX
-    \expandafter\expandafter\expandafter\endinput
+  \begingroup\expandafter\expandafter\expandafter\endgroup
+  \expandafter\ifx\csname pdftexversion\endcsname\relax
+  \else
+    \ifnum\pdftexversion<140 %
+      \ZREF@ErrorNoLine{%
+        \string\pdfsavepos\space is not supported in DVI mode\MessageBreak
+        of this pdfTeX version%
+      }\ZREF@UpdatePdfTeX
+      \expandafter\expandafter\expandafter\endinput
+    \fi
   \fi
 \fi
 %    \end{macrocode}
@@ -3015,15 +3037,15 @@ the height difference of the two baselines is
 %<*dotfill>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{zref-dotfill}%
-  [2007/01/23 v1.4 Module dotfill for zref (HO)]
-\RequirePackage{zref-base}[2007/01/23]
+  [2007/02/18 v1.5 Module dotfill for zref (HO)]
+\RequirePackage{zref-base}[2007/02/18]
 \@ifundefined{ZREF@baseok}{\endinput}{}
 %    \end{macrocode}
 %
 %    For measuring the width of \cs{zdotfill} we use the features
 %    provided by module \xoption{savepos}.
 %    \begin{macrocode}
-\RequirePackage{zref-savepos}[2007/01/23]
+\RequirePackage{zref-savepos}[2007/02/18]
 %    \end{macrocode}
 %    For automatically generated label names we use the unique
 %    counter of module \xoption{base}.
@@ -3261,6 +3283,12 @@ the height difference of the two baselines is
 %   \item
 %     Typo in macro name fixed in documentation.
 %   \end{Version}
+%   \begin{Version}{2007/02/18 v1.5}
+%   \item
+%     \cs{zref@getcurrent} added (suggestion of Igor Akkerman).
+%   \item
+%     Modul savepos also supports Xe\TeX.
+%   \end{Version}
 % \end{History}
 %
 % \PrintIndex
-- 
cgit v1.2.3

