diff options
author | Karl Berry <karl@freefriends.org> | 2012-05-02 21:50:45 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-05-02 21:50:45 +0000 |
commit | aa1776c78dfdb456e2228fbceaa886e64e36174c (patch) | |
tree | 7967af7f0f2079a632809a813221918af16ba8cc /Master/texmf-dist/source/latex/oberdiek/zref.dtx | |
parent | a86d14742b305868a1c2b1f33f1263a6b7d0e03d (diff) |
oberdiek (1may12)
git-svn-id: svn://tug.org/texlive/trunk@26177 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek/zref.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/zref.dtx | 1096 |
1 files changed, 981 insertions, 115 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/zref.dtx b/Master/texmf-dist/source/latex/oberdiek/zref.dtx index f677354b025..6b30275cf7e 100644 --- a/Master/texmf-dist/source/latex/oberdiek/zref.dtx +++ b/Master/texmf-dist/source/latex/oberdiek/zref.dtx @@ -1,11 +1,12 @@ % \iffalse meta-comment -% +% % File: zref.dtx -% Version: 2011/03/18 v2.21 -% -% Copyright (C) 2006-2011 by +% Version: 2012/04/04 v2.24 +% Info: A new reference scheme for LaTeX +% +% Copyright (C) 2006-2012 by % Heiko Oberdiek <heiko.oberdiek at googlemail.com> -% +% % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any later @@ -15,11 +16,11 @@ % 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, @@ -33,11 +34,11 @@ % zref-example-nextpage.tex, zref-test1.tex, % zref-test-base.tex, zref-test-runs.tex, % zref-test-titleref-memoir.tex. -% +% % Distribution: % CTAN:macros/latex/contrib/oberdiek/zref.dtx % CTAN:macros/latex/contrib/oberdiek/zref.pdf -% +% % Unpacking: % (a) If zref.ins is present: % tex zref.ins @@ -46,7 +47,7 @@ % (c) If you insist on using LaTeX % latex \let\install=y\input{zref.dtx} % (quote the arguments according to the demands of your shell) -% +% % Documentation: % (a) If zref.drv is present: % latex zref.drv @@ -56,14 +57,14 @@ % if available. Here you can specify further options, e.g. % use A4 as paper format: % \PassOptionsToClass{a4paper}{article} -% +% % Programm calls to get the documentation (example): % pdflatex zref.dtx % makeindex -s gind.ist zref.idx % pdflatex zref.dtx % makeindex -s gind.ist zref.idx % pdflatex zref.dtx -% +% % Installation: % TDS:tex/latex/oberdiek/zref.sty % TDS:tex/latex/oberdiek/zref-base.sty @@ -111,7 +112,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: zref 2011/03/18 v2.21 New reference scheme for LaTeX2e (HO)} +\Msg{* Package: zref 2012/04/04 v2.24 A new reference scheme for LaTeX (HO)} \Msg{************************************************************************} \keepsilent @@ -123,9 +124,9 @@ This is a generated file. Project: zref -Version: 2011/03/18 v2.21 +Version: 2012/04/04 v2.24 -Copyright (C) 2006-2011 by +Copyright (C) 2006-2012 by Heiko Oberdiek <heiko.oberdiek at googlemail.com> This work may be distributed and/or modified under the @@ -193,6 +194,10 @@ and the derived files \file{zref-test-base.tex}{\from{zref.dtx}{test-base}}% \file{zref-test-runs.tex}{\from{zref.dtx}{test-runs}}% \file{zref-test-titleref-memoir.tex}{\from{zref.dtx}{test-titleref-memoir}}% + \nopreamble + \nopostamble + \usedir{source/latex/oberdiek/catalogue}% + \file{zref.xml}{\from{zref.dtx}{catalogue}}% } \catcode32=13\relax% active space @@ -225,9 +230,9 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{zref.drv}% - [2011/03/18 v2.21 New reference scheme for LaTeX2e (HO)]% + [2012/04/04 v2.24 A new reference scheme for LaTeX (HO)]% \documentclass{ltxdoc} -\usepackage{holtxdoc}[2011/02/04] +\usepackage{holtxdoc}[2011/11/22] \setlength{\emergencystretch}{1em} \begin{document} \DocInput{zref.dtx}% @@ -235,7 +240,7 @@ and the derived files %</driver> % \fi % -% \CheckSum{3468} +% \CheckSum{4013} % % \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 @@ -256,7 +261,7 @@ and the derived files % \GetFileInfo{zref.drv} % % \title{The \xpackage{zref} package} -% \date{2011/03/18 v2.21} +% \date{2012/04/04 v2.24} % \author{Heiko Oberdiek\\\xemail{heiko.oberdiek at googlemail.com}} % % \maketitle @@ -447,19 +452,27 @@ and the derived files % Declares a new empty property list. % % \begin{declcs}{zref@addprop} -% \M{listname} \M{propname list} +% \M{listname} \M{propname}\\ +% \cs{zref@localaddprop} \M{listname} \M{propname} % \end{declcs} -% Adds the properties of \meta{propname list} (comma separated) +% Adds the property \meta{propname} % to the property list \meta{listname}. % The property and list must exist. -% A \meta{propname list} can be given since 2010/04/19 v2.13. -% Before this version only one property name could be added in one call -% of \cs{zref@addprop}. -% -% \begin{declcs}{zref@localaddprop} -% \M{listname} \M{propname list} +% The addition is global by \cs{zref@addprop} and limited to +% local scope by \cs{zref@localaddprop}. +% Between 2010/04/19 v2.13 and 2010/10/22 v2.19 a comma separated list +% of properties could be used as argument \meta{propname}. +% Since 2010/10/22 v2.19 the addition of several properties +% at once is supported by \cs{zref@addprops}. +% +% \begin{declcs}{zref@addprops} +% \M{listname} \M{propname list}\\ +% \cs{zref@localaddprops} \M{listname} \M{propname list} % \end{declcs} -% Local variant of \cs{zref@addprop}. +% These macros add a comma separated list of properties +% \meta{propname list} to list \meta{listname}. +% \cs{zref@addprops} works globally and \cs{zref@localaddprops} +% locally. Since 2010/10/22 v2.19. % % \begin{declcs}{zref@listexists} % \M{listname} \M{then} @@ -601,10 +614,22 @@ and the derived files % mark their use outside by \cs{zref@refused}, see the example % file. % +% \begin{declcs}{zref@def@extract}% +% \M{cmd} \M{refname} \M{propname}\\ +% \cs{zref@def@extractdefault} +% \M{cmd} \M{refname} \M{propname} \M{default} +% \end{declcs} +% Both macros extract the property \meta{propname} from the reference +% \meta{refname} the same way as macros \cs{zref@extract} and +% \cs{zref@extractdefault}. The result is stored in macro \meta{cmd}. +% Also \cs{zref@refused} is called to notify \hologo{LaTeX} that +% the reference \meta{refname} is used. Added in 2011/10/04 v2.22. +% % \begin{declcs}{zref@ifrefundefined}\markexp % \M{refname} \M{then} \M{else} % \end{declcs} -% A possibility to check whether a reference exists. +% Macro \cs{zref@ifrefundefined} calls arguments \meta{then} or \meta{else} +% dependent on the existence of the reference \meta{refname}. % % \begin{declcs}{zifrefundefined} % \M{refname} \M{then} \M{else} @@ -914,7 +939,7 @@ and the derived files \newcounter{foo} \renewcommand*{\thefoo}{\Alph{foo}} -\usepackage{zref-lastpage,zref-user}[2011/03/18] +\usepackage{zref-lastpage,zref-user}[2012/04/04] \makeatletter \zref@newprop{thefoo}{\thefoo} @@ -1028,7 +1053,7 @@ and the derived files %<<END_EXAMPLE \documentclass{book} -\usepackage{zref-nextpage}[2011/03/18] +\usepackage{zref-nextpage}[2012/04/04] \znextpagesetup {\thepage}% next page is unknown {\thepage\ (#1)}% this page is last page @@ -1262,6 +1287,14 @@ and the derived files % The reference stores the location where \cs{zsavepos} % is executed in properties |posx| and |posy|. % +% \begin{declcs}{zsaveposx} +% \M{refname}\\ +% \cs{zsaveposy} +% \M{refname} +% \end{declcs} +% Same as \cs{zsavepos} except that only the |x| or |y| component +% of the position is stored. Since 2011/12/05 v2.23. +% % \begin{declcs}{zposx}\markexp % \M{refname}\\ % \SpecialUsageIndex{\zposy}\cs{zposy}\markexp \M{refname} @@ -1291,7 +1324,10 @@ and the derived files % by calling \cs{pdfsavepos} (if \xext{aux} files are writable). % % Thus \cs{zsavepos} is basically \cs{zref@savepos} followed -% by |\zreflabelbylist{|\texttt{\meta{refname}}|}{savepos}|. +% by |\zref@labelbylist{|\texttt{\meta{refname}}|}{savepos}|. +% If \cs{TeXXeTstate} is detected and enabled, \cs{savepos} +% also adds \cs{zref@savepos} at the end to support \cs{beginR} +% where the whatits are processed in reverse order. % The property list |savepos| contains the properties |posx| % and |posy|. % @@ -1587,13 +1623,13 @@ the height difference of the two baselines is %<*package> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref} - [2011/03/18 v2.21 New reference scheme for LaTeX2e (HO)]% + [2012/04/04 v2.24 A new reference scheme for LaTeX (HO)]% % \end{macrocode} % % \subsubsection{Load basic module} % % \begin{macrocode} -\RequirePackage{zref-base}[2011/03/18] +\RequirePackage{zref-base}[2012/04/04] % \end{macrocode} % Abort package loading if \xpackage{zref-base} could not be % loaded successfully. @@ -1608,7 +1644,7 @@ the height difference of the two baselines is \def\ZREF@temp#1{% \DeclareOption{#1}{% \AtEndOfPackage{% - \RequirePackage{zref-#1}[2011/03/18]% + \RequirePackage{zref-#1}[2012/04/04]% }% }% } @@ -1674,13 +1710,13 @@ the height difference of the two baselines is %<*base> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-base}% - [2011/03/18 v2.21 Module base for zref (HO)]% + [2012/04/04 v2.24 Module base for zref (HO)]% % \end{macrocode} % % \subsubsection{Utilities} % % \begin{macrocode} -\RequirePackage{ltxcmds}[2010/03/01] +\RequirePackage{ltxcmds}[2010/12/02] \RequirePackage{infwarerr}[2010/04/08] \RequirePackage{kvsetkeys}[2010/03/01] \RequirePackage{kvdefinekeys}[2010/03/01] @@ -2249,6 +2285,41 @@ the height difference of the two baselines is % \end{macrocode} % \end{macro} % +% \begin{macro}{\zref@showprop} +% \begin{macrocode} +\ZREF@Robust\def\zref@showprop#1{% + \zref@ifpropundefined{#1}{% + \@PackageInfoNoLine{\ZREF@name}{% + Show property `#1': <undefined>% + }% + }{% + \begingroup + \toks@\expandafter\expandafter\expandafter{% + \csname Z@C@#1\endcsname + }% + \edef\ZREF@value{\the\toks@}% + \ltx@onelevel@sanitize\ZREF@value + \toks@\expandafter\expandafter\expandafter{% + \csname Z@D@#1\endcsname + }% + \edef\ZREF@default{\the\toks@}% + \ltx@onelevel@sanitize\ZREF@default + \@PackageInfoNoLine{\ZREF@name}{% + Show property `#1':\MessageBreak + \expandafter\ifx\csname Z@X@#1\endcsname\ltx@empty + Immediate % + \else + Delayed % + \fi + value: [\ZREF@value]\MessageBreak + Default: [\ZREF@default]% + }% + \endgroup + }% +} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\zref@setcurrent} % \cs{zref@setcurrent} sets the current value for a property. % \begin{macrocode} @@ -2693,6 +2764,45 @@ the height difference of the two baselines is % \end{macrocode} % \end{macro} % +% \begin{macro}{\zref@def@extract} +% \begin{macrocode} +\ZREF@Robust\def\zref@def@extract#1{% + \zref@wrapper@babel{\ZREF@def@extract{#1}}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@def@extract} +% \begin{macrocode} +\def\ZREF@def@extract#1#2#3{% + \zref@refused{#2}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{% + \zref@extract{#2}{#3}% + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\zref@def@extractdefault} +% \begin{macrocode} +\ZREF@Robust\def\zref@def@extractdefault#1{% + \zref@wrapper@babel{\ZREF@def@extractdefault{#1}}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@def@extractdefault} +% \begin{macrocode} +\def\ZREF@def@extractdefault#1#2#3#4{% + \zref@refused{#2}% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{% + \zref@extractdefault{#2}{#3}{#4}% + }% +} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\ZREF@wrapper@unexpanded} % \begin{macrocode} \ZREF@Robust{\long\def}\ZREF@wrapper@unexpanded#1{% @@ -2783,9 +2893,9 @@ the height difference of the two baselines is % \begin{macro}{\ZREF@number} % \begin{macrocode} \ltx@IfUndefined{numexpr}{% - \let\ZREF@number\number + \def\ZREF@number#1{\number#1}% }{% - \def\ZREF@number#1{\the\numexpr#1}% + \def\ZREF@number#1{\the\numexpr(#1)\relax}% } % \end{macrocode} % \end{macro} @@ -2884,6 +2994,14 @@ the height difference of the two baselines is } % \end{macrocode} % \end{macro} +% \begin{macro}{\ZREF@NewPropPageValue} +% \begin{macrocode} +\def\ZREF@NewPropPageValue{% + \zref@newprop*{pagevalue}[0]{\number\c@page}% + \global\let\ZREF@NewPropPageValue\relax +} +% \end{macrocode} +% \end{macro} % % \paragraph{Mark successful loading} % @@ -2899,8 +3017,8 @@ the height difference of the two baselines is %<*user> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-user}% - [2011/03/18 v2.21 Module user for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module user for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -2990,8 +3108,8 @@ the height difference of the two baselines is %<*abspage> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-abspage}% - [2011/03/18 v2.21 Module abspage for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module abspage for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3002,7 +3120,7 @@ the height difference of the two baselines is % to the \verb|main| property list for absolute page numbers. % These are recorded by the help of package \xpackage{atbegshi}. % \begin{macrocode} -\RequirePackage{atbegshi}% +\RequirePackage{atbegshi}[2011/10/05]% % \end{macrocode} % The counter \verb|abspage| must not go in the clear list % of \verb|@ckpt| that is used to set counters in @@ -3038,8 +3156,8 @@ the height difference of the two baselines is %<*counter> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-counter}% - [2011/03/18 v2.21 Module counter for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module counter for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3078,9 +3196,9 @@ the height difference of the two baselines is %<*lastpage> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-lastpage}% - [2011/03/18 v2.21 Module lastpage for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] -\RequirePackage{zref-abspage}[2011/03/18] + [2012/04/04 v2.24 Module lastpage for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] +\RequirePackage{zref-abspage}[2012/04/04] \RequirePackage{atveryend}[2009/12/07] \ifx\ZREF@base@ok Y% \else @@ -3150,8 +3268,8 @@ the height difference of the two baselines is %<*thepage> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-thepage}% - [2011/03/18 v2.21 Module thepage for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module thepage for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3159,14 +3277,24 @@ the height difference of the two baselines is % \end{macrocode} % % \begin{macrocode} -\RequirePackage{atbegshi} -\RequirePackage{zref-abspage}[2011/03/18] +\RequirePackage{atbegshi}[2011/10/05] +\RequirePackage{zref-abspage}[2012/04/04] % \end{macrocode} % \begin{macrocode} \zref@newlist{thepage} \zref@addprop{thepage}{page} +\ZREF@NewPropPageValue +% \end{macrocode} +% \begin{macro}{\zref@thepage@atbegshi@hook} +% \begin{macrocode} +\let\zref@thepage@atbegshi@hook\ltx@empty +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\zref@addprop{thepage}{pagevalue} \AtBeginShipout{% - \zref@wrapper@immediate{% + \AtBeginShipoutAddToBox{% + \zref@thepage@atbegshi@hook \zref@labelbylist{thepage\the\value{abspage}}{thepage}% }% } @@ -3215,8 +3343,8 @@ the height difference of the two baselines is %<*nextpage> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-nextpage}% - [2011/03/18 v2.21 Module nextpage for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module nextpage for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3224,9 +3352,9 @@ the height difference of the two baselines is % \end{macrocode} % % \begin{macrocode} -\RequirePackage{zref-abspage}[2011/03/18] -\RequirePackage{zref-thepage}[2011/03/18] -\RequirePackage{zref-lastpage}[2011/03/18] +\RequirePackage{zref-abspage}[2012/04/04] +\RequirePackage{zref-thepage}[2012/04/04] +\RequirePackage{zref-lastpage}[2012/04/04] \RequirePackage{uniquecounter}[2009/12/18] % \end{macrocode} % \begin{macrocode} @@ -3319,8 +3447,8 @@ the height difference of the two baselines is %<*totpages> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-totpages}% - [2011/03/18 v2.21 Module totpages for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module totpages for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3330,8 +3458,8 @@ the height difference of the two baselines is % The absolute page number of the last page is the total % page number. % \begin{macrocode} -\RequirePackage{zref-abspage}[2011/03/18] -\RequirePackage{zref-lastpage}[2011/03/18] +\RequirePackage{zref-abspage}[2012/04/04] +\RequirePackage{zref-lastpage}[2012/04/04] % \end{macrocode} % % \begin{macro}{\ztotpages} @@ -3361,8 +3489,8 @@ the height difference of the two baselines is %<*pagelayout> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-pagelayout}% - [2011/03/18 v2.21 Module pagelayout for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module pagelayout for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3370,11 +3498,13 @@ the height difference of the two baselines is % \end{macrocode} % % \begin{macrocode} -\RequirePackage{zref-thepage}[2011/03/18] +\RequirePackage{zref-thepage}[2012/04/04] \RequirePackage{ifluatex}[2010/03/01] \RequirePackage{atveryend}[2010/03/24] % \end{macrocode} % +% \subsubsection{Support for \hologo{LuaTeX}} +% % \begin{macrocode} \ifluatex \ifnum\luatexversion<39 % @@ -3407,6 +3537,8 @@ the height difference of the two baselines is \fi % \end{macrocode} % +% \subsubsection{Define layout properties} +% % \begin{macrocode} \def\ZREF@temp#1{% \begingroup @@ -3415,8 +3547,8 @@ the height difference of the two baselines is \edef\x{% \endgroup \noexpand\zref@newprop*{\string#1}% - [\number\noexpand#1]% hash-ok - {\number\noexpand#1}% + [\noexpand\number\noexpand#1]% hash-ok + {\noexpand\number\noexpand#1}% \noexpand\zref@addprop{thepage}{\string#1}% }% \x @@ -3425,8 +3557,10 @@ the height difference of the two baselines is \ZREF@temp\mag \ZREF@temp\paperwidth \ZREF@temp\paperheight -\ZREF@temp\stockwidth -\ZREF@temp\stockheight +\ZREF@temp\stockwidth % memoir.cls, crop.sty +\ZREF@temp\stockheight % memoir.cls, crop.sty +\ZREF@temp\mediawidth % VTeX +\ZREF@temp\mediaheight % VTeX \ZREF@temp\pdfpagewidth \ZREF@temp\pdfpageheight \ZREF@temp\pdfhorigin @@ -3445,6 +3579,25 @@ the height difference of the two baselines is \ZREF@temp\marginparsep \ZREF@temp\columnwidth \ZREF@temp\columnsep +\ZREF@temp\trimedge % memoir.cls +\ZREF@temp\spinemargin % memoir.cls +\ZREF@temp\foremargin % memoir.cls +\ZREF@temp\trimtop % memoir.cls +\ZREF@temp\uppermargin % memoir.cls +\ZREF@temp\headmargin % memoir.cls +% \end{macrocode} +% +% \begin{macrocode} +\zref@newprop*{outputboxwd}[0pt]{\AtBeginShipoutBoxWidth} +% \end{macrocode} +% \begin{macrocode} +\zref@newprop*{outputboxht}[0pt]{\AtBeginShipoutBoxHeight} +% \end{macrocode} +% \begin{macrocode} +\zref@newprop*{outputboxdp}[0pt]{\AtBeginShipoutBoxDepth} +% \end{macrocode} +% \begin{macrocode} +\zref@addprops{thepage}{outputboxwd,outputboxht,outputboxdp} % \end{macrocode} % % \begin{macro}{\ifZREF@pl@list} @@ -3508,6 +3661,8 @@ the height difference of the two baselines is \ZREF@pl@ListEntry{paperheight}% \ZREF@pl@ListEntry{stockwidth}% \ZREF@pl@ListEntry{stockheight}% + \ZREF@pl@ListEntry{mediawidth}% + \ZREF@pl@ListEntry{mediaheight}% \ZREF@pl@ListEntry{pdfpagewidth}% \ZREF@pl@ListEntry{pdfpageheight}% \ZREF@pl@ListEntry{pdfhorigin}% @@ -3526,6 +3681,12 @@ the height difference of the two baselines is \ZREF@pl@ListEntry{marginparsep}% \ZREF@pl@ListEntry{columnwidth}% \ZREF@pl@ListEntry{columnsep}% + \ZREF@pl@ListEntry{trimedge}% + \ZREF@pl@ListEntry{spinemargin}% + \ZREF@pl@ListEntry{foremargin}% + \ZREF@pl@ListEntry{trimtop}% + \ZREF@pl@ListEntry{uppermargin}% + \ZREF@pl@ListEntry{headmargin}% }% }% }\x @@ -3558,6 +3719,7 @@ the height difference of the two baselines is \ZREF@pl@AfterLastShipout } % \end{macrocode} +% % \begin{macrocode} %</pagelayout> % \end{macrocode} @@ -3569,8 +3731,8 @@ the height difference of the two baselines is %<*pageattr> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-pageattr}% - [2011/03/18 v2.21 Module pageattr for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module pageattr for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3620,7 +3782,7 @@ the height difference of the two baselines is \def\zref@pdfpageattr#1{}% \def\zref@pdfpageattr@used#1{}% }{% - \RequirePackage{zref-thepage}[2011/03/18]% + \RequirePackage{zref-thepage}[2012/04/04]% \zref@newprop*{pdfpageattr}[]{\zref@hex{\the\pdfpageattr}}% \zref@addprop{thepage}{pdfpageattr}% \let\ZREF@temp=Y% @@ -3632,7 +3794,7 @@ the height difference of the two baselines is \def\zref@pdfpagesattr{}% \def\zref@pdfpagesattr@used{}% }{% - \RequirePackage{zref-lastpage}[2011/03/18]% + \RequirePackage{zref-lastpage}[2012/04/04]% \zref@newprop*{pdfpagesattr}[]{\zref@hex{\the\pdfpagesattr}}% \zref@addprop{LastPage}{pdfpagesattr}% \let\ZREF@temp=Y% @@ -3644,7 +3806,7 @@ the height difference of the two baselines is \fi % \end{macrocode} % \begin{macrocode} -\RequirePackage{zref-abspage}[2011/03/18] +\RequirePackage{zref-abspage}[2012/04/04] \RequirePackage{atveryend}[2010/03/24] \RequirePackage{pdftexcmds}[2010/04/01] \let\ZREF@temp=Y% @@ -3714,7 +3876,7 @@ the height difference of the two baselines is % \begin{macrocode} \def\zref@pageattr#1{% \zref@unhex{% - \zref@extract{thepage\ZREF@number#1}{pdfpageattr}% + \zref@extract{thepage\ZREF@number{#1}}{pdfpageattr}% }% } % \end{macrocode} @@ -3722,7 +3884,7 @@ the height difference of the two baselines is % \begin{macro}{\zref@pageattr@used} % \begin{macrocode} \ZREF@Robust\def\zref@pageattr@used#1{% - \zref@refused{thepage\ZREF@number#1}% + \zref@refused{thepage\ZREF@number{#1}}% } % \end{macrocode} % \end{macro} @@ -3794,8 +3956,8 @@ the height difference of the two baselines is %<*marks> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-marks}% - [2011/03/18 v2.21 Module marks for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module marks for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3805,7 +3967,7 @@ the height difference of the two baselines is % \begin{macrocode} \newcommand*{\zref@marks@register}[3][]{% \edef\ZREF@TempName{#1}% - \edef\ZREF@TempNum{\ZREF@number#2}% + \edef\ZREF@TempNum{\ZREF@number{#2}}% \ifnum\ZREF@TempNum<\ltx@zero % \PackageError\ZREF@name{% \string\zref@marks@register\ltx@space is called with invalid% @@ -3900,7 +4062,7 @@ the height difference of the two baselines is %<*runs> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-runs}% - [2011/03/18 v2.21 Module runs for zref (HO)]% + [2012/04/04 v2.24 Module runs for zref (HO)]% % \end{macrocode} % % \begin{macro}{\zruns} @@ -3932,8 +4094,8 @@ the height difference of the two baselines is %<*perpage> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-perpage}% - [2011/03/18 v2.21 Module perpage for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module perpage for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -3948,14 +4110,14 @@ the height difference of the two baselines is % For detecting changed pages module \xmodule{abspage} % is loaded. % \begin{macrocode} -\RequirePackage{zref-abspage}[2011/03/18] +\RequirePackage{zref-abspage}[2012/04/04] % \end{macrocode} % % We group the properties for the needed references % in the property list |perpage|. The property |pagevalue| % records the correct value of the page counter. % \begin{macrocode} -\zref@newprop*{pagevalue}[0]{\number\c@page} +\ZREF@NewPropPageValue \zref@newlist{perpage} \zref@addprops{perpage}{abspage,page,pagevalue} % \end{macrocode} @@ -4099,8 +4261,8 @@ the height difference of the two baselines is %<*titleref> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-titleref}% - [2011/03/18 v2.21 Module titleref for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module titleref for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -4421,6 +4583,17 @@ the height difference of the two baselines is \ZREF@org@ttl@sect@i{#1}{#2}[{#3}]{#4}% }% }% + \ZREF@patch{ttl@straight@i}{% + \def\ttl@straight@i#1[#2]#3{% + \def\ZREF@temp{#2}% + \ifx\ZREF@temp\ltx@empty + \zref@titleref@setcurrent{#3}% + \else + \zref@titleref@setcurrent{#2}% + \fi + \ZREF@org@ttl@straight@i{#1}[{#2}]{#3}% + }% + }% }{}% % \end{macrocode} % @@ -4501,8 +4674,8 @@ the height difference of the two baselines is %<*xr> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-xr}% - [2011/03/18 v2.21 Module xr for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module xr for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -5037,8 +5210,8 @@ the height difference of the two baselines is %<*hyperref> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-hyperref}% - [2011/03/18 v2.21 Module hyperref for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module hyperref for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -5067,8 +5240,8 @@ the height difference of the two baselines is %<*savepos> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-savepos}% - [2011/03/18 v2.21 Module savepos for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module savepos for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -5130,18 +5303,52 @@ the height difference of the two baselines is % \end{macrocode} % \end{macro} % +% \begin{macro}{\ZREF@zsavepos} +% \begin{macrocode} +\def\ZREF@zsavepos#1#2#3{% + \@bsphack + \if@filesw + \zref@savepos + #1{#3}{#2}% + \ltx@IfUndefined{TeXXeTstate}{% + }{% + \ifnum\TeXXeTstate=\ltx@zero + \else + \zref@savepos + \fi + }% + \fi + \@esphack +} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\zsavepos} % The current location is stored in a reference with the % given name. % \begin{macrocode} \ZREF@IfDefinable\zsavepos\def{% - #1{% - \@bsphack - \if@filesw - \zref@savepos - \zref@labelbylist{#1}{savepos}% - \fi - \@esphack + {% + \ZREF@zsavepos\zref@labelbylist{savepos}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zsaveposx} +% \begin{macrocode} +\ZREF@IfDefinable\zsaveposx\def{% + {% + \ZREF@zsavepos\zref@labelbyprops{posx}% + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\zsaveposy} +% \begin{macrocode} +\ZREF@IfDefinable\zsaveposy\def{% + {% + \ZREF@zsavepos\zref@labelbyprops{posy}% }% } % \end{macrocode} @@ -5192,8 +5399,8 @@ the height difference of the two baselines is %<*abspos> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-abspos}% - [2011/03/18 v2.21 Module abspos for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module abspos for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -5201,18 +5408,616 @@ the height difference of the two baselines is % \end{macrocode} % % \begin{macrocode} -\RequirePackage{zref-savepos}[2011/03/18] +\RequirePackage{zref-savepos}[2012/04/04] \ifx\ZREF@savepos@ok Y% \else \expandafter\endinput \fi % \end{macrocode} % \begin{macrocode} -\RequirePackage{zref-pagelayout}[2011/03/18] +\RequirePackage{zref-pagelayout}[2012/04/04] \zref@addprop{savepos}{abspage} % \end{macrocode} % % \begin{macrocode} +\RequirePackage{ifpdf}[2010/09/13] +% \end{macrocode} +% +% \begin{macro}{\zref@absposx} +% \begin{macrocode} +\newcommand*{\zref@absposx}[3]{% + \number + \expandafter\zref@absposnumx\expandafter{% + \number\zref@extractdefault{#1}{abspage}{0}% + }{#2}{#3}% + \ltx@space +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@absposy} +% \begin{macrocode} +\newcommand*{\zref@absposy}[3]{% + \number + \expandafter\zref@absposnumy\expandafter{% + \number\zref@extractdefault{#1}{abspage}{0}% + }{#2}{#3}% + \ltx@space +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@absposnumx} +% \begin{macrocode} +\newcommand*{\zref@absposnumx}[3]{% + \number +% \ifnum#1>\ltx@zero +% \zref@ifrefundefined{thepage#1}{% +% 0% +% }{% + \numexpr\ZREF@absposnum{thepage#1}{#2}{x}{#3}\relax +% }% +% \else +% 0% +% \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@absposnumy} +% \begin{macrocode} +\newcommand*{\zref@absposnumy}[3]{% + \number +% \ifnum#1>\ltx@zero +% \zref@ifrefundefined{thepage#1}{% +% 0% +% }{% + \numexpr\ZREF@absposnum{thepage#1}{#2}{y}{#3}\relax +% }% +% \else +% 0% +% \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@absposnum} +% \begin{macrocode} +\def\ZREF@absposnum#1#2#3#4{% + \ltx@ifundefined{ZREF@abspos@#2@#3@#4}{% + 0% + }{% + \csname ZREF@abspos@#2@#3@#4\endcsname{#1}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@def@absposx} +% \begin{macrocode} +\ZREF@Robust\def\zref@def@absposx#1{% + \zref@wrapper@babel{\ZREF@def@abspos{#1}\zref@absposx}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@def@absposy} +% \begin{macrocode} +\ZREF@Robust\def\zref@def@absposy#1{% + \zref@wrapper@babel{\ZREF@def@abspos{#1}\zref@absposy}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@def@absposnumx} +% \begin{macrocode} +\ZREF@Robust\def\zref@def@absposnumx#1{% + \zref@wrapper@babel{\ZREF@def@abspos{#1}\zref@absposnumx}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@def@absposnumy} +% \begin{macrocode} +\ZREF@Robust\def\zref@def@absposnumy#1{% + \zref@wrapper@babel{\ZREF@def@abspos{#1}\zref@absposnumy}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@def@abspos} +% \begin{macrocode} +\def\ZREF@def@absposnumy#1#2#3#4#5{% + \edef#1{#2{#3}{#4}{#5}}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@absposused} +% \begin{macrocode} +\ZREF@Robust\def\zref@absposused{% + \zref@wrapper@babel\ZREF@abspos@used +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@used} +% \begin{macrocode} +\def\ZREF@abspos@used#1{% + \zref@refused{#1}% + \zref@ifrefundefined{#1}{% + }{% + \begingroup + \edef\ZREF@temp{% + \zref@extractdefault{#1}{abspage}{0}% + }% + \ifnum\ZREF@temp>\ltx@zero + \zref@refused{thepage\ZREF@temp}% + \else + \@PackageError{zref-abspos}{% + \string\zref@pos@label@used\ltx@space + needs property `abspage'\MessageBreak + in label `#1'% + }\@ehc + \fi + \endgroup + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@absposnumused} +% \begin{macrocode} +\newcommand*{\zref@absposnumused}[1]{% + \ifnum#1>\ltx@zero + \zref@refused{thepage\number#1}% + \else + \@PackageError{zref-abspos}{% + Invalid absolute page number (#1)\MessageBreak + for \string\zref@pos@num@used.\MessageBreak + A positive integer is expected% + }\@ehc + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@ifabsposundefined} +% \begin{macrocode} +\def\zref@ifabsposundefined#1{% + \zref@ifrefundefined{#1}\ltx@firsttwo{% + \expandafter\zref@ifabsposnumundefined\expandafter{% + \number\zref@extractdefault{#1}{abspage}{0}% + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\zref@ifabsposnumundefined} +% \begin{macrocode} +\def\zref@ifabsposnumundefined#1{% + \ifnum\ZREF@number{#1}>\ltx@zero + \zref@ifrefundefined{thepage#1}% + \ltx@firstoftwo\ltx@secondoftwo + \else + \expandafter\ltx@firstoftwo + \fi +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Media} +% +% \begin{macro}{\ZREF@abspos@media@width} +% \begin{macrocode} +\edef\ZREF@abspos@media@width{% + \ltx@ifundefined{pdfpagewidth}{% + \ltx@ifundefined{mediawidth}{% + \ltx@ifundefined{stockwidth}{% + paperwidth% + }{% + stockwidth% + }% + }{% + mediawidth% + }% + }{% + pdfpagewidth% + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@media@height} +% \begin{macrocode} +\edef\ZREF@abspos@media@height{% + \ltx@ifundefined{pdfpageheight}{% + \ltx@ifundefined{mediaheight}{% + \ltx@ifundefined{stockheight}{% + paperheight% + }{% + stockheight% + }% + }{% + mediaheight% + }% + }{% + \noexpand\ifcase\pdfpageheight + \ltx@ifundefined{stockheight}{% + paperheight% + }{% + stockheight% + }% + \noexpand\else + pdfpageheight% + \noexpand\fi + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@abspos@media@x@left} +% \begin{macrocode} +\def\ZREF@abspos@media@x@left#1{% + 0% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@media@x@right} +% \begin{macrocode} +\def\ZREF@abspos@media@x@right#1{% + \zref@extract{#1}\ZREF@abspos@media@width +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@media@x@center} +% \begin{macrocode} +\def\ZREF@abspos@media@x@center#1{% + \ZREF@abspos@media@x@left{#1}% + +\zref@extract{#1}\ZREF@abspos@media@width/2% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@abspos@media@y@top} +% \begin{macrocode} +\def\ZREF@abspos@media@y@top#1{% + \zref@extract{#1}\ZREF@abspos@media@height +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@media@y@bottom} +% \begin{macrocode} +\def\ZREF@abspos@media@y@bottom#1{% + 0% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@media@y@center} +% \begin{macrocode} +\def\ZREF@abspos@media@y@center#1{% + \zref@extract{#1}\ZREF@abspos@media@height/2% +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Paper} +% +% \begin{macro}{\ZREF@abspos@paper@x@left} +% \begin{macrocode} +\def\ZREF@abspos@paper@x@left#1{% + 0% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@paper@x@right} +% \begin{macrocode} +\def\ZREF@abspos@paper@x@right#1{% + \zref@extract{#1}{paperwidth}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@paper@x@center} +% \begin{macrocode} +\def\ZREF@abspos@paper@x@center#1{% + \zref@extract{#1}{paperwidth}/2% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@abspos@paper@y@top} +% \begin{macrocode} +\let\ZREF@abspos@paper@y@top\ZREF@abspos@media@y@top +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@paper@y@bottom} +% \begin{macrocode} +\def\ZREF@abspos@paper@y@bottom#1{% + \ZREF@abspos@paper@y@top{#1}% + -\zref@extract{#1}{paperheight}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@paper@y@center} +% \begin{macrocode} +\def\ZREF@abspos@paper@y@center#1{% + \ZREF@abspos@paper@y@top{#1}% + -\zref@extract{#1}{paperheight}/2% +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Origin} +% +% \begin{macro}{\ZREF@abspos@origin@x} +% \begin{macrocode} +\let\ZREF@temp\ltx@two +\ltx@IfUndefined{pdfhorigin}{}{% + \ifpdf + \let\ZREF@temp\ltx@zero + \fi +} +\ifx\ZREF@temp\ltx@two + \ifnum\mag=1000 % + \let\ZREF@temp\ltx@one + \fi +\fi +\ifcase\ZREF@temp + \def\ZREF@abspos@origin@x#1{% + \zref@extract{#1}{pdfhorigin}% + }% +\or + \def\ZREF@abspos@origin@x#1{% + 4736286% + }% +\or + \def\ZREF@abspos@origin@x#1{% + \numexpr\mag/1000*\dimexpr 1truein\relax\relax + }% +\fi +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@origin@y} +% \begin{macrocode} +\let\ZREF@temp\ltx@two +\ltx@IfUndefined{pdfvorigin}{}{% + \ifpdf + \let\ZREF@temp\ltx@zero + \fi +} +\ifx\ZREF@temp\ltx@two + \ifnum\mag=1000 % + \let\ZREF@temp\ltx@one + \fi +\fi +\ifcase\ZREF@temp + \def\ZREF@abspos@origin@y#1{% + \zref@extract{#1}{pdfvorigin}% + }% +\or + \def\ZREF@abspos@origin@y#1{% + 4736286% + }% +\or + \def\ZREF@abspos@origin@y#1{% + \numexpr\mag/1000*\dimexpr 1truein\relax\relax + }% +\fi +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Header} +% +% \begin{macro}{\ZREF@abspos@head@x@left} +% \begin{macrocode} +\def\ZREF@abspos@head@x@left#1{% + \ZREF@abspos@paper@x@left{#1}% + +\ZREF@abspos@origin@x{#1}% + +\zref@extract{#1}{hoffset}% + +\ifodd\zref@extractdefault{#1}{pagevalue}{\number\c@page} % + \zref@extract{#1}{oddsidemargin}% + \else + \zref@extract{#1}{evensidemargin}% + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@head@x@right} +% \begin{macrocode} +\def\ZREF@abspos@head@x@right#1{% + \ZREF@abspos@head@x@left{#1}% + +\zref@extract{#1}{textwidth}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@head@x@center} +% \begin{macrocode} +\def\ZREF@abspos@head@x@center#1{% + \ZREF@abspos@head@x@left{#1}% + +\zref@extract{#1}{textwidth}/2% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@abspos@head@y@top} +% \begin{macrocode} +\def\ZREF@abspos@head@y@top#1{% + \ZREF@abspos@paper@y@top{#1}% + -\ZREF@abspos@origin@y{#1}% + -\zref@extract{#1}{voffset}% + -\zref@extract{#1}{topmargin}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@head@y@bottom} +% \begin{macrocode} +\def\ZREF@abspos@head@y@bottom#1{% + \ZREF@abspos@head@y@top{#1}% + -\zref@extract{#1}{headheight}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@head@y@center} +% \begin{macrocode} +\def\ZREF@abspos@head@y@center#1{% + \ZREF@abspos@head@y@top{#1}% + -\zref@extract{#1}{headheight}/2% +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Body} +% +% \begin{macro}{\ZREF@abspos@body@x@left} +% \begin{macrocode} +\let\ZREF@abspos@body@x@left\ZREF@abspos@head@x@left +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@body@x@right} +% \begin{macrocode} +\let\ZREF@abspos@body@x@right\ZREF@abspos@head@x@right +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@body@x@center} +% \begin{macrocode} +\let\ZREF@abspos@body@x@center\ZREF@abspos@head@x@center +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@abspos@body@y@top} +% \begin{macrocode} +\def\ZREF@abspos@body@y@top#1{% + \ZREF@abspos@head@y@bottom{#1}% + -\zref@extract{#1}{headsep}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@body@y@bottom} +% \begin{macrocode} +\def\ZREF@abspos@body@y@bottom#1{% + \ZREF@abspos@body@y@top{#1}% + -\zref@extract{#1}{textheight}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@body@y@center} +% \begin{macrocode} +\def\ZREF@abspos@body@y@center#1{% + \ZREF@abspos@body@y@top{#1}% + -\zref@extract{#1}{textheight}/2% +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Footer} +% +% \begin{macro}{\ZREF@abspos@foot@x@left} +% \begin{macrocode} +\let\ZREF@abspos@foot@x@left\ZREF@abspos@head@x@left +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@foot@x@right} +% \begin{macrocode} +\let\ZREF@abspos@foot@x@right\ZREF@abspos@head@x@right +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@foot@x@center} +% \begin{macrocode} +\let\ZREF@abspos@foot@x@center\ZREF@abspos@head@x@center +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@abspos@foot@y@bottom} +% \begin{macrocode} +\def\ZREF@abspos@foot@y@bottom#1{% + \ZREF@abspos@body@y@bottom{#1}% + -\zref@extract{#1}{footskip}% +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Marginal notes} +% +% \begin{macro}{\ZREF@abspos@marginpar@x@left} +% \begin{macrocode} +\def\ZREF@abspos@marginpar@x@left#1{% + \ifodd\zref@extractdefault{#1}{pagevalue}{\number\c@page} % + \ZREF@abspos@body@x@right{#1}% + +\zref@extract{#1}{marginparsep}% + \else + \ZREF@abspos@body@x@left{#1}% + -\zref@extract{#1}{marginparsep}% + -\zref@extract{#1}{marginparwidth}% + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@marginpar@x@right} +% \begin{macrocode} +\def\ZREF@abspos@marginpar@x@right#1{% + \ZREF@abspos@marginpar@x@left{#1}% + +\zref@extract{#1}{marginparwidth}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@marginpar@x@center} +% \begin{macrocode} +\def\ZREF@abspos@marginpar@x@center#1{% + \ZREF@abspos@marginpar@x@left{#1}% + +\zref@extract{#1}{marginparwidth}/2% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@abspos@marginpar@y@top} +% \begin{macrocode} +\let\ZREF@abspos@marginpar@y@top\ZREF@abspos@body@y@top +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@marginpar@y@bottom} +% \begin{macrocode} +\let\ZREF@abspos@marginpar@y@bottom\ZREF@abspos@body@y@bottom +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@marginpar@y@center} +% \begin{macrocode} +\let\ZREF@abspos@marginpar@y@center\ZREF@abspos@body@y@center +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Stock paper} +% +% \begin{macro}{\ZREF@abspos@stock@x@left} +% \begin{macrocode} +\let\ZREF@abspos@stock@x@left\ZREF@abspos@paper@x@left +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@stock@x@right} +% \begin{macrocode} +\let\ZREF@abspos@stock@x@right\ZREF@abspos@paper@x@right +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@stock@x@center} +% \begin{macrocode} +\let\ZREF@abspos@stock@x@center\ZREF@abspos@paper@x@center +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ZREF@abspos@stock@y@top} +% \begin{macrocode} +\let\ZREF@abspos@stock@y@top\ZREF@abspos@paper@y@top +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@stock@y@bottom} +% \begin{macrocode} +\let\ZREF@abspos@stock@y@bottom\ZREF@abspos@paper@y@bottom +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ZREF@abspos@stock@y@center} +% \begin{macrocode} +\let\ZREF@abspos@stock@y@center\ZREF@abspos@paper@y@center +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} %</abspos> % \end{macrocode} % @@ -5223,8 +6028,8 @@ the height difference of the two baselines is %<*dotfill> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-dotfill}% - [2011/03/18 v2.21 Module dotfill for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module dotfill for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -5234,7 +6039,7 @@ the height difference of the two baselines is % For measuring the width of \cs{zdotfill} we use the features % provided by module \xmodule{savepos}. % \begin{macrocode} -\RequirePackage{zref-savepos}[2011/03/18] +\RequirePackage{zref-savepos}[2012/04/04] % \end{macrocode} % For automatically generated label names we use the unique % counter of module \xmodule{base}. @@ -5323,8 +6128,8 @@ the height difference of the two baselines is %<*env> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{zref-env}% - [2011/03/18 v2.21 Module env for zref (HO)]% -\RequirePackage{zref-base}[2011/03/18] + [2012/04/04 v2.24 Module env for zref (HO)]% +\RequirePackage{zref-base}[2012/04/04] \ifx\ZREF@base@ok Y% \else \expandafter\endinput @@ -5369,7 +6174,7 @@ the height difference of the two baselines is \NeedsTeXFormat{LaTeX2e} \nofiles \documentclass{article} -\usepackage{zref-base}[2011/03/18] +\usepackage{zref-base}[2012/04/04] \usepackage{qstest} \IncludeTests{*} \LogTests{log}{*}{*} @@ -5409,7 +6214,7 @@ the height difference of the two baselines is %<*test-base> \NeedsTeXFormat{LaTeX2e} \documentclass{article} -\usepackage{zref-base,zref-titleref}[2011/03/18] +\usepackage{zref-base,zref-titleref}[2012/04/04] \usepackage{qstest} \IncludeTests{*} \LogTests{log}{*}{*} @@ -5468,7 +6273,7 @@ the height difference of the two baselines is %<*test-runs> \NeedsTeXFormat{LaTeX2e} \documentclass{article} -\usepackage{zref-runs}[2011/03/18] +\usepackage{zref-runs}[2012/04/04] \usepackage{qstest} \IncludeTests{*} \LogTests{log}{*}{*} @@ -5497,7 +6302,7 @@ the height difference of the two baselines is %<*test-titleref-memoir> \NeedsTeXFormat{LaTeX2e} \documentclass{memoir} -\usepackage{zref-titleref}[2011/03/18] +\usepackage{zref-titleref}[2012/04/04] \usepackage{qstest} \IncludeTests{*} \LogTests{log}{*}{*} @@ -5761,12 +6566,51 @@ the height difference of the two baselines is %\end{verbatim} % \end{quote} % +% \section{Catalogue} +% +% The following XML file can be used as source for the +% \href{http://mirror.ctan.org/help/Catalogue/catalogue.html}{\TeX\ Catalogue}. +% The elements \texttt{caption} and \texttt{description} are imported +% from the original XML file from the Catalogue. +% The name of the XML file in the Catalogue is \xfile{zref.xml}. +% \begin{macrocode} +%<*catalogue> +<?xml version='1.0' encoding='us-ascii'?> +<!DOCTYPE entry SYSTEM 'catalogue.dtd'> +<entry datestamp='$Date$' modifier='$Author$' id='zref'> + <name>zref</name> + <caption>A new reference scheme for LaTeX.</caption> + <authorref id='auth:oberdiek'/> + <copyright owner='Heiko Oberdiek' year='2006-2012'/> + <license type='lppl1.3'/> + <version number='2.24'/> + <description> + This package offers a means to remove the limitation, of only two + properties, that is inherent in the way LaTeX’s reference system + works. The package implements an extensible referencing system, + where properties are handled in a more flexible way. It provides + an interface for macro programmers to access the new reference + scheme and some applications that use it. + <p/> + The package is part of the <xref refid='oberdiek'>oberdiek</xref> + bundle. + </description> + <documentation details='Package documentation' + href='ctan:/macros/latex/contrib/oberdiek/zref.pdf'/> + <ctan file='true' path='/macros/latex/contrib/oberdiek/zref.dtx'/> + <miktex location='oberdiek'/> + <texlive location='oberdiek'/> + <install path='/macros/latex/contrib/oberdiek/oberdiek.tds.zip'/> +</entry> +%</catalogue> +% \end{macrocode} +% % \newcommand*{\bibpackage}[4]{^^A % \bibitem{#1} % Package \xpackage{#1}, #2, #3.^^A % \ifx\\#4\\\else#4\fi\par % } -% +% % \begin{thebibliography}{99} % \bibpackage{footmisc}{Robin Fairbairns}{2004/01/23 v5.3a} % {\CTAN{macros/latex/contrib/footmisc/footmisc.dtx}} @@ -6016,6 +6860,28 @@ the height difference of the two baselines is % \item % Fix for \cs{zref@localaddprop} (probably since v2.19). % \end{Version} +% \begin{Version}{2011/10/05 v2.22} +% \item +% Documentation fixed for \cs{zref@(local)addprop(s)}. +% \item +% Module \xmodule{base}: \cs{zref@def@extract}, \cs{zref@def@extractdefault} +% added. +% \item +% Fix in module \xmodule{pagelayout}: Because of missing \cs{noexpand} +% commands the values of the pagelayout properties on all pages were +% the values at package loading. +% \item +% Module \xmodule{base}: \cs{zref@showprop} added. +% \end{Version} +% \begin{Version}{2011/12/05 v2.23} +% \item +% Module \xmodule{savepos}: \cs{zsaveposx} and \cs{zsaveposy} added. +% \end{Version} +% \begin{Version}{2012/04/04 v2.24} +% \item +% Module \xmodule{titleref}, package \xpackage{titlesec}: +% some support for class `straight' (\cs{ttl@straight@i}) added. +% \end{Version} % \end{History} % % \PrintIndex |