.
 header file for clu paper
.
.nd narrow 0
.nd csg_memo 0
.nd started 0
.if ~started
.dv xgp
.fo 0 fonts; 30vr kst
.fo 1 fonts; 31vgb kst
.fo 2 fonts; 30vri kst
.fo 3 fonts; 37vrb kst
.fo 4 fonts; 75vbee kst
.fo 7 fonts; 18fg kst
.tr @ 
.nr fnfont 7
.nr chapter_starts_page 0
.nr reset_per_page 0
.nr both_sides 1
.sr list_left_margin 500m
.sr list_right_margin 500m
.if narrow
.nr big_font 1
.ls 1
.ll 4.25i
.pl 14i
.sr list_left_margin 200m
.sr list_right_margin 200m
.ef csg_memo==0
.ls 2
.sr left_heading Abstraction Mechanisms in CLU
.sr right_heading date
.ef csg_memo>0
.ls 1.5
.sr left_heading CSG Memo csg_memo-1
.sr right_heading Abstraction Mechanisms in CLU
.en
.sr figure_name Figure \
.sr table_name Table \
.nr immediate_figure 0
.nr tty_table_of_contents 1
.nr verbose 1
.so r/r.macros
.so clu/clukey.r
.nr started 1
.if narrow
.eq begin_page_figure begin_figure
.en
.en
.
 number register for section references
.
.nr introduction 1
.nr example 2
.nr semantics 3
.nr more_abstraction 4
.nr library 5
.nr implementation 6
.nr efficiency 6
.nr discussion 7
.
 paragraph macro
.
.if ls<150
.de para
.sp
.ne 3
.ti 5
.em
.ef
.de para
.br
.ne 3
.ti 5
.em
.en
.
 three dots
.
.sr dots 1...*
.sr th 7th*
.
 code brackets - use like table, end_table
.
.de code
.table 2
.if narrow
.ta 8 11 14 17 20 23 26 29 32
.en
.em
.
.de end_code
.rtabs
.end_table
.em
.
 mark position
.
.de m
.nr mark hpos
.em
.
 widow eliminator
.
.de widow  <n>
.lbegin
.nv n \0
.if n<1
.nr n 1
.end
.vx n n!l 2m
.if vtrap<n&vpos>0
.nr n n-vtrap
.ct footer_handler +n!m
.end
.end
.em
