1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
%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
|