%D \module %D [ file=meta-pag, %D version=1999.07.10, %D title=\METAPOST\ Graphics, %D subtitle=Initialization, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. %D These definitions used to be part of the old \type {core-mps} file, later changed %D into \type {meta-ini}, but keeping them separate is cleaner. \writestatus{loading}{MetaPost Graphics / Page Data Management} \unprotect %D The next few macros tell \METAPOST\ how the \CONTEXT\ pagebody looks. % \startMPextensions % boolean PageStateAvailable; % PageStateAvailable:=true; % \stopMPextensions % maybe always set as frozen anyway % \startMPinitializations % PaperHeight:=\the\paperheight; % PaperWidth:=\the\paperwidth; % PrintPaperHeight:=\the\printpaperheight; % PrintPaperWidth:=\the\printpaperwidth; % TopSpace:=\the\topspace; % BottomSpace:=\the\bottomspace; % BackSpace:=\the\backspace; % CutSpace:=\the\cutspace; % MakeupHeight:=\the\makeupheight; % MakeupWidth:=\the\makeupwidth; % TopHeight:=\the\topheight; % TopDistance:=\the\topdistance; % HeaderHeight:=\the\headerheight; % HeaderDistance:=\the\headerdistance; % TextHeight:=\the\textheight; % FooterDistance:=\the\footerdistance; % FooterHeight:=\the\footerheight; % BottomDistance:=\the\bottomdistance; % BottomHeight:=\the\bottomheight; % LeftEdgeWidth:=\the\leftedgewidth; % LeftEdgeDistance:=\the\leftedgedistance; % LeftMarginWidth:=\the\leftmarginwidth; % LeftMarginDistance:=\the\leftmargindistance; % TextWidth:=\the\textwidth; % RightMarginDistance:=\the\rightmargindistance; % RightMarginWidth:=\the\rightmarginwidth; % RightEdgeDistance:=\the\rightedgedistance; % RightEdgeWidth:=\the\rightedgewidth; % InnerMarginDistance:=\the\innermargindistance; % InnerMarginWidth:=\the\innermarginwidth; % OuterMarginDistance:=\the\outermargindistance; % OuterMarginWidth:=\the\outermarginwidth; % InnerEdgeDistance:=\the\inneredgedistance; % InnerEdgeWidth:=\the\inneredgewidth; % OuterEdgeDistance:=\the\outeredgedistance; % OuterEdgeWidth:=\the\outeredgewidth; % PageOffset:=\the\pagebackgroundoffset; % PageDepth:=\the\pagebackgrounddepth; % LayoutColumns:=\the\layoutcolumns; % LayoutColumnDistance:=\the\layoutcolumndistance; % LayoutColumnWidth:=\the\layoutcolumnwidth; % % % boolean OnRightPage,OnOddPage,InPageBody; % % % OnRightPage:=\MPonrightpage; % OnOddPage:=\MPonoddpage; % InPageBody:=\ifinpagebody true \else false \fi; % % % RealPageNumber:=\the\realpageno; % PageNumber:=\the\pageno; % NOfPages:=\lastpage; % LastPageNumber:=\lastpage; % % % CurrentColumn:=\number\mofcolumns; % NOfColumns:=\number\nofcolumns; % \stopMPinitializations % \def\MPonrightpage{true} % just in case they're used % \def\MPonoddpage {true} % just in case they're used % \def\freezeMPpagelayout % {\edef\MPonrightpage{\doifbothsides {tru}{tru}{fals}e}% % \edef\MPonoddpage {\doifelseoddpage {tru}{fals}e}} %D We need to freeze the pagelayout before the backgrounds are build, because the %D overlay will temporarily become zero (overlay). % \appendtoks % \freezeMPpagelayout % \to \everybeforepagebody %D By freezing these value every graphic, we can use layout variables that change %D halfways a page, whatever use that has. % obsolete (but keep the code) % % \prependtoks % \calculatereducedvsizes % this is really needed % \freezeMPpagelayout % \freezeMPlayout % to be used grouped % \to \everyMPgraphic \prependtoks \calculatereducedvsizes % bah, this is really needed \to \everyMPgraphic \protect \endinput