summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek/zref-perpage.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/zref-perpage.sty')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/zref-perpage.sty107
1 files changed, 107 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/zref-perpage.sty b/Master/texmf-dist/tex/latex/oberdiek/zref-perpage.sty
new file mode 100644
index 00000000000..2350bb1e1e7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/oberdiek/zref-perpage.sty
@@ -0,0 +1,107 @@
+%%
+%% This is file `zref-perpage.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% zref.dtx (with options: `perpage')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 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 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Heiko Oberdiek.
+%%
+%% This work consists of the main source file zref.dtx
+%% and the derived files
+%% zref.sty, zref.pdf, zref.ins, zref.drv,
+%% zref-base.sty, zref-abspage.sty, zref-counter.sty,
+%% zref-dotfill.sty, zref-hyperref.sty, zref-lastpage.sty,
+%% zref-perpage.sty, zref-savepos.sty, zref-titleref.sty,
+%% zref-totpages.sty, zref-user.sty, zref-xr.sty,
+%% zref-example.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{zref-perpage}%
+ [2006/05/25 v1.2 Module perpage for zref (HO)]
+\RequirePackage{zref-base}[2006/05/25]
+\@ifundefined{ZREF@baseok}{\endinput}{}
+\RequirePackage{zref-abspage}[2006/05/25]
+\zref@newprop*{pagevalue}[0]{\number\c@page}
+\zref@newlist{perpage}
+\zref@addprop{perpage}{abspage}
+\zref@addprop{perpage}{page}
+\zref@addprop{perpage}{pagevalue}
+\newcounter{zpage}
+\zref@require@unique
+\let\ZREF@org@stepcounter\stepcounter
+\def\stepcounter#1{%
+ \ifcsname @stepcounterhook@#1\endcsname
+ \csname @stepcounterhook@#1\endcsname
+ \fi
+ \ZREF@org@stepcounter{#1}%
+}
+\newcommand*{\zmakeperpage}{%
+ \@ifnextchar[\ZREF@makeperpage@opt{\ZREF@@makeperpage[\z@]}%
+}
+\def\ZREF@makeperpage@opt[#1]{%
+ \begingroup
+ \edef\x{\endgroup
+ \noexpand\ZREF@@makeperpage[\number\numexpr#1-1\relax]%
+ }%
+ \x
+}
+\def\ZREF@@makeperpage[#1]#2{%
+ \@ifundefined{@stepcounterhook@#2}{%
+ \expandafter\gdef\csname @stepcounterhook@#2\endcsname{}%
+ }{}%
+ \expandafter\gdef\csname ZREF@perpage@#2\endcsname{%
+ \ZREF@@perpage@step{#2}{#1}%
+ }%
+ \expandafter\g@addto@macro\csname @stepcounterhook@#2\endcsname{%
+ \ifcsname ZREF@perpage@#2\endcsname
+ \csname ZREF@perpage@#2\endcsname
+ \fi
+ }%
+}
+\def\ZREF@@perpage@step#1#2{%
+ \global\advance\c@zref@unique\@ne
+ \begingroup
+ \expandafter\zref@labelbylist\expandafter{\thezref@unique}{perpage}%
+ \zref@ifrefundefined\thezref@unique{%
+ \global\c@zpage=\c@page
+ \global\let\thezpage\thepage
+ \expandafter\xdef\csname ZREF@abspage@#1\endcsname{\number\c@abspage}%
+ }{%
+ \global\c@zpage=\zref@extract\thezref@unique{pagevalue}\relax
+ \xdef\thezpage{\noexpand\zref@extract{\thezref@unique}{page}}%
+ \expandafter\xdef\csname ZREF@abspage@#1\endcsname{%
+ \zref@extractdefault\thezref@unique{abspage}{\number\c@abspage}%
+ }%
+ }%
+ \expandafter\ifx\csname ZREF@abspage@#1\expandafter\endcsname
+ \csname ZREF@currentabspage@#1\endcsname
+ \else
+ \global\csname c@#1\endcsname=#2\relax
+ \global\expandafter\let
+ \csname ZREF@currentabspage@#1\expandafter\endcsname
+ \csname ZREF@abspage@#1\endcsname
+ \fi
+ \endgroup
+}
+\newcommand*{\zunmakeperpage}[1]{%
+ \global\expandafter\let\csname ZREF@perpage@#1\endcsname\@undefined
+}
+\endinput
+%%
+%% End of file `zref-perpage.sty'.