.PORTION !NONAME ; .FILL; ADJUST; RETAIN; APART; .PAGE FRAME 72 WIDE 59 HIGH; .AREA TEXT LINE 4 TO 57; .TITLE AREA HEADING LINES 1 TO 3 .TITLE AREA FOOTING LINE 59 .PLACE TEXT; .AT NULL  IF FILLING THEN BREAK ELSE SKIP 1 ;;  .MACRO SINGLE SPACE  BREAK ; SPREAD _ 1 ;  .MACRO DOUBLE SPACE  BREAK ; SPREAD _ 2 ;  .MACRO TRIPLE SPACE  BREAK ; SPREAD _ 3 ;  .MACRO QUADRUPLE SPACE  BREAK ; SPREAD _ 4 ;  .!HF _ FALSE; !EH _ !OH _ !EF _ !OF _ NULL .MACRO EVERY HEADING(L,C,R)  !EH _ !OH _ !HF _ IF "C"=NULL THEN "LR" ELSE "L_CR" ;  .MACRO EVERY FOOTING(L,C,R)  !EF _ !OF _ !HF _ IF "C"=NULL THEN "LR" ELSE "L_CR" ;  .MACRO EVEN HEADING(L,C,R)  !EH _ !HF _ IF "C"=NULL THEN "LR" ELSE "L_CR" ;  .MACRO ODD HEADING(L,C,R)  !OH _ !HF _ IF "C"=NULL THEN "LR" ELSE "L_CR" ;  .MACRO EVEN FOOTING(L,C,R)  !EF _ !HF _ IF "C"=NULL THEN "LR" ELSE "L_CR" ;  .MACRO ODD FOOTING(L,C,R)  !OF _ !HF _ IF "C"=NULL THEN "LR" ELSE "L_CR" ;  .RECURSIVE MACRO STANDARD TITLES  IF !HF THEN BEGIN NOFILL TURN ON "_", "", "{" INDENT 0,0 . IF EVEN PAGE THEN . START . IF LENGTH(!EH) THEN START PLACE HEADING; !EH END ; . IF LENGTH(!EF) THEN START PLACE FOOTING; !EF END ; . END . ELSE START . IF LENGTH(!OH) THEN START PLACE HEADING; !OH END ; . IF LENGTH(!OF) THEN START PLACE FOOTING; !OF END ; . END ; .END  .BEFORE PAGE  IF !HF THEN STANDARD TITLES ;;  .MACRO TABBREAK  AT 8  IF FILLING THEN BREAK ELSE " "   .MACRO TABSPACE  AT 8   .NOFILL PREFACE 0 .FILL PREFACE 1 .RECURSIVE MACRO EVAL(EXPRESSION) EXPRESSION .MACRO WHILE(CONDITION, ACTION)  .REPEAT $(IF CONDITION THEN START ACTION END ELSE DONE)$  .MACRO UNTIL(CONDITION, ACTION)  .REPEAT$(ACTION ; IF CONDITION THEN DONE)$  .MACRO DEBUG(HERALD)  IF DEBUGFLAG THEN . START "DEBUG" . IF "HERALD" NEQ NULL THEN TTY _ "HERALD" ; . PUB!DEBUG ; . END "DEBUG" ; .)$ .MACRO BUGOFF  DEBUGFLAG _ 0 ;  .EVENLEFTBORDER_ODDLEFTBORDER_750 . .MACRO PAPER SIZE(Y,X)!PAPERSIZE!(X+0,Y+0) . .MACRO !PAPERSIZE!(X,Y)MILL!PAPER!HEIGHT_IF Y>0 THEN Y ELSE 11000; .MILL!PAPER!WIDTH_IF X>0 THEN X ELSE 8500; .!XGPCOMMANDS_!XGPCOMMANDS&""&";SIZE "&(MILL!PAPER!HEIGHT/1000)&""; . .VARIABLE PAGE!HEIGHT, PAGE!WIDTH; !XGPCOMMANDS_MILL!PAPER!HEIGHT_MILL!PAPER!WIDTH_NULL; . .MACRO MARGINS(LEFT,RIGHT,TOP,BOTTOM)IF XCRIBL . THEN . START . !MARGINS!(LEFT+0,RIGHT+0,TOP+0,BOTTOM+0); . PAGE FRAME PAGE!WIDTH WIDE PAGE!HEIGHT HIGH; . TITLE AREA HEADING LINES 1 TO 3; . AREA TEXT LINES 4 TO PAGE!HEIGHT-2; . TITLE AREA FOOTING LINE PAGE!HEIGHT; . PLACE TEXT; . END . ELSE START PAGE!HEIGHT_59; PAGE!WIDTH_72; END . .MACRO !MARGINS!(LEFT,RIGHT,TOP,BOTTOM) BEGIN GROUP SELECT 1 .IF MILL!PAPER!HEIGHT  0 THEN MILL!PAPER!HEIGHT_11000; <<8.5" X 11" DEFAULT>> .IF MILL!PAPER!WIDTH  0 THEN MILL!PAPER!WIDTH _ 8500; . .BIT!RASTER!WIDTH_(MILL!PAPER!WIDTH*HBPI)/1000; .BIT!RASTER!HEIGHT_(MILL!PAPER!HEIGHT*VBPI)/1000; . .IF LEFT > 0 THEN ODDLEFTBORDER_LEFT ELSE ODDLEFTBORDER_1500; .IF RIGHT > 0 THEN RIGHTBORDER_RIGHT ELSE RIGHTBORDER_1000; .IF TOP > 0 THEN TOPBORDER_TOP ELSE TOPBORDER_1000; .IF BOTTOM > 0 THEN BOTTOMBORDER_BOTTOM ELSE BOTTOMBORDER_500; . .EVENLEFTBORDER_ODDLEFTBORDER; XGP!VSP_(MILLSPACING*VBPI)/1000; . .PAGE!WIDTH_(BIT!RASTER!WIDTH-(HBPI*(ODDLEFTBORDER+RIGHTBORDER))/1000)/CHARW; .PAGE!HEIGHT_(BIT!RASTER!HEIGHT-(VBPI*(TOPBORDER+BOTTOMBORDER))/1000)/(CHARH+XGP!VSP); .END