diff options
author | Taco Hoekwater <taco@elvenkind.com> | 2011-06-01 08:54:21 +0000 |
---|---|---|
committer | Taco Hoekwater <taco@elvenkind.com> | 2011-06-01 08:54:21 +0000 |
commit | d7ccb42582f85acf30568913610ccf4d602023fb (patch) | |
tree | 7292e3545a420676878e7451b68892d360c62cb6 /Master/texmf-dist/tex/context/base/strc-pag.mkiv | |
parent | 2d62a6fe9b80def59c392268022f1f9a2d6e358f (diff) |
commit context 2011.05.18
git-svn-id: svn://tug.org/texlive/trunk@22719 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/strc-pag.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/strc-pag.mkiv | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/Master/texmf-dist/tex/context/base/strc-pag.mkiv b/Master/texmf-dist/tex/context/base/strc-pag.mkiv index 0f3d7ba3b07..f4b658365f9 100644 --- a/Master/texmf-dist/tex/context/base/strc-pag.mkiv +++ b/Master/texmf-dist/tex/context/base/strc-pag.mkiv @@ -17,10 +17,6 @@ \unprotect -% Hacks: - -\let\preparepageprefix\gobbleoneargument - % Allocation: \countdef\realpageno = 0 \realpageno = 1 @@ -40,7 +36,7 @@ \def\initializepagecounters{\the\everyinitializepagecounters} \appendtoks - \initializepagecounters + \initializepagecounters \to \everyjob % Page numbers are kind of independent of each other and therefore they @@ -75,10 +71,9 @@ % \stopbodymatter % \stoptext - -\definestructurecounter[\s!realpage][\c!prefix=\v!no,\c!start=1,\c!prefixsegments=,\s!counter=realpageno] -\definestructurecounter[\s!userpage][\c!prefix=\v!no,\c!start=1,\c!prefixsegments=,\s!counter=userpageno] -\definestructurecounter[\s!subpage] [\c!prefix=\v!no,\c!start=1,\c!prefixsegments=,\s!counter=subpageno] +\definestructurecounter[\s!realpage][\c!prefix=\v!no,\c!start=1,\c!prefixsegments=,\s!counter=realpageno,\c!method=\v!page] +\definestructurecounter[\s!userpage][\c!prefix=\v!no,\c!start=1,\c!prefixsegments=,\s!counter=userpageno,\c!method=\v!page] +\definestructurecounter[\s!subpage] [\c!prefix=\v!no,\c!start=1,\c!prefixsegments=,\s!counter=subpageno, \c!method=\v!page] \newtoks\everysetuprealpagenumber % todo: set state: none, start, stop, reset \newtoks\everysetupuserpagenumber % todo: set state: none, start, stop, reset @@ -108,7 +103,7 @@ \let\resetpagenumber\resetuserpagenumber \def\savecurrentpagestate % \normalexpanded? - {\ctxlua{structure.pages.save({ + {\ctxlua{structures.pages.save({ prefix = "\structurecounterparameter\s!userpage\c!prefix", separatorset = "\structurecounterparameter\s!userpage\c!prefixseparatorset", conversion = "\structurecounterparameter\s!userpage\c!prefixconversion", @@ -226,11 +221,18 @@ \def\nextuserpagenumber {\directconvertedstructurecounter\s!userpage\v!next} \def\nextsubpagenumber {\directconvertedstructurecounter\s!subpage \v!next} -\appendtoks - \decrementstructurecounter[\s!realpage]% +\def\dodeincrementpageboundcounters % only at the end + {\decrementstructurecounter[\s!realpage]% \decrementstructurecounter[\s!userpage]% - \decrementstructurecounter[\s!subpage]% -\to\everygoodbye + \decrementstructurecounter[\s!subpage ]} + +\def\doincrementpageboundcounters + {\incrementpagenumber + \incrementsubpagenumber} + +\appendtoks + \dodeincrementpageboundcounters +\to \everygoodbye % Equivalents (compatibility): % @@ -251,8 +253,8 @@ % States: \newif\ifrightpage \rightpagetrue -\newif\ifdoublesided -\newif\ifsinglesided +\newif\ifdoublesided \newconditional\layoutisdoublesided +\newif\ifsinglesided \newconditional\layoutissinglesided % Realpage and subpage numbers: @@ -302,12 +304,12 @@ {\getparameters[\??nm][#1]\the\everysetuppagenumbering} \appendtoks - \singlesidedfalse - \doublesidedfalse + \singlesidedfalse \setfalse\layoutisdoublesided + \doublesidedfalse \setfalse\layoutissinglesided \normalexpanded{\noexpand\processallactionsinset[\@@nmalternative]} - [ \v!singlesided=>\singlesidedtrue, - \v!doublesided=>\doublesidedtrue]% - \ifx\trackingmarginnotestrue\undefined\else + [ \v!singlesided=>\singlesidedtrue\settrue\layoutissinglesided, + \v!doublesided=>\doublesidedtrue\settrue\layoutisdoublesided]% + \ifdefined\trackingmarginnotestrue \ifdoublesided \trackingmarginnotestrue \else @@ -395,17 +397,17 @@ % compatible. So, in fact there can be multiple handlers active at the % same time, but only the current one does something. -\chardef\realpagenumberstate =2 % counter state : 0=stop, 1=start, 2=start and visible -\chardef\userpagenumberstate =2 % counter state : 0=stop, 1=start, 2=start and visible -\chardef\subpagenumberstate =2 % counter state : 0=stop, 1=start, 2=start and visible -\chardef\overallpagenumberstate=1 % general number: 0=invisible, 1=visible +\setnewconstant\realpagenumberstate \plustwo % counter state : 0=stop, 1=start, 2=start and visible +\setnewconstant\userpagenumberstate \plustwo % counter state : 0=stop, 1=start, 2=start and visible +\setnewconstant\subpagenumberstate \plustwo % counter state : 0=stop, 1=start, 2=start and visible +\setnewconstant\overallpagenumberstate\plusone % general number: 0=invisible, 1=visible \def\checkpagenumberstatechange#1#2% {\edef\newpagenumberstate{\structurecounterparameter#1\c!state}% \ifx\newpagenumberstate\oldpagenumberstate \else \doifelse\newpagenumberstate\v!start - {\chardef#2\plustwo}% - {\chardef#2\zerocount}% + {#2\plustwo}% + {#2\zerocount}% \fi} \appendtoks % todo: set state: none, start, stop, reset @@ -422,8 +424,8 @@ \appendtoks % todo: set state: none, start, stop, reset \doifelse\@@nmstate\v!start - {\chardef\overallpagenumberstate\plusone}% - {\chardef\overallpagenumberstate\zerocount}% + {\overallpagenumberstate\plusone }% + {\overallpagenumberstate\zerocount}% \to \everysetuppagenumbering % Done |