diff options
Diffstat (limited to 'tex/context/base/meta-pag.tex')
-rw-r--r-- | tex/context/base/meta-pag.tex | 111 |
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 |