123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934 |
- .\" $Header$
- .\" PUBMAC
- .\"
- .\" MACROES FOR FORMATTING TEXT
- .\"
- .\" Th.A. Zoethout
- .\"
- .\" GENERAL PAGE CONTROL MACROES
- .\"
- .de SS \" SET POINT SIZES
- .\" .SS [ $1 [$2] ]
- . \" $1 = point size { 10 }
- . \" $2 = footnote point size { $1-2 }
- .ps 10
- .if \\n(.$>0 .ps \\$1 \" for troff
- .nr SS \\n(.s
- .ev 1
- .ie \\n(.$>1 .ps \\$2
- .el .ps \\n(SS-2
- .nr Sf \\n(.s
- .ps \\n(SS
- .ev
- .\\*(Ld
- .\\*(Vs
- ..
- .\"
- .de TP \" SET NUMBER OF FREE PAGES
- .\" .TP [$1]
- . \" $1 = number of free pages { 1 }
- . \" initially one free page
- .nr TP 1
- .if \\n(.$>0 .if \\$1>=0 .nr TP \\$1
- .if \\n(nl<0 .Pn
- .rm TP
- ..
- .de PL \" SET VERTICAL SIZES
- .\" .PL [ $1 [ $2 [$3] ] ]
- . \" $1 = paper size { A4 }
- . \" $2 = text size { 27.38c }
- . \" $3 = offset from top of paper { 1.35c }
- . \" constraints: $2+$3 <= $1
- .\" The distance from the foot margin to the bottom of the
- .\" paper (\n(Bd) is implicit { \n(.p - \n(Td - \n(Pl }
- .ie \\n(.$>0 .pl \\$1
- .el .pl 29.73c
- .ie \\n(.$>1 .nr Pl \\$2v
- .el .nr Pl 27.38c
- .if \\n(Pl>\\n(.p .Er F ".PL: page size(\\n(Pl) > paper size(\\n(.p)
- .ie \\n(.$>2 .nr Td \\$3v
- .el .nr Td 1.35c
- .nr Bd \\n(.p-\\n(Td-\\n(Pl
- .if \\n(Bd<=0 \
- . Er F ".PL: top offset(\\n(Td) + page size(\\n(Pl) > paper size(\\n(.p)
- .nr Tm \\n(Tdu+\\n(Ttu+\\n(Tsu
- .nr Bm \\n(Bsu+\\n(Btu+\\n(Bdu
- .ch Bm \\n(.pu-\\n(Bmu
- .if \\n(Fl>0 .Fp
- .rr Pl
- ..
- .de LL \" SET HORIZONTAL SIZES
- .\" .LL [ $1 [$2] ]
- . \" $1 = line length { 6.5i }
- . \" $2 = footnote line length { $1*10/11 }
- .ll 16.02c
- .if \\n(.$>0 .ll \\$1
- .lt \\n(.lu
- .nr LL \\n(.l
- .ev 1
- .ll \\n(LLu
- .lt \\n(LLu
- .ev
- .ie \\n(.$>1 .nr Lf \\$2m
- .el .nr Lf \\n(LLu*10/11
- ..
- .\" \" PAGE SIZES
- .\" Default is 11 inch, 6.5 inch line length
- .\" The .An macros set to European standard sizes.
- .\" LL PL TL Of
- .\" A0 74.09 118.92 108.92 5
- .\" A1 51.46 84.09 78.09 4
- .\" A2 35.045 59.46 52.46 3.5
- .\" A3 23.73 42.045 36.045 3
- .\" A4 16.02 29.73 27.38 1.35
- .\" A5 11.60 21.022 18.33 1.20
- .\" All sizes in cm.
- .\" The .An macros have one parameter. An optional -.
- .\" If this is used the page size is not altered, to allow
- .\" for example printing A5 pages on A4 paper.
- .\"
- .de A0 \" SET PAGE SIZE TO A0
- .\" .A0 [ - ]
- .if !\\n(.$ .pl 118.92c
- .PL \\n(.pu 108.92c 5c
- .LL 74.09c
- ..
- .de A1 \" SET PAGE SIZE TO A1
- .\" .A1 [ - ]
- .if !\\n(.$ .pl 84.09c
- .PL \\n(.pu 78.09c 4c
- .LL 51.45c
- ..
- .de A2 \" SET PAGE SIZE TO A2
- .\" .A2 [ - ]
- .if !\\n(.$ .pl 59.46c
- .PL \\n(.pu 52.46c 3.5c
- .LL 35.045c
- ..
- .de A3 \" SET PAGE SIZE TO A3
- .\" .A3 [ - ]
- .if !\\n(.$ .pl 42.045c
- .PL \\n(.pu 36.045c 3c
- .LL 23.73c
- ..
- .de A4 \" SET PAGE SIZE TO A4
- .\" .A4 [ - ]
- .if !\\n(.$ .pl 29.73c
- .PL \\n(.pu 27.38c 1.35c
- .LL 16.02c
- ..
- .de A5 \" SET PAGE SIZE TO A5
- .\" .A5 [ - ]
- .if !\\n(.$ .pl 21.022c
- .PL \\n(.pu 19c 0.9c
- .LL 12c
- ..
- .\"de PO \" PAGE OFFSET
- .\" .PO [$1]
- . \" $1 = page offset in characters { 1 }
- .\"ie \\n(.$>0 .po \\$1m
- .\"el .po 1m
- .rn po PO
- .\".
- .\"
- .\" MARGIN TEXT CONTROL
- .\"
- .de MT \" MARGIN TEXT SETTINGS
- .\" .MT $1 [$2] [$3]
- . \" $1 = Top or Bottom
- . \" $2 = Even[Odd], All { no title }
- . \" $3 = Vertical spacing to/from text { 2 }
- .ds Mc N
- .if \&\\$1\&T\& .ds Mc T
- .if \&\\$1\&B\& .ds Mc B
- .if \&\\*(Mc\&N\& .Er W ".MT: unknown margin type. T assumed
- .nr MT 2
- .if \&\\*(Mc\&N\& .nr MT 1
- .if \&\\*(Mc\&N\& .ds Mc T
- .nr \\*(Mcc 0
- .if \&\\$2\&E\& .nr \\*(Mcc 1
- .if \&\\$2\&O\& .nr \\*(Mcc 1
- .if \&\\$2\&A\& .nr \\*(Mcc 2
- .if \\n(\\*(Mcc=0 .nr \\*(Mct 0v
- .if \\n(\\*(Mcc>0 .nr MT +1
- .nr \\*(Mcs 2v
- .if \\n(\\*(Mcc=0 .nr \\*(Mcs 0
- .if \\n(MT<=\\n(.$ .nr \\*(Mcs \\$\\n(MTv
- .rr MT
- .rm Mc
- ..
- .de MS \" SET MARGIN TEXT FOR TOP OR BOTTOM OF PAGE
- .\" .MS $1 [ $2 [$3] ]
- . \" $1 = Top or Bottom
- . \" $2 = Even pages, Odd pages, All pages { A }
- . \" $3 = vertical spacing to/from text { 2 }
- .ds Mc N
- .if \&\\$1\&T\& .ds Mc T
- .if \&\\$1\&B\& .ds Mc B
- .if \&\\*(Mc\&N\& .Er W ".MS: unknown margin type. T assumed
- .nr MS 2
- .if \&\\*(Mc\&N\& .nr MS 1
- .if \&\\*(Mc\&N\& .ds Mc T
- .nr \\*(Mcc 0
- .if \&\\$\\n(MS\&E\& .nr \\*(Mcc 1
- .if \&\\$\\n(MS\&O\& .nr \\*(Mcc 3
- .if \&\\$\\n(MS\&A\& .nr \\*(Mcc 2
- .if \\n(\\*(Mcc>0 .nr MS +1
- .if \\n(\\*(Mcc=0 .nr \\*(Mcc 2
- .nr \\*(Mcs 2v
- .if \\n(MS<=\\n(.$ .nr \\*(Mcs \\$\\n(MSv
- .ev 2
- .ll \\n(LLu
- .lt \\n(LLu
- .if \\n(\\*(Mcc=1 .di \\*(Mce
- .if \\n(\\*(Mcc=2 .di \\*(Mct
- .if \\n(\\*(Mcc=3 .di \\*(Mco
- .if \\n(\\*(Mcc=3 .nr \\*(Mcc 1
- ..
- .de ME \" END SPECIFICATION OF TOP/BOTTOM MARGIN TITLE
- .\" .ME
- .ie \\n(MS=0 .Er W ".ME: no matching .MS
- .el \{\
- .br
- .di
- .cu 0
- .ev
- .nr \\*(Mct \\n(dn
- .nr Tm \\n(Tdu+\\n(Ttu+\\n(Tsu
- .nr Bm \\n(Bsu+\\n(Btu+\\n(Bdu
- .ch Bm \\n(.pu-\\n(Bmu
- .if \\n(Fl>0 .Fp
- .if \\n(Tmu+\\n(Bmu>=\\n(.pu \
- . Er F "top margin size + bottom margin size >= paper size
- .rm Mc
- .nr MS 0
- .if (\\n(nl>=(\\n(.pu-\\n(Bmu))&(\\n(Mi=0) .Bm \}
- ..
- .de PN \" SET FIRST PAGE NUMBER
- .\" .PN [ $1 [$2] ]
- . \" $1 = number of first page { 1 }
- . \" $2 = pagenumber format { 1 }
- .ie \\n(.$>0 .nr PN \\$1
- .el .nr PN 1
- .ie \\n(.$>1 .ds Pa \\$2
- .el .ds Pa 1
- .if \\n(nl<0 .Pn
- ..
- .de Pn \" set page number
- .if \\n(TP=0 .if \\n(PN>0 \{\
- .pn \\n(PN
- .af % \\*(Pa
- .rm Pa
- .nr PN 0 \}
- ..
- .\"
- .\" GLOBAL SIZE CONTROL
- .\"
- .de VS \" SET DEFAULT VERTICAL SPACING
- .\" .VS [$1 [$2] ]
- . \" $1 = default vertical spacing { 0.8v }
- . \" $2 = default vertical spacing in PS { 0.7v }
- .ie \\n(.$>0 .nr VS \\$1v
- .el .nr VS 0.8v
- .ie \\n(.$>1 .nr VP \\$2v
- .el .nr VP 0.7v
- .ds $0 VS
- .At "\\$1" "\\$2"
- .rn $0 Vs
- ..
- .de LD \" SET LINE DISTANCE
- .\" .LD [$1]
- . \" $1 = default line distance { SS+2 points }
- .ie \\n(.$>0 .vs \\$1
- .el .vs \\n(SS+2
- .ev 1
- .ie \\n(.$>0 .vs \\$1
- .el .vs \\n(Sf+2
- .ev
- .ds $0 LD
- .At "\\$1" "\\$2"
- .rn $0 Ld
- ..
- .de ND \" SET DEFAULT VERTICAL NEED
- .\" .ND [$1]
- . \" $1 = default need { 2 }
- .ie \\n(.$>0 .nr ND \\$1
- .el .nr ND 2
- ..
- .de IN \" SET DEFAULT INDENTATION
- .\" .IN [$1]
- . \" $1 = default indent { 3 }
- .ie \\n(.$>0 .nr IN \\$1n
- .el .nr IN 3n
- ..
- .\"
- .\" TEXT PROCESSING MODES
- .\"
- .de AD \" SET ADJUSTMENT
- .\" .AD [$1]
- . \" $1 = adjustment type L R C B { previous }
- .if \&\\$1\&L\& .ad l
- .if \&\\$1\&R\& .ad r
- .if \&\\$1\&C\& .ad c
- .if \&\\$1\&B\& .ad b
- .if \&\\$1\&\& .ad
- .ev 1
- .if \&\\$1\&L\& .ad l
- .if \&\\$1\&R\& .ad r
- .if \&\\$1\&C\& .ad c
- .if \&\\$1\&B\& .ad b
- .if \&\\$1\&\& .ad
- .ev
- ..
- .de NA \" NO ADJUSTMENT
- .\" .NA
- . \" .NA = .AD L
- .na
- .ev 1
- .na
- .ev
- ..
- .de NS \" NO SPACING
- .\" .NS
- . \" cancel first default vertical spacing.
- .nr NS 1
- ..
- .de HY \" HYPHENATION ON
- .\" .HY
- .hy 7
- .ev 1
- .hy 7
- .ev
- ..
- .de NH \" NO HYPHENATION
- .\" .NH
- .nh
- .ev 1
- .nh
- .ev
- ..
- .de HC \" SET HYPHENATION CHARACTER
- .\" .HC [$1]
- . \" $1 = hyphenation character { \% }
- .ie \\n(.$>0 \{\
- .ds Hc \\$1
- .hc \\$1
- .ev 1
- .hc \\$1
- .ev \}
- .el \{\
- .ds Hc \%
- .hc
- .ev 1
- .hc
- .ev \}
- ..
- .\"
- .\" LOCAL SIZE CONTROL
- .\"
- .de BP \" BEGIN PAGE
- .rs
- .sp 50c
- .ns
- ..
- .de N \" NEW LINE
- .\" .N [$1]
- . \" $1 = preceeding vertical spacing { 0 }
- . \" needs \n(ND+$1 lines on the page
- .ti \\n(.iu
- .ie \\n(.$>0 .sp \\$1
- .el .br
- .ne \\n(ND
- .rs
- ..
- .de A \" NEW ALINEA
- .\" .A [ $1 [$2] ]
- . \" $1 = preceeding vertical spacing { 0 }
- . \" $2 = indent of first text line { \n(IN }
- . \" needs \n(ND+\$1 lines on the page
- .ie \\n(.$>0 .sp \\$1
- .el .br
- .ne \\n(ND
- .ie \\n(.$=2 .ti +\\$2
- .el .ti +\\n(INu
- .rs
- ..
- .de P \" NEW PARAGRAPH
- .\" .P [ $1 [$2] ]
- . \" $1 = preceeding vertical spacing { 1 }
- . \" $2 = indent of first line { \n(IN }
- . \" .P $1 $2 = .A $1 $2
- . \" needs \n(ND+\$1 lines on the page
- .if \\n(.$=0 .A 0.8v
- .if \\n(.$=1 .A \\$1
- .if \\n(.$=2 .A \\$1 \\$2
- ..
- .de NE \" NEED LINES
- .\" .NE [$1]
- . \" $1 = number of lines needed on page { \n(ND }
- .br
- .ie \\n(.$=0 .ne \\n(NDv
- .el .ne \\$1v
- .rs
- ..
- .\" DATES
- .\"
- .de TA \" SET TAB POSITIONS
- .\" .TA [ $1 ... ]
- . \" $1 ... = tab positions { 9 17 25 33 41 49 57 65 73 }
- .if \\n(.$=0 .ta 9 17 25 33 41 49 57 65 73
- .if \\n(.$>0 .ta \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
- ..
- .de NC \" SET NO-BREAK CONTROL CHARACTER
- .\" .NC [ $1 ]
- . \" $1 = no-break control character
- .ie \\n(.$>0 .ds Nc \\$1
- .el .ds Nc
- .ev 0
- .c2 \\*(Nc
- .ev
- .ev 1
- .c2 \\*(Nc
- .ev
- .ev 2
- .c2 \\*(Nc
- .ev
- ..
- .de SP \" SET UNPADDABLE SPACE CHARACTER
- .\" .SP [$1]
- . \" $1 = unpaddable space character { none }
- . \" initially set to ~
- .\\*(Sp
- .if \\n(.$>0 .ds Sp "tr \\$1
- .if \\n(.$>0 .\\*(Sp
- .if \\n(.$>0 .as Sp "\\$1
- ..
- .de IS \" INDENTATION START
- .\" .IS [ $1 [ $2 [$3] ] ]
- . \" $1 = indent from left margin { \n(IN }
- . \" $2 = indent from right margin { 0 }
- . \" $3 = preceeding vertical spacing { 0 }
- .ie \\n(IS>0 .Er W ".IS: nesting not allowed
- .el \{\
- .if \\n(.$>2 \{\
- .sp \\$3v
- .rs \}
- .nr IE \\n(.l
- .if \\n(.$>1 .ll -\\$2m
- .nr UN \\n(.i
- .if \\n(.$=0 .in +\\n(INu
- .if \\n(.$>0 .in +\\$1
- .nr IS 1 \}
- ..
- .de UN \" TEMPORARILY UNDENT
- .\" .UN [$1]
- . \" $1 = undent { \n(UN }
- .if \\n(.$=0 .if \\n(IS>0 .ti \\n(UNu
- .if \\n(.$=0 .if \\n(IS=0 .Er W ".UN: no matching .IS
- .if \\n(.$>0 .if \\$1m>=\\n(.iu .ti 0
- .if \\n(.$>0 .if \\$1m<\\n(.iu .ti -\\$1m
- ..
- .de IE \" INDENTATION END
- .\" .IE [$1]
- . \" $1 = succeeding vertical spacing { 0 }
- .ie \\n(IS=0 .Er W ".IE: no matching .IS
- .el \{\
- .nr IS 0
- .in \\n(UNu
- .ll \\n(IEu
- .if \\n(.$>0 \{\
- .sp \\$1v
- .rs \}
- .rr UN
- .rr IE \}
- ..
- .\"
- .\" LOCAL TEXTPROCESSING CONTROL
- .\"
- .de CS \" START CENTERED NONFILLED TEXT
- .\" .CS [$1]
- . \" $1 = preceding vertical spacing { 0 }
- .nr CS 1
- .if \\n(.$>0 .sp \\$1v
- .ce 1000
- ..
- .de CE \" END CENTERED NONFILLED TEXT
- .\" .CE [$1]
- . \" $1 = succeeding vertical spacing
- .if \\n(CS=0 .Er W ".CE: no matching .CS
- .nr CS 0
- .ce 0
- .if \\n(.$>0 .sp \\$1v
- ..
- .de C \" CENTER WORDS
- .\" .C $1 ...
- . \" $1 ... = words to be centered
- .if \\n(.$>0 \{\
- .Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
- .ce 1
- \&\\*(St
- .rm St
- .if \\n(CS>0 .ce 1000 \}
- ..
- .de US \" START UNDERLINED TEXT
- .\" .US [$1]
- . \" $1 = Underl., Continuous underl. (non-filled) { U }
- .nr US 2
- .if \&\\$1\&C\& .nr US 1
- .if \\n(US=1 .cu 1000
- .if \\n(US=2 .ul 1000
- ..
- .de UE \" END UNDERLINED TEXT
- .\" .UE
- .if \\n(US=0 .Er W ".UE: no matching .US
- .if \\n(US=1 .cu 0
- .if \\n(US=2 .ul 0
- .nr US 0
- ..
- .de U \" UNDERLINE WORDS
- .\" .U $1 ...
- . \" $1 ... = words to be underlined
- .nr Bf \\n(.f
- .ft 2
- \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
- .ft \\n(Bf
- .rr Bf
- ..
- .de CU \" CONTINUOUS UNDERLINE WORDS
- .\" .CU $1 ...
- . \" $1 ... = words to be underlined
- .if \\n(.$>0 \{\
- .Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
- \\*(Hc\l#\w\&\\*(St\&u\(ul#\h#-\w\&\\*(St\&u#\\*(St
- .rm St \}
- ..
- .de UW \" UNDERLINE WORD
- .\" .UW [ [$1] ) $2 ( $3 [ $4 [ $5 [ $6 [ $7 [ $8 [$9]]]]]] ]
- . \" $1 = non-underlined prefix
- . \" $2 = word to be underlined
- . \" $3 = non-underlined suffix
- . \" $4 $6 $8 = underlined tail
- . \" $5 $7 $9 = non-underlined tail
- .if \\n(.$=1 .ds St \f2\\$1\fP
- .if \\n(.$=2 .ds St \f2\\$1\fP\\$2
- .if \\n(.$>2 .ds St \\$1\f2\\$2\fP\\$3
- .if \\n(.$>3 .as St \f2\\$4\fP
- .if \\n(.$>4 .as St \\$5
- .if \\n(.$>5 .as St \f2\\$6\fP
- .if \\n(.$>6 .as St \\$7
- .if \\n(.$>7 .as St \f2\\$8\fP
- .if \\n(.$>8 .as St \\$9
- \&\\*(St
- .rm St
- ..
- .de BS \" EMBOLDING START
- .ie \\n(BS>0 .Er W ".BS: nesting not allowed
- .el \{\
- .ft 3
- .nr BS 1 \}
- ..
- .de BE \" EMBOLDING END
- .ie \\n(BS=0 .Er W ".BE: no matching .BS
- .el \{\
- .ft 1
- .nr BS 0 \}
- ..
- .de B \" EMBOLDEN WORDS
- .\" .B $1 ...
- . \" $1 ... = words to be emboldened
- .nr Bf \\n(.f
- .ft 3
- \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
- .ft \\n(Bf
- .rr Bf
- ..
- .de BW \" EMBOLDEN WORD
- .\" .BW [ [$1] ) $2 ( $3 [ $4 [ $5 [ $6 [ $7 [ $8 [$9]]]]]] ]
- . \" $1 = non-emboldened prefix
- . \" $2 = word to be emboldened
- . \" $3 = non-emboldened suffix
- . \" $4 $6 $8 = emboldened tail
- . \" $5 $7 $9 = non-emboldened tail
- .if \\n(.$=1 .ds St \f3\\$1\fP
- .if \\n(.$=2 .ds St \f3\\$1\fP\\$2
- .if \\n(.$>2 .ds St \\$1\f3\\$2\fP\\$3
- .if \\n(.$>3 .as St \f3\\$4\fP
- .if \\n(.$>4 .as St \\$5
- .if \\n(.$>5 .as St \f3\\$6\fP
- .if \\n(.$>6 .as St \\$7
- .if \\n(.$>7 .as St \f3\\$8\fP
- .if \\n(.$>8 .as St \\$9
- \&\\*(St
- .rm St
- ..
- .\" PAGE CONTROL SUPPORT
- .\"
- .de Tm \" top margin trap macro
- .ie \\n(Fl=0 .ch Bm \\n(.pu-\\n(Bmu
- .el .Ft \" process footnote
- .ev 2
- .sp \\n(Tdu
- .if \\n(TP=0 .Mm T
- .ev
- .if \\n(TP=0 .ns
- .nr TQ \\n(.i
- .nr TK \\n(.u
- .if \\n(TH=2 \{\
- . nr TQ \\n(.i \" insert table header
- . in 0
- . nf
- . nr TH 0
- . TT
- . nr TH 2
- . in \\n(TQu
- . if \\n(TK .fi\
- \}
- .mk #T
- ..
- .de Bm \" bottom margin trap macro
- .if \\n(Im .Er F "Macro package error: recursive trap
- .nr Im 1
- .ch Bm \\n(.p+1u \" The trap gets reset by Tm
- .if \\n(TS>0 \{\
- .nr Ft \\n(Fl
- .nr Fl 0 \" Disable footnote processing
- .nr T. 1 \" Draw box for this page
- .T# 1
- .nr Fl \\n(Ft \" Enable footnote processing
- .rr Ft
- .br \}
- .ch Id
- .if \\n(Fl>0 .Fb \" process footnotes
- .ev 2
- .if \\n(TP=0 .Mm B
- .ev
- .if \\n(TP>0 \{\
- .nr TP -1
- .if \\n(TP=0 .if \\n(PN=0 .ds Pa 1
- .if \\n(TP=0 .if \\n(PN=0 .nr PN 1 \}
- .Pn
- \\*(Ncbp \" Nc is no-break control character
- .if \\n(Fl>1 \\*(Ncbr \" footnote overflow from last page
- .rr Im
- ..
- .de Mm \" output margin
- . \" $1 = Top, Bottom
- .ll \\n(LLu
- .lt \\n(LLu
- .nr Mm \\n(.i
- .in 0
- \\*(Ncnf \" Nc is no-break control character
- .pc %
- .if \&\\$1\&B\& .sp |\\n(.pu-\\n(Bmu+\\n(Bsu
- .if \\n(\\$1c=1 .if e .\\$1e
- .if \\n(\\$1c=2 .\\$1t
- .if \\n(\\$1c=1 .if o .\\$1o
- .if \&\\$1\&T\& .sp \\n(Tsu
- \\*(Ncfi \" Nc is no-break control character
- .in \\n(Mmu
- .rr Mm
- ..
- .\"
- .\" PRESET MARGIN TEXTS
- .\"
- .rn tl TL \" TITLE REQUEST renamed
- .\"
- .de Tt \" title at top of page
- .TL \&\&\(hy\(hy % \(hy\(hy\&\&
- ..
- .de Te \" title at top of even page
- .TL \&%\&\&\&
- ..
- .de To \" title at top of odd page
- .TL \&\&\&%\&
- ..
- .de Bt \" title at bottom of page
- .TL \&\&\(hy\(hy % \(hy\(hy\&\&
- ..
- .de Be \" title at bottom of even page
- .TL \&%\&\&\&
- ..
- .de Bo \" title at bottom of odd page
- .TL \&\&\&%\&
- ..
- .\"
- .\" ERROR MESSAGE MACRO
- .\"
- .de Er \" errors
- .\" .Er $1 $2
- . \" $1 = Warning/Fatal
- . \" $2 = error message
- .tm Error, page \\n%: \\$2
- .lt \\n(.lu+\w'\\*(rE Error'u+1n
- .vs 0
- .TL \&\&\&\v'-1v'\\*(rE Error\v'1v'\&
- .vs
- .lt \\n(LLu
- .if \&\\$1\&F\& .br
- .if \&\\$1\&F\& .fl
- .if \&\\$1\&F\& .ex
- .rr Er
- ..
- .\"
- .\" OTHER SERVICE MACROES
- .\"
- .de Cr \" Check for non-overlapping constructs
- .if \\n(PS>0 \{\
- . Er W "Points not closed
- .Pe \}
- .if \\n(FS>0 \{\
- . Er W "Footnote not closed
- .FE \}
- .if \\n(DS>0 \{\
- . Er W "Display not closed
- .DE \}
- .if \\n(IS>0 \{\
- . Er W "Indentation not closed
- .IE \}
- .if \\n(CS>0 \{\
- . Er W "Centered text not closed
- .CE \}
- .if \\n(US>0 \{\
- . Er W "Underlined text not closed
- .UE \}
- .if \\n(BS>0 \{\
- . Er W "Embolded text not closed
- .BE \}
- .if \\n(RS>0 \{\
- . Er W "Reference not closed
- .RE \}
- ..
- .de Ct \" catenate arguments
- . \" $1 ... = to be glued with unpaddable space
- .ds St \\$1
- .if \\n(.$>1 .as St \ \\$2
- .if \\n(.$>2 .as St \ \\$3
- .if \\n(.$>3 .as St \ \\$4
- .if \\n(.$>4 .as St \ \\$5
- .if \\n(.$>5 .as St \ \\$6
- .if \\n(.$>6 .as St \ \\$7
- .if \\n(.$>7 .as St \ \\$8
- .if \\n(.$>8 .as St \ \\$9
- ..
- .\"
- .\" INITIALIZATION
- .\"
- .nr MS 0 \" margin title setting indicator
- .nr Tt 1v \" length of top title { no title }
- .nr Tc 0 \" case of top title { no title }
- .nr Ts 2v \" vertical spacing succeeding top title
- .nr Bt 1v \" length of bottom title
- .nr Bc 2 \" case of bottom title { ALL }
- .nr Bs 2v-0.3c \" vertical spacing preceeding bottom title
- .wh 0 Tm \" set top margin trap macro
- .wh \n(.pu-1v Bm \" set bottom margin trap macro, A4 determines final pos
- .A4 \" Paper size is A4
- .SS 10 \" Point size is 10
- .LD \" default baseline spacing
- .VS \" default extra vertical spacing
- .NC \" Set no-break to our own default
- .nr PN 1 \" other pagenumber indicator { first pagenumber = 1 }
- .nr TP 1 \" number of unnumbered pages at start of text
- .nr NS 0 \" don't cancel default spacing
- .nr ND 2 \" default need
- .nr IN 3n \" default indent
- .ds Hc \%
- .nr IS 0 \" indent indicator
- .nr CS 0 \" center indicator
- .nr US 0 \" underline indicator
- .nr BS 0 \" bold indicator
- . \" refer set up
- .ie \n(.V<=(1v/5) \{\
- .ds <. .\h'-0.2m' \" . is placed directly after the word
- .ds <, ,\h'-0.2m' \" , is placed directly after the word
- .ds [. \v'-0.4m'\s-2\^\f1 \" The reference is placed n-e and smaller
- .ds .] \s0\v'0.4m'\fP\}
- .el \{\
- .ds >. . \" The . follows the reference
- .ds >, , \" The , follows the reference
- .ds [. \f1[ \" The ref. is enclosed in [ and ]
- .ds .] ]\fP\}
- .ie (\w\&\(lh\&) .ds rE \(lh
- .el .ds rE \(pl\(pl\(pl
- . \" unpaddable space
- .ds Sp "tr ~
- .tr ~
- .as Sp ~
- .em Cr \" check for non-closed constructs at end of input
- .\"
- .de At \" parameterpassing macro
- .\" .At $1...
- .if \\n(.$>=1 .as $0 " \\$1
- .if \\n(.$>=2 .as $0 " \\$2
- .if \\n(.$>=3 .as $0 " \\$3
- .if \\n(.$>=4 .as $0 " \\$4
- .if \\n(.$>=5 .as $0 " \\$5
- .if \\n(.$>=6 .as $0 " \\$6
- .if \\n(.$>=7 .as $0 " \\$7
- .if \\n(.$>=8 .as $0 " \\$8
- .if \\n(.$>=9 .as $0 " \\$9
- ..
- .\"
- .\" CATCH MACROES FOR SECTIONS file tmac.q1
- .\"
- .de RP
- .ds $0 RP
- .rn RP ]R
- .so MACDIR/tmac.q1
- ..
- .de SN
- .ds $0 SN
- .rn SN ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5"
- .so MACDIR/tmac.q1
- ..
- .de SM
- .ds $0 SM
- .rn SM ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4"
- .so MACDIR/tmac.q1
- ..
- .de S1
- .ds $0 S1
- .rn S1 ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
- .so MACDIR/tmac.q1
- ..
- .de S2
- .ds $0 S2
- .rn S2 ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
- .so MACDIR/tmac.q1
- ..
- .de S3
- .ds $0 S3
- .rn S3 ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
- .so MACDIR/tmac.q1
- ..
- .de S4
- .ds $0 S4
- .rn S4 ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
- .so MACDIR/tmac.q1
- ..
- .de AP
- .ds $0 AP
- .rn AP ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
- .so MACDIR/tmac.q1
- ..
- .\" CATCH MACROES FOR POINTS file tmac.q2
- .\"
- .de PM
- .ds $0 PM
- .rn PM ]R
- .At "\\$1"
- .so MACDIR/tmac.q2
- ..
- .de PS
- .ds $0 PS
- .rn PS ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4"
- .so MACDIR/tmac.q2
- ..
- .nr PS 0
- .\" CATCH MACROES FOR DISPLAYS file tmac.q3
- .\"
- .de DB
- .ds $0 DB
- .rn DB ]R
- .At "\\$1"
- .so MACDIR/tmac.q3
- ..
- .de DS
- .ds $0 DS
- .rn DS ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8"
- .so MACDIR/tmac.q3
- ..
- .nr DS 0
- .\" CATCH MACROES FOR FOOTNOTES file tmac.q4
- .\"
- .de FN
- .ds $0 FN
- .rn FN ]R
- .At "\\$1" "\\$2"
- .so MACDIR/tmac.q4
- ..
- .de FS
- .ds $0 FS
- .rn FS ]R
- .At "\\$1" "\\$2" "\\$3"
- .so MACDIR/tmac.q4
- ..
- .nr FS 0
- .nr Fl 0
- .\" CATCH MACRO FOR EQUATIONS file tmac.q5
- .\"
- .de EQ
- .ds $0 EQ
- .rn EQ ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4"
- .so MACDIR/tmac.q5
- ..
- .\" CATCH MACROES FOR TABLES file tmac.q6
- .\"
- .de TS
- .ds $0 TS
- .rn TS ]R
- .At "\\$1" "\\$2"
- .so MACDIR/tmac.q6
- ..
- .\"nr TS 0
- .\" CATCH MACROES FOR BIBLIGRAPHIC REFERENCES file tmac.q7
- .\"
- .de RS
- .ds $0 RS
- .rn RS ]R
- .At "\\$1" "\\$2" "\\$3"
- .so MACDIR/tmac.q7
- ..
- .de RF
- .ds $0 RF
- .rn RF ]R
- .At "\\$1"
- .so MACDIR/tmac.q7
- ..
- .nr RS 0
- .\" CATCH MACROES FOR INDEX REFERENCES file tmac.q8
- .\"
- .de IX
- .ds $0 IX
- .rn IX ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
- .so MACDIR/tmac.q8
- ..
- .de IW
- .ds $0 IW
- .rn IW ]R
- .At "\\$1" "\\$2" "\\$3"
- .so MACDIR/tmac.q8
- ..
- .de IR
- .ds $0 IR
- .rn IR ]R
- .At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
- .so MACDIR/tmac.q8
- ..
- .\" CATCH MACROES FOR INDEX REFERENCES file tmac.q9
- .\"
- .de ]-
- .ds $0 ]-
- .rn ]- ]R
- .so MACDIR/tmac.q9
- ..
- .de ]<
- .ds $0 ]<
- .rn ]< ]R
- .so MACDIR/tmac.q9
- ..
- .de [
- .tm Error, page \\n%: did you forget refer?
- .rm [
- ..
|