summaryrefslogtreecommitdiff
path: root/tex/context/base/meta-pag.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/meta-pag.tex')
-rw-r--r--tex/context/base/meta-pag.tex111
1 files changed, 53 insertions, 58 deletions
diff --git a/tex/context/base/meta-pag.tex b/tex/context/base/meta-pag.tex
index e1deafb21..90c8cc25b 100644
--- a/tex/context/base/meta-pag.tex
+++ b/tex/context/base/meta-pag.tex
@@ -1,38 +1,39 @@
%D \module
%D [ file=meta-ini,
%D version=1999.07.10,
-%D title=\METAPOST\ Graphics,
-%D subtitle=Initialization,
+%D title=\METAPOST\ Graphics,
+%D subtitle=Initialization,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
%D These definitions used to be part of the old \type
%D {core-mps} file, later changed into \type {meta-ini}, but
-%D keeping them separate is cleaner.
+%D keeping them separate is cleaner.
\writestatus{loading}{MetaPost Graphics / Page Data Management}
-\unprotect
+\unprotect
-\appendtoks
- if unknown context_page : input mp-page ; fi ;
-\to \MPinitializations
+\appendtoks
+ if unknown context_page : input mp-page ; fi ;
+\to \MPinitializations
-%D The next few macros tell \METAPOST\ how the \CONTEXT\
-%D pagebody looks.
+%D The next few macros tell \METAPOST\ how the \CONTEXT\
+%D pagebody looks.
\startuseMPgraphic{page data}
- boolean PageStateAvailable ; PageStateAvailable := true ;
- boolean OnRightPage ; OnRightPage := true ;
- def LoadPageState =
- OnRightPage := \MPonrightpage ;
- RealPageNumber := \the\realpageno ;
- PageNumber := \the\pageno ;
+ boolean PageStateAvailable, OnRightPage, InPageBody ;
+ PageStateAvailable := OnRightPage := true ;
+ InPageBody := \ifinpagebody true \else false \fi ;
+ def LoadPageState =
+ OnRightPage := \MPonrightpage ;
+ RealPageNumber := \the\realpageno ;
+ PageNumber := \the\pageno ;
NOfPages := \lastpage ;
PaperHeight := \the\papierhoogte ;
PaperWidth := \the\papierbreedte ;
@@ -60,67 +61,61 @@
RightMarginWidth := \the\rechtermargebreedte ;
RightEdgeDistance := \@the\rechterrandafstand ;
RightEdgeWidth := \the\rechterrandbreedte ;
- PageOffset := \MPpageoffset ;
- PageDepth := \MPpagedepth ;
- enddef ;
+ PageOffset := \the\pageoffset ;
+ PageDepth := \the\pagedepth ;
+ enddef ;
\stopuseMPgraphic
-
-\def\MPonrightpage{true}
-\let\MPpageoffset \!!zeropoint
-\let\MPpagedepth \!!zeropoint
+
+\def\MPonrightpage{true}
\def\freezeMPpagelayout%
- {\doifelsevalue{\??ma\v!pagina\c!offset}{\v!overlay}
- {\let\MPpageoffset\!!zeropoint}
- {\edef\MPpageoffset{\getvalue{\??ma\v!pagina\c!offset}}}%
- \edef\MPpagedepth{\getvalue{\??ma\v!pagina\c!diepte}}%
- \freezedimenmacro\MPpageoffset
- \freezedimenmacro\MPpagedepth
- \doifbothsides
- \def\MPonrightpage{true}%
+ {% the \edef\MPonrightpage{....} alternative is slower
+ \doifbothsides
+ \def\MPonrightpage{true}%
\orsideone
- \def\MPonrightpage{true}%
+ \def\MPonrightpage{true}%
\orsidetwo
- \def\MPonrightpage{false}%
+ \def\MPonrightpage{false}%
\od}
-
-\iffixedlayoutdimensions
+
+\iffixedlayoutdimensions
\let\freezeMPlayout\relax
\else
\def\freezeMPlayout% must be done more efficient
- {\freezedimenmacro\bovenafstand
- \freezedimenmacro\hoofdafstand
- \freezedimenmacro\voetafstand
- \freezedimenmacro\onderafstand
- \freezedimenmacro\linkerrandafstand
- \freezedimenmacro\linkermargeafstand
- \freezedimenmacro\rechtermargeafstand
- \freezedimenmacro\rechterrandafstand}
+ {\freezedimenmacro\bovenafstand
+ \freezedimenmacro\hoofdafstand
+ \freezedimenmacro\voetafstand
+ \freezedimenmacro\onderafstand
+ \freezedimenmacro\linkerrandafstand
+ \freezedimenmacro\linkermargeafstand
+ \freezedimenmacro\rechtermargeafstand
+ \freezedimenmacro\rechterrandafstand}
\fi
-%D We need to freeze the pagelayout before the backgrounds
-%D are build, because the overlay will temporarily become
+%D We need to freeze the pagelayout before the backgrounds
+%D are build, because the overlay will temporarily become
%D zero (overlay).
-\appendtoks
- \freezeMPpagelayout
-\to \everypagebody
+\appendtoks
+ \freezeMPpagelayout
+\to \everybeforepagebody
-%D By freezing these value every graphic, we can use layout
-%D variables that change halfways a page, whatever use that
-%D has.
+%D By freezing these value every graphic, we can use layout
+%D variables that change halfways a page, whatever use that
+%D has.
-\prependtoks
+\prependtoks
\calculatereducedvsizes % this is really needed
- \freezeMPlayout % to be used grouped
-\to \everyMPgraphic
+ \freezeMPpagelayout
+ \freezeMPlayout % to be used grouped
+\to \everyMPgraphic
-\appendtoks
- \includeMPgraphic{page data}
+\appendtoks
+ \includeMPgraphic{page data}
\to \MPinitializations
-\protect \endinput
+\protect \endinput