Initial revision

This commit is contained in:
ceriel 1987-03-09 15:53:04 +00:00
parent f43b2cb2bd
commit aae2cebccd
11 changed files with 4359 additions and 0 deletions

2284
mkun/pubmac Normal file

File diff suppressed because it is too large Load diff

934
mkun/tmac.kun Normal file
View file

@ -0,0 +1,934 @@
.\" $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 (\\(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 \\(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 LIBDIR/tmac/tmac.q1
..
.de SN
.ds $0 SN
.rn SN ]R
.At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5"
.so LIBDIR/tmac/tmac.q1
..
.de SM
.ds $0 SM
.rn SM ]R
.At "\\$1" "\\$2" "\\$3" "\\$4"
.so LIBDIR/tmac/tmac.q1
..
.de S1
.ds $0 S1
.rn S1 ]R
.At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.so LIBDIR/tmac/tmac.q1
..
.de S2
.ds $0 S2
.rn S2 ]R
.At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.so LIBDIR/tmac/tmac.q1
..
.de S3
.ds $0 S3
.rn S3 ]R
.At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.so LIBDIR/tmac/tmac.q1
..
.de S4
.ds $0 S4
.rn S4 ]R
.At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.so LIBDIR/tmac/tmac.q1
..
.de AP
.ds $0 AP
.rn AP ]R
.At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.so LIBDIR/tmac/tmac.q1
..
.\" CATCH MACROES FOR POINTS file tmac.q2
.\"
.de PM
.ds $0 PM
.rn PM ]R
.At "\\$1"
.so LIBDIR/tmac/tmac.q2
..
.de PS
.ds $0 PS
.rn PS ]R
.At "\\$1" "\\$2" "\\$3" "\\$4"
.so LIBDIR/tmac/tmac.q2
..
.nr PS 0
.\" CATCH MACROES FOR DISPLAYS file tmac.q3
.\"
.de DB
.ds $0 DB
.rn DB ]R
.At "\\$1"
.so LIBDIR/tmac/tmac.q3
..
.de DS
.ds $0 DS
.rn DS ]R
.At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8"
.so LIBDIR/tmac/tmac.q3
..
.nr DS 0
.\" CATCH MACROES FOR FOOTNOTES file tmac.q4
.\"
.de FN
.ds $0 FN
.rn FN ]R
.At "\\$1" "\\$2"
.so LIBDIR/tmac/tmac.q4
..
.de FS
.ds $0 FS
.rn FS ]R
.At "\\$1" "\\$2" "\\$3"
.so LIBDIR/tmac/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 LIBDIR/tmac/tmac.q5
..
.\" CATCH MACROES FOR TABLES file tmac.q6
.\"
.de TS
.ds $0 TS
.rn TS ]R
.At "\\$1" "\\$2"
.so LIBDIR/tmac/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 LIBDIR/tmac/tmac.q7
..
.de RF
.ds $0 RF
.rn RF ]R
.At "\\$1"
.so LIBDIR/tmac/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 LIBDIR/tmac/tmac.q8
..
.de IW
.ds $0 IW
.rn IW ]R
.At "\\$1" "\\$2" "\\$3"
.so LIBDIR/tmac/tmac.q8
..
.de IR
.ds $0 IR
.rn IR ]R
.At "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.so LIBDIR/tmac/tmac.q8
..
.\" CATCH MACROES FOR INDEX REFERENCES file tmac.q9
.\"
.de ]-
.ds $0 ]-
.rn ]- ]R
.so LIBDIR/tmac/tmac.q9
..
.de ]<
.ds $0 ]<
.rn ]< ]R
.so LIBDIR/tmac/tmac.q9
..
.de [
.tm Error, page \\n%: did you forget refer?
.rm [
..

260
mkun/tmac.q1 Normal file
View file

@ -0,0 +1,260 @@
.\" MACROES FOR SECTIONS (file tmac.q1)
.\"
.\" Th.A. Zoethout
.\"
.de RP \" SET TO REPORT MODE
.\" .RP
. \" The initial mode is manual ( \n(RP=1 ).
.nr RP 0
.nr M1 1
.nr M2 1
.nr M3 1
.nr M4 1
.nr M5 1
.nr TP 0
.if \\n(nl<0 .Pn
.rm RP
..
.de SN \" SET SECTION NUMBERS
.\" .SN [ $1 [ $2 [ $3 [ $4 [$5] ] ] ] ]
. \" $1 = first section number level 1
. \" $2 = first section number level 2
. \" $3 = first section number level 3
. \" $4 = first section number level 4
. \" $4 = first appendix number
.nr S1 0
.if \\n(.$>0 .nr S1 \\$1
.nr S2 0
.if \\n(.$>1 .nr S2 \\$2
.nr S3 0
.if \\n(.$>2 .nr S3 \\$3
.nr S4 0
.if \\n(.$>3 .nr S4 \\$4
.nr S5 0
.if \\n(.$>4 .nr S5 \\$5
.if \\n(.$>0 .nr S\\n(.$ -1
..
.de SM \" SET MODE FOR SECTION TITLES
.\" .SM [ Sn [ $2 ... ] ]
. \" Sn = section level S1 S2 S3 S4 AP
. \" $2 ... = Capital, Bold, Underlined.
. \" $2 = absent resets, C, B and U are accumulative
.nr SM 0
.if \&\\$1\&S1\& .nr SM 1
.if \&\\$1\&S2\& .nr SM 2
.if \&\\$1\&S3\& .nr SM 3
.if \&\\$1\&S4\& .nr SM 4
.if \&\\$1\&AP\& .nr SM 5
.if \\n(SM=0 \{\
.Er W ".SM: unknown section level \\$1
.nr SM 4 \}
.nr M\\n(SM 0
.if \\n(.$>1 .So \\$2
.if \\n(.$>2 .So \\$3
.if \\n(.$>3 .So \\$4
.if \\n(.$>4 .So \\$5
.rr SM
..
.de S1 \" START SECTION AT LEVEL 1
.\" .S1 [ $1 ... ]
. \" $1 ... = heading of section
. \" Report mode headings need 9 lines on the page.
.Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.if \&\\*(St\&\& .ds St Chapter
.Ss 1 1
.Se 1 2 4
.Ca 0
.ie \\n(RP=0 .Sh 1 1
.el .Sc 1 2
..
.de S2 \" START SECTION AT LEVEL 2
.\" .S2 [ $1 ... ]
. \" $1 ... = heading of section
. \" Needs 7 lines on the page
.Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.Ss 2 1
.Se 0 1 3
.if !\&\\*(St\&\& .Ca 2
.Si 2 0
..
.de S3 \" START SECTION AT LEVEL 3
.\" .S3 [ $1 ... ]
. \" $1 ... = heading of section
. \" Needs 6 lines on the page
.Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.Ss 3 1
.Se 0 0 3
.if !\&\\*(St\&\& .Ca 4
.Si 3 0
..
.de S4 \" START SECTION AT LEVEL 4
.\" .S4 [ $1 ... ]
. \" $1 ... = heading of section
. \" needs 6 lines on the page
.Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.Ss 4 1
.Se 0 0 3
.if !\&\\*(St\&\& .Ca 6
.Si 4 0
..
.de AP \" START APPENDIX
.\" .AP [ $1 ... ]
. \" $1 ... = heading of appendix
. \" Report mode appendices are level 1 sections
.Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.if \&\\*(St\&\& .ds St Appendix
.Ss 5 A
.Se 2 2 4
.Ca 0
.ie \\n(RP=0 .Sh 1 1
.el .Sc 5 2
..
.de CT \" OUTPUT TABLE OF CONTENTS
.\" .CT
.ti \\n(.iu
.Cc
.rm Cc
..
.de So \" decode section mode options
.\" .So $1
. \" $1 = Capital, Bold, Underlined, larger Size
.if \&\\$1\&S\& .nr M\\n(SM +8
.if \&\\$1\&C\& .nr M\\n(SM +4
.if \&\\$1\&B\& .nr M\\n(SM +2
.if \&\\$1\&U\& .nr M\\n(SM +1
..
.de Ss \" compose section number
. \" $1 = section level
. \" $2 = format for heading
.ie \\$1=5 .nr Ss 0
.el .nr Ss \\$1
.if \\n(Ss=0 .nr S5 +1
.ie \\n(Ss=1 .nr S1 +1
.el .if \\n(Ss<1 .nr S1 \\n(S5
.ie \\n(Ss=2 .nr S2 +1
.el .if \\n(Ss<2 .nr S2 0
.ie \\n(Ss=3 .nr S3 +1
.el .if \\n(Ss<3 .nr S3 0
.ie \\n(Ss=4 .nr S4 +1
.el .if \\n(Ss<4 .nr S4 0
.if \\n(Ss=0 .nr Ss 1
.af S\\n(Ss \\$2
.ie \&\\*(St\&\& .ds Sn "\\n(S\\n(Ss.
.el \{\
.ds Sn "\\n(S1.
.if \\n(Ss>1 .as Sn "\\n(S2
.if \\n(Ss>2 .as Sn ".\\n(S3
.if \\n(Ss>3 .as Sn ".\\n(S4\}
.rr Ss
..
.de Se \" end previous section
. \" $1 = next section: 0 - Sub, 1 - Main, 2 - Appendix
. \" $2 = extra vertical spacing ending previous section
. \" $3 = extra need next section
.if \\$1=1 .if \\n(S5>0 \
. Er F ".S1: sections cannot follow an appendix
.ch Id
.Cr
.if \\n(TP>0 .rs
.ie (\\n(RP=1)&(\\$1>0)&(\\n(nl>=0) .bp
.el \{\
.if \\n(NS>0 .sp \\$2v
.if \\n(NS=0 .sp \\$2v+\\n(VSu
.ne \\$3v+\\n(NDv \}
.if \\$1=1 .if \\n(RP>0 .nr FN 1
.in 0
.ti \\n(.iu
.ll \\n(LLu
.rs
..
.de Ca \" append to table of contents
. \" $1 = initial indent of line
.da Cc
.if \\$1=0 \!.sp \\\\n(VSu
.if \\$1=0 \!.ne 2u*\\\\n(NDv
\!.ti \\\n(.iu
\!\l\&\\$1n\ \&\\*(Sn\ \\*(St\ \l\&|\\\\n(.lu-\w\&\ \\n%\&u.\&\ \\n%
\!.br
.da
..
.de Sm \" apply section title modes
. \" $1 = level of section: 1 2 3 4 5 (=AP)
.nr Sm \\n(M\\$1
.if \\n(Sm>=8 \{\
.if !\&\\*(St\&\& .ds St \s+2\\*(St\s0
.ds Sn \s+2\\*(Sn\s0
.nr Sm -8 \}
.if \\n(Sm>=4 \{\
.tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
.nr Sm -4 \}
.if \\n(Sm>=2 \{\
.if !\&\\*(St\&\& .ds St \f3\\*(St\fP
.ds Sn \f3\\*(Sn\fP
.nr Sm -2 \}
.if \\n(Sm=1 \{\
.if !\&\\*(St\&\& .ds St \f2\\*(St\fP
.ds Sn \f2\\*(Sn\fP \}
.rr Sm
..
.de Si \" sub-section heading
. \" $1 = level of section
. \" $2 = extra vertical spacing succeding heading
.ie !\&\\*(St\&\& .Sh \\$1 \\$2
.el \{\
.Sm \\$1
.ne 3v
\&\\*(Sn\ \ \c
.nr Id \w\&\\*(Sn\ \ \&
.wh \\n(nlu+1v Id
.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
.rm Sn \}
..
.de Sh \" left adjusted section heading
. \" $1 = level of section
. \" $2 = extra vertical spacing succeeding heading
.Sm \\$1
\\*(Sn\ \ \\*(St
.if \\n(NS>0 .if \\$2>0 .sp \\$2v
.if \\n(NS=0 .if (\\$2v+\\n(VS)>0 .sp \\$2v+\\n(VSu
.nr NS 0
.ti \\n(INu
.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
.rm Sn
.rm St
..
.de Id \" trap macro for indented section headings
\\*(Ncti \\n(.iu+\\n(Idu \" This calls ti
.if \&\\n(.z\&\& .ch Id
..
.de Sc \" centered section heading
. \" $1 = level of section
. \" $2 = extra vertical spacing succeeding heading
.if \\$1=1 \{.af S1 I
.ds Sn "\\n(S1\
.af S1 1
.if \\n(S1=0 .ds Sn "\}
.Sm \\$1
\h#\\n(.lu-\\n(.iu-\w\&\\*(St\&u/2u-\w\&\\*(Sn\ \&u#\\*(Sn\ \\*(St
.if \\n(NS>0 .if \\$2>0 .sp \\$2v
.if \\n(NS=0 .if (\\$2v+\\n(VS)>0 .sp \\$2v+\\n(VSu
.nr NS 0
.ti \\n(INu
.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
.rm Sn
.rm St
..
. \" INITIALISATION
.nr S1 0
.nr S2 0
.nr S3 0
.nr S4 0
.nr S5 0
.nr M1 4
.nr M2 1
.nr M3 1
.nr M4 1
.nr M5 4
.nr TP 1
.nr RP 1
.\*($0
.rm $0

117
mkun/tmac.q2 Normal file
View file

@ -0,0 +1,117 @@
.\" MACROES FOR POINTS (file tmac.q2)
.\"
.\" Th.A. Zoethout
.\"
.de PM \" DEFINE POINT MARKER
.\" .PM [$1]
. \" $1 = default marker for .PS { - }
.ie \\n(.$>0 .ds Pm \\$1
.el .ds Pm -
..
.de PS \" LISTS OF POINTS
.\" .PS [ $1 [ $2 [ [$3] $4 ] ] ]
. \" $1 = marker or conversion with .af { \*(Pm }
. \" conversions: 1 i I a A (- denotes marker from .PM)
. \" $2 = indentation {\n(IN }
. \" $3 = point prefix { }
. \" $4 = point suffix { }
.ie \\n(PS=9 .Er W ".PS: maximum nesting is 9
.el \{\
.nr PS +1
.ie \\n(.$>0 .ds P\\n(PS \\$1
.el .ds P\\n(PS -
.nr P\\n(PS 0
.if \&\\*(P\\n(PS\&1\& .nr P\\n(PS 1
.if \&\\*(P\\n(PS\&i\& .nr P\\n(PS 1
.if \&\\*(P\\n(PS\&I\& .nr P\\n(PS 1
.if \&\\*(P\\n(PS\&a\& .nr P\\n(PS 1
.if \&\\*(P\\n(PS\&A\& .nr P\\n(PS 1
.if \&\\*(P\\n(PS\&-\& .ds P\\n(PS \\*(Pm
.nr P\\n(PS -1
.if \\n(P\\n(PS=0 .nr P\\n(PS 0 1
.af P\\n(PS \\*(P\\n(PS
.nr I\\n(PS \\n(IN
.if \\n(.$>1 .if !\&\\$2\&-\& .nr I\\n(PS \\$2n
.ds I\\n(PS "
.ds M\\n(PS "
.if \\n(.$=3 .ds M\\n(PS \\$3
.if \\n(.$=4 .ds I\\n(PS \\$3
.if \\n(.$=4 .ds M\\n(PS \\$4
.ch Id
.in +\\n(I\\n(PSu \}
..
.de PT \" A HANGING POINT
.\" .PT [ $1 ... ]
. \" $1 = substitute for specification with .PS and .PM
.ie \\n(PS=0 .Er W ".PT: no matching .PS
.el \{\
.ie \\n(.$>0 .Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.el .ie \\n(P\\n(PS<0 .ds St \\*(I\\n(PS\\*(P\\n(PS\\*(M\\n(PS
.el \{\
.af P\\n(PS \\*(P\\n(PS
.ds St \\*(I\\n(PS\\n+(P\\n(PS\\*(M\\n(PS
.af P\\n(PS 1\}
.ch Id
.if \\n(NS=0 .sp \\n(VPu
.nr NS 0
.ne \\n(NDv+1v
.ti -\\n(I\\n(PSu
.ie (\\w\&\\*(St\&)>(\\n(I\\n(PS) \{\
\&\\*(St
.br \}
.el \&\\*(St\h#\\n(I\\n(PSu-\w\&\\*(St\&u#\c
.rs
.rm St \}
..
.de PI \" AN INDENTED POINT
.\" .PI [ $1 ... ]
. \" $1 = substitute for specification with .PS and .PM
.ie \\n(PS=0 .Er W ".PI: no matching .PS
.el \{\
.ie \\n(.$>0 .Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.el .ie \\n(P\\n(PS<0 .ds St \\*(I\\n(PS\\*(P\\n(PS\\*(M\\n(PS
.el \{\
.af P\\n(PS \\*(P\\n(PS
.ds St \\*(I\\n(PS\\n+(P\\n(PS\\*(M\\n(PS
.af P\\n(PS 1\}
.ch Id
.if \\n(NS=0 .sp \\n(VPu
.nr NS 0
.ne \\NDv
\&\\*(St\ \ \c
.nr Id \w\&\\*(St\ \ \&
.ie !\&\\n(.z\&\& .dt \\n(.du+1v Id
.el .wh \\n(nlu+1v Id
.rs
.rm St \}
..
.de PE \" END LIST OF POINTS
.\" .PE [$1]
. \" $1 = ending vertical spacings { n\(Ps }
.ie \\n(PS=0 .Er W ".PE: no matching .PS
.el \{\
.in -\\n(I\\n(PSu
.rr P\\n(PS
.rr I\\n(PS
.rm P\\n(PS
.rm M\\n(PS
.rm I\\n(PS
.nr PS -1
.ie \\n(.$>0 .sp \\$1v
.el .sp \\n(VPu \}
.ch Id
..
.de Pe \" end all point levels
.if \\n(PS>0 \{\
.PE 0
.Pe \}
..
.de Id \" trap macro for indented points
\\*(Ncti \\n(.iu+\\n(Idu \" This calls ti
.ie !\&\\n(.z\&\& .dt
.el .ch Id
..
. \" INITIALIZATION
.ds Pm -
.\*($0
.rm $0

150
mkun/tmac.q3 Normal file
View file

@ -0,0 +1,150 @@
.\" MACROES FOR DISPLAYS (file tmac.q3)
.\"
.\" Th.A. Zoethout
.\"
.de DB \" SET DISPLAY [NO-]BREAK DEFAULT
.\" .DB [$1]
. \" $1 = display mode Break, No break. { B }
. \" initially display mode is N
.ie \&\\$1\&N\& .nr DB 0
.el .nr DB 1
..
.de DS \" START DISPLAY
.\" .DS [ [$1] $2 [ $3 [$4] ] ] [ $5 [ $6 [$7] ] [$8]
. \" $1 = mark for Marked and boXed display { | }
. \" $2 = Marked or boXed display { - }
. \" $3 = Left indent (L1) Marked and boXed display { 0 }
. \" $4 = Right indent (R1) boXed display { L1 }
. \" $5 = Indented or Quoted display { - }
. \" { M implies I, X implies Q }
. \" $6 = Left indent (L2) for I and Q { -:0, IQ:\n(IN }
. \" $7 = Right indent (R2) for Q { L2 }
. \" $8 = [No-] break { \n(DB }
.ie \\n(DS=1 .Er W ".DS: nested displays are not allowed
.el \{\
.nr DS 1
.ds D1 \\$1
.ds D2 \\$1
.ds D3 \\$1
.ds D4 \\$1
.nr DE 0
.if \&\\$2\&M\& .nr DE 1
.if \&\\$2\&X\& .nr DE 1
.if \\n(DE=0 \{\
.ds D1 \&
.ds D2 \(ul
.ds D3 \(br
.ds D4 \z\(br\}
.Dt 0 0 0 0 0 0
.ie \&\\$\\n(DE\&M\& .Dt 1 1 0 \\n(IN 0 0
.el .if \&\\$\\n(DE\&X\& .Dt 2 2 0 \\n(IN \\n(IN 0
.if \\n(Dt>0 .if \\n(DE<=\\n(.$ .if (\\$\\n(DE)=(\\$\\n(DE) \{\
.nr D1 \\$\\n(DEn
.nr DE +1 \}
.if \\n(Dt=2 .nr D4 \\n(D1
.if \\n(Dt=2 .if \\n(DE<=\\n(.$ .if (\\$\\n(DE)=(\\$\\n(DE) \{\
.nr D4 \\$\\n(DEn
.nr DE +1 \}
.ie \&\\$\\n(DE\&I\& .Dt \\n(Dt 1 \\n(D1 \\n(IN 0 \\n(D4
.el .if \&\\$\\n(DE\&Q\& .Dt \\n(Dt 2 \\n(D1 \\n(IN \\n(IN \\n(D4
.if \\n(Da>0 .if \\n(DE<=\\n(.$ .if (\\$\\n(DE)=(\\$\\n(DE) \{\
.nr D2 \\$\\n(DEn
.nr DE +1 \}
.if \\n(Da=2 .nr D3 \\n(D2
.if \\n(Da=2 .if \\n(DE<=\\n(.$ .if (\\$\\n(DE)=(\\$\\n(DE) \{\
.nr D3 \\$\\n(DEn
.nr DE +1 \}
.nr DE \\n(.u
.ie \\n(Da<2 .nf
.el .fi
.if \&\\$\\n(.$\&B\& .nr Da 1
.if \&\\$\\n(.$\&N\& .nr Da 0
.if \&\\$\\n(.$\&\& .nr Da \\n(DB
.if \\n(Dt=0 .Dt 0 \\n(Da \\n(D2 0 0 \\n(D3
.if \\n(NS=0 .sp \\n(VSu
.nr NS 0
.ch Id
.ne \\n(NDv
.nr Dx \\n(.i
.nr Dy \\n(.l
.in 0
.ti \\n(.iu
.ll \\n(Dyu-\\n(D1u-\\n(D2u-\\n(D3u-\\n(D4u-\\n(Dtn
.di Dx \}
..
.de DE \" DISPLAY END
.\" .DE [$1]
. \" $1 = succeeding vertical spacing { \n(VS }
.ie \\n(DS=0 .Er W ".DE: no matching .DS
.el \{\
.br
.di
.nf
.ll +\\n(D2u
.ie \\n(Dt>0 .ds Da \&\\*(D3\h#\\n(D2u#
.el .ds Da \&
.nr Dm \\n(dn 1v
.nr D2 0 1v
.ev 0
.di Dy
.if \\n(Dt=2 \&\\*(D1\l#\\n(Dyu-\\n(Dxu-\\n(D1u-\\n(D4u-2u*\w'\\*(D1'u\&\\*(D2#\\*(D1
.if \\n(Dt=2 .mc \\*(D3 \\n(D3u+1n
.cc 
Dm
Dx
cc
.rm Dx
.mc
.if \\n(Dt=2 \&\\*(D4\l#\\n(Dyu-\\n(Dxu-\\n(D1u-\\n(D4u-2u*\w'\\*(D4'u\&\\*(D2#\\*(D4
.di
.ev
.in \\n(Dxu+\\n(D1u
.ll \\n(Dyu-\\n(D4u
.if \\n(Da=0 .if \\n(dn>\\n(.t .bp
.Dy
.ie \\n(.$>0 .sp \\$1v
.el .sp \\n(VSu
.rs
.in \\n(Dxu
.ll \\n(Dyu
.nr DS 0
.if \\n(DE>0 .fi
.ch Id
.rr DE
.rr D1
.rr D2
.rr D3
.rr D4
.rr Da
.rr Dm
.rr Dt
.rr Dx
.rr Dy
.rm D1
.rm D2
.rm D3
.rm D4
.rm Da
.rm Dy \}
..
.de Dt \" set display parameters
. \" $1 = type
. \" $2 = mode
. \" $3 $4 $5 $6 = D1 D2 D3 D4
.nr Dt \\$1
.nr Da \\$2
.nr D1 \\$3
.nr D2 \\$4
.nr D3 \\$5
.nr D4 \\$6
.nr DE +1
..
.de Dm \" marking or protecting lines in second diversion
\\*(Da\c
ie \\n-(Dm>0 dt \\n+(D2u Dm
el dt
..
. \" INITIALIZATION
.nr DB 0
.\*($0
.rm $0

123
mkun/tmac.q4 Normal file
View file

@ -0,0 +1,123 @@
.\" MACROES FOR FOOTNOTES (file tmac.q4)
.\"
.\" Th.A. Zoethout
.\"
.de FN \" NUMBERED FOOTNOTE START
.\" .FN [ [$1] $2 ]
. \" $1 = prefix
. \" $2 = suffix
.ie \\n(FS=0 \{\
.ie n \{\
.if \\n(.$=0 .FS (\\n(FN)
.if \\n(.$=1 .FS (\\n(FN) \\$1
.if \\n(.$=2 .FS \\$1 (\\n(FN) \\$2\}
.el \{\
.if \\n(.$=0 .FS \\n(FN
.if \\n(.$=1 .FS \\n(FN \\$1
.if \\n(.$=2 .FS \\$1 \\n(FN \\$2\}\}
.el \{\
. Er W ".FN: nested footnotes are not allowed
\&\\$1\\n(FN\\$2\}
.nr FN +1
..
.de FS \" FOOTNOTE START
.\" .FS [ [$1] ) $2 ( $3 ]
. \" $1 = prefix
. \" $2 = indicator
. \" $3 = suffix
.if \\n(.$>0 \{.ie n \&\\$1\\$2\\$3
.el \v'-0.4m'\s-2\\$1\\$2\\$3\s+2\v'0.4m'\}
.ie \\n(FS=1 .Er W ".FS: nested footnotes are not allowed
.el \{\
.nr FS 1
.ev 1
.nr Fp \\n(.s
.ps \\n(Sf
.ll \\n(Lfu
.nr FE \\n(.i
.in 1
.da Fx
.if \\n(.$>2 \&\\$2
.if \\n(.$=1:(\\n(.$=2) \&\\$1\}
..
.de FE \" FOOTNOTE END
.\" .FE $1
. \" $1 = succeeding vertical spacing { 0 }
.ie \\n(FS=0 .Er W ".FE: no matching .FS or .FN
.el \{\
.br
.if !\&\\$1\&\& .sp \\$1v
.di
.ll \\n(LLu
.in \\n(FEu
.ps \\n(Fp
.rr FE
.rr Fp
.nr Fx +\\n(dn
.ev
.Fp
.nr FS 0\}
..
.de Fo \" catch footnote overflow trap macro
.if \\n(Fl=2 .di Fl
..
.de Fp \" place footnote trap macro
.nr Fl 0
.if \\n(Fx>0 \{\
.nr Fl 1
.nr Fo \\n(nl+1v
.if \\n(Fo<(\\n(Tmu+\\n(NDv+1v) .nr Fo \\n(Tmu+\\n(NDv+1v
.if \\n(Fo>(\\n(.pu-\\n(Bmu-\\n(Fxu-\\n(Fmu) .nr Fl 2
.if \\n(Fo>=(\\n(.pu-\\n(Bmu-\\n(Fmu) .nr Fl 3 \}
.if \\n(Fl=0 .ch Bm \\n(.pu-\\n(Bmu
.if \\n(Fl=1 .ch Bm \\n(.pu-\\n(Bmu-\\n(Fxu-\\n(Fmu
.if \\n(Fl=2 .ch Bm \\n(Fou
.if \\n(Fl=3 .ch Bm \\n(.pu-\\n(Bmu
.rr Fo
..
.de Ft \" footnote processing at top of page
.ev 1
.if \\n(Fl=2 \{\
.nr dn 0
.nf
.di Fx
.Fl
.br
.di
.fi
.rm Fl
.nr Fx \\n(dn \}
.ev
.Fp
..
.de Fb \" footnote processing at bottom of page
.if (\\n(Fl=1):(\\n(Fl=2) \{\
.ev 1
.nr Fx 0
.nr Fb \\n(.i
.in 0
\\*(Ncnf \" Nc is no-break control character
.Fm
.Fx
\\*(Ncfi \" Nc is no-break control character
.in \\n(Fbu
.ev
.rm Fx \}
.if \\n(Fl=2 .if "\\n(.z"Fl" .di
..
.de Fm \" footnote marker
\l#150p\(ul#
\\*(Ncsp \" Nc is no-break control character
..
. \" FOOTNOTE INITIALIZATION
.nr FN 1
.nr Fx 0
.nr Fl 0
.ev 1
.nr Fm 2v
.ev
.ch Bm \n(.pu+1v
.wh \n(.pu-\n(Bmu Fo
.ch Bm \n(.pu-\n(Bmu
.\*($0
.rm $0 ]R

123
mkun/tmac.q5 Normal file
View file

@ -0,0 +1,123 @@
.\" MACROES FOR EQUATIONS (file tmac.q5)
.\"
.\" Th.A. Zoethout
.\"
.de EQ \" START EQUATION
.\" .EQ [$1] [$2] [ $3 $4 ] [ $5 $6 ] [$7]
. \" $1 = Indented, Centered { C }
. \" $2 = indent from Left margin (I) { 0 }
. \" $3 = Left numbered, Right numbered { }
. \" $4 = equation number { }
. \" $5 = Right numbered, Left numbered { }
. \" $6 = equation number { }
. \" $7 = preceding vertical spacing { \n(VS }
. \" eqn checks against nested equations.
.\" WARNING: For "inline" equations the (almost) only reasonable
.\" delimeter character is "$". All other seemingly useful
.\" characters could be generated by t(a)b(e)l.
.ch Id
.nr EQ 0
.nr EN 1
.ie \&\\$1\&I\& .nr EQ 1
.el .if !\&\\$1\&C\& .nr EN 0
.nr EN +1
.nr Ex 0
.ie (\\$\\n(EN)=(\\$\\n(EN) .nr Ex \\$\\n(ENm
.el .nr EN -1
.if \\n(EN=1 .if \\n(Ex>0 .nr EQ 1
.nr EN +1
.ds E1 "
.nr Et 0
.if \&\\$\\n(EN\&L\& .nr Et 1
.if \\n(Et=1 .nr EN +1
.if \\n(Et=1 .ds E1 \\$\\n(EN
.if \\n(Et=1 .nr EN +1
.ds E2 "
.nr Et 0
.if \&\\$\\n(EN\&R\& .nr Et 1
.if \\n(Et=1 .nr EN +1
.if \\n(Et=1 .ds E2 \\$\\n(EN
.if \\n(Et=1 .nr EN +1
.nr Et 0
.if \&\\$\\n(EN\&L\& .nr Et 1
.if \\n(Et=1 .nr EN +1
.if \\n(Et=1 .ds E1 \\$\\n(EN
.if \\n(Et=1 .nr EN +1
.ie \\n(EN=\\n(.$ .nr EN \\$\\n(.$
.el .nr EN 0-1
.ev 1
.if !\&\\n(.z\&\& .br
.di Ex
..
.de EN \" END EQUATION
.\" .EN [$1]
. \" $1 = succeeding vertical spacing { \n(VS }
.ie !\&\\n(.z\&Ex\& .Er W ".EN: no matching .EQ
.el \{\
.br
.di
.ev
.rm Ex
.ie \\n(dn=0 .if !\&\\*(E1\\*(E2\&\& .Et \\$1
.el .Et \\$1
.rm E1
.rm E2
.rm 10
.rm 11
.rm 12
.rm 13
.rm 14
.rm 15
.rm 16
.rm 17
.rm 18
.rm 19
.rm 20
.rm 21
.rm 22
.rm 23
.rr EN
.rr E1
.rr E2
.rr Et
.rr Ex
.rr EQ
.rr 10
.rr 11
.rr 12
.rr 13
.rr 14
.rr 15
.rr 16
.rr 17
.rr 18
.rr 19
.rr 20
.rr 21
.rr 22
.rr 23 \}
..
.de Et \" final rediversion of equation
. \" $1 = succeeding vertical spacing { \n(VS }
.ie \\n(EN>=0 .sp \\n(ENv
.el .sp \\n(VSu
.ti \\n(.iu
.ne \\n(NDv
.rs
.nr EN \\n(.u
.if \\n(EN>0 .nf
.nr Et \\n(.lu-\\n(.iu
.if \\n(EQ=0 .nr E1 \\n(Etu-\\w\&\\*(E1\&u-\\w\&\\*(10\&u-\\w\&\\*(E2\&u/2u
.if \\n(EQ=1 .nr E1 \\n(Exu-\\w\&\\*(E1\&u
.if \\n(E1<1m .nr E1 1m
.nr E1 1m/2u+\\w\&\\*(E1\&u+\\n(E1u/1m*1m-\\w\&\\*(E1\&u
.nr E2 \\n(Etu-\\w\&\\*(E2\&u
.pc
\&\\*(E1\h#\\n(E1u#\\*(10\h#|\\n(E2u#\\*(E2
.pc %
.if \\n(EN>0 .fi
.ie \\n(.$>0 .sp \\$1v
.el .sp \\n(VSu
..
.\*($0
.rm $0

65
mkun/tmac.q6 Normal file
View file

@ -0,0 +1,65 @@
.\" MACROES FOR TABLES (file tmac.q6)
.\"
.\" Th.A. Zoethout
.\"
.de TS \" TABLE START
.\" .TS [$1] [H]
. \" $1 = preceeding vertical spacing
. \" tbl checks against nested tables
.nr TS 1
.if \\n(.$>0 .if '\\$\\n(.$'H' .TQ
.if \\n(.$>0 .ie !'\\$1'H' .sp \\$1v
.el .sp \\n(VSu
.rs
.nr TE \\n(.i
.ll -\\n(TEu
.ti \\n(.iu
..
.de TE \" TABLE END
.\" .TE [$1]
. \" $1 = succeeding vertical spacing { \n(VS }
.ie \\n(TS=0 .Er W ".TE: no matching .TS
.el \{\
.if \\n(TH=1 \{\
.di \" End defining header
.nr TH 0 \" No header present during TT evaluation
.nr EF \\n(.u
.nf
.TT
.if \\n(EF>0 .fi \}
.ll +\\n(TEu
.rr TE
.nr TH 0
.nr TS 0
.ie \\n(.$>0 .sp \\$1v
.el .sp \\n(VSu
.rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
.rr 32 33 34 35 36 37 38 40 79 80 81 82
.rr a| b| c| d| e| f| g| h| i| j| k| l| m|
.rr a- b- c- d- e- f- g- h- i- j- k- l- m-
.rm TT\}
..
.de TQ
.di TT
.nr TH 1
..
.de TH
.if \\n(.d>0.5v .nr T. 0
.if \\n(.d>0.5v .T# 0
.di
.nr TQ \\n(.i
.nr TH 0 \" No header present during TT evaluation
.in 0
.mk #a
.mk #b
.mk #c
.mk #d
.mk #e
.mk #f
.TT
.in \\n(TQu
.nr TH 2
.mk #T
..
.\*($0
.rm $0

70
mkun/tmac.q7 Normal file
View file

@ -0,0 +1,70 @@
.\" MACROES FOR BIBLIOGRAPHIC REFERENCES (file tmac.q7)
.\"
.\" Th.A. Zoethout
.\"
.de RS \" REFERENCE START
.\" .RS [ [$1] ) $2 ( $3 ]
. \" $1 = prefix
. \" $2 = refering text
. \" $3 = suffix
.ie \\n(RS>0 .Er W ".RS: nesting not allowed
.el \{\
.if \\n(.$>2 \&\\$1[\\$2]\\$3
.if \\n(.$>2 .RF \\$2
.if \\n(.$<=2 \&[\\$1]\\$2
.if \\n(.$<=2 .RF \\$1\}
..
.de RF \" REFERENCE
.\" .RF $1 ...
. \" $1 ... = refering text
.ie \\n(RS>0 .Er W ".RF: nesting not allowed
.el \{\
.nr RS 1
.Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.ev 1
.nr RF \\n(.l
.ll \\n(LLu-\\n(INu
.nr RE \\n(.i
.in 0
.nf
.da Rt
\!.ne \\n(NDv
\!.in +\\n(INu
\!.ti -\\n(INu
[\\*(St]
.rm St
\!.br\}
..
.de RE \" REFERENCE END
.\" .RE $1
. \" $1 = succeeding vertical spacing { 0 }
.ie \\n(RS=0 .Er W ".RE: no matching .RS or .RF
.el \{\
\!.in -\\n(INu
.ie !"\\$1"" \!.sp \\$1v
.el \!.sp \\n(VSu
.br
.da
.fi
.ll \\n(RFu
.rr RF
.in \\n(REu
.rr RE
.nr RS 0
.ev \}
..
.de RT \" REFERENCE TABLE
.\" .RT
.ev 1
.nr RF \\n(.l
.ll \\n(LLu
.na
.Rt
.ad
.ll \\n(RFu
.rr RF
.ev
.rm Rt
..
.\*($0
.rm $0

48
mkun/tmac.q8 Normal file
View file

@ -0,0 +1,48 @@
.\" MACROES FOR INDEX REFERENCES (file tmac.q8)
.\"
.\" Th.A. Zoethout
.\"
.de IX \" INDEX TEXT
.\" .IX $1 ...
. \" $1 ... = text for index
.Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
\&\\*(St
.Ix
..
.de IW \" INDEX WORD
.\" .IW [ [$1] ) $2 ( $3 ]
. \" $1 = prefix
. \" $2 = text for index
. \" $3 = suffix
\&\\$1\\$2\\$3
.ie \\n(.$>2 .ds St \\$2
.el .ds St \\$1
.Ix
..
.de IR \" INDEX REFERENCE (not in running text)
.Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.Ix
..
.de Ix \" index item
.ev 1
.ll \\n(LLu
.in 0
.da It
\!.tm [\\*(St]\\n%
.br
.da
.ev
..
.de IT \" INDEX TABLE
.\" The text output with this request should be the last
.\" of a document. It contains one index item per line
.\" and has to be sorted and classified in order to be useful
.\" for including in a final printout.
.\" The layout of each line is:
.\" [index-item-text]pagenumber
.Cr
.It
.rm It
..
.\*($0
.rm $0

185
mkun/tmac.q9 Normal file
View file

@ -0,0 +1,185 @@
.\" MACROES FOR REFER REFERENCES (file tmac.q9)
.\"
.\" E.G. Keizer
.\"
.nr %F 2 \" The number of the attention font
.if \n(%w=0 .nr %w 8n \" Default footnote number indent
.ds [" \(l" \" Quotes surrounding article titles
.ds "] \(r"
.if \w'\\*(["'==0 \{.ds [" "
.ds "] "\}
. \" The special strings have been defined in tmac.kun
. \" The macroes
.de ]<
.nr %l 1
..
.de ]>
.rr %l
..
.de ][
.if \\n(%l=0 .FS
.in +\\n(%wu \" Indent by hand, using .PS causes problems
.if !\&\\*([F\&\& \{\
.ti -\\n(%wu
.as [F .
\&\\*([F\c
.nr [w \\n(%wu-\w'\\*([F'u \" Width of footnote indicator
.ie \\n([w<1n .br \" Break if indicator too large
.el \h'\\n([wu'\c\}
.%\\$1 \" Use the peculiar format
.in -\\n(%wu
.if \\n(%l=0 .FE
.rr [P [w
.rm %,
.rm [A [B [C [D [E [F [G [H [I [J [K [L [M [N [O [P [Q [R [S [T [U [W [X [Y [Z
.rm [a [b [c [d [e [f [g [h [i [j [k [l [m [n [o [p [q [r [s [t [u [w [x [y [z
..
.de %1 \" Journal article
.if !\&\\*([i\&\& .rm [I [C
.if !\&\\*([A\&\& \\*([A:
.if !\&\\*([T\&\& \{\&\\*(["\\*([T\\*("]\c
.ds %, , \}
.if !\&\\*([J\&\& \{\\*(%,\f\\n(%F\\*([J\fP\c
.ds %, , \}
.if !\&\\*([V\&\& \{\\*(%,vol. \\*([V\c
.ds %, , \}
.if !\&\\*([N\&\& \{\\*(%,no. \\*([N\c
.ds %, , \}
.if !\&\\*([P\&\& \{.if \\n([P \\*(%,pp.\|\c
.el \\*(%,p.\|\c
.ds %, ,
\&\\*([P\c\}
.if !\&\\*([i\&\& \{\\*(%,ISSN\|\\*([i\c
.ds %, , \}
.if !\&\\*([I\&\& \{\\*(%,\\*([I\c
.ds %, , \}
.if !\&\\*([D\&\& \{\\*(%,\\*([D\c
.ds %, , \}
.if !\&\\*([O\&\& \{\\*(%,\\*([O\c
.ds %, , \}
\&.
..
.de %2 \" Book
.if !\&\\*([i\&\& .rm [I [C
.if !\&\\*([A\&\& \\*([A:
.if !\&\\*([T\&\& \{\&\f\\n(%F\\*([T\f1\c
.ds %, , \}
.if !\&\\*([V\&\& \{\\*(%,vol. \\*([V\c
.ds %, , \}
.if !\&\\*([N\&\& \{\\*(%,no. \\*([N\c
.ds %, , \}
.if !\&\\*([I\&\& \{\\*(%,\\*([I\c
.ds %, , \}
.if !\&\\*([C\&\& \{\\*(%,\\*([C\c
.ds %, , \}
.if !\&\\*([D\&\& \{\\*(%,\\*([D\c
.ds %, , \}
.if !\&\\*([i\&\& \{\\*(%,ISBN\|\\*([i\c
.ds %, , \}
.if !\&\\*([O\&\& \{\\*(%,\\*([O\c
.ds %, , \}
\&.
..
.de %3 \" Article within Book
.if !\&\\*([i\&\& .rm [I [C
.if !\&\\*([A\&\& \\*([A:
.if !\&\\*([T\&\& \{\&\\*(["\\*([T\\*("]\c
.ds %, , \}
.if !\&\\*([B\&\& \{ in \f\\n(%F\\*([B\f1\c
.ds %, , \}
.if !\&\\*([V\&\& \{\\*(%,vol. \\*([V\c
.ds %, , \}
.if !\&\\*([N\&\& \{\\*(%,no. \\*([N\c
.ds %, , \}
.if !\&\\*([P\&\& \{.if \\n([P \\*(%,pp.\|\c
.el \\*(%,p.\|\c
.ds %, ,
\&\\*([P\c\}
.if !\&\\*([E\&\& \{\\*(%,\\*([E\^\c
.if \\n([E (eds.)\c
.el (ed.)\c
.ds %, , \}
.if !\&\\*([I\&\& \{\\*(%,\\*([I\c
.ds %, , \}
.if !\&\\*([C\&\& \{\\*(%,\\*([C\c
.ds %, , \}
.if !\&\\*([D\&\& \{\\*(%,\\*([D\c
.ds %, , \}
.if !\&\\*([i\&\& \{\\*(%,ISBN\|\\*([i\c
.ds %, , \}
.if !\&\\*([O\&\& \{\\*(%,\\*([O\c
.ds %, , \}
\&.
..
.de %4 \" Report
.if !\&\\*([i\&\& .rm [I [C
.if !\&\\*([A\&\& \\*([A:
.if !\&\\*([T\&\& \{\&\\*(["\\*([T\\*("]\c
.ds %, , \}
.if !\&\\*([V\&\& \{\\*(%,vol. \\*([V\c
.ds %, , \}
.if !\&\\*([N\&\& \{\\*(%,no. \\*([N\c
.ds %, , \}
.if !\&\\*([P\&\& \{.if \\n([P \\*(%,pp.\|\c
.el \\*(%,p.\|\c
.ds %, ,
\&\\*([P\c\}
.if !\&\\*([E\&\& \{\\*(%,\\*([E\^\c
.if \\n([E (eds.)\c
.el (ed.)\c
.ds %, , \}
.if !\&\\*([R\&\& \{\\*(%,\\*([R\c
.ds %, , \}
.if !\&\\*([I\&\& \{\\*(%,\\*([I\c
.ds %, , \}
.if !\&\\*([C\&\& \{\\*(%,\\*([C\c
.ds %, , \}
.if !\&\\*([D\&\& \{\\*(%,\\*([D\c
.ds %, , \}
.if !\&\\*([i\&\& \{\\*(%,ISBN\|\\*([i\c
.ds %, , \}
.if !\&\\*([O\&\& \{\\*(%,\\*([O\c
.ds %, , \}
\&.
..
.de %4 \" Bell Labs report
.if !\&\\*([A\&\& \\*([A:
.if !\&\\*([T\&\& \{\&\\*(["\\*([T\\*("]\c
.ds %, , \}
.if !\&\\*([M\&\& \{\\*(%,\\*([M\c
.ds %, , \}
.if !\&\\*([D\&\& \{\\*(%,\\*([D\c
.ds %, , \}
.if !\&\\*([O\&\& \{\\*(%,\\*([O\c
.ds %, , \}
\&.
..
.de %0 \" Something else
.if !\&\\*([i\&\& .rm [I [C
.if !\&\\*([A\&\& \\*([A:
.if !\&\\*([T\&\& \{\&\f\\n(%F\\*([T\f1\c
.ds %, , \}
.if !\&\\*([V\&\& \{\\*(%,vol. \\*([V\c
.ds %, , \}
.if !\&\\*([N\&\& \{\\*(%,no. \\*([N\c
.ds %, , \}
.if !\&\\*([P\&\& \{.if \\n([P \\*(%,pp.\|\c
.el \\*(%,p.\|\c
.ds %, ,
\&\\*([P\c\}
.if !\&\\*([E\&\& \{\\*(%,\\*([E\^\c
.if \\n([E (eds.)\c
.el (ed.)\c
.ds %, , \}
.if !\&\\*([C\&\& \{\\*(%,\\*([C\c
.ds %, , \}
.if !\&\\*([D\&\& \{\\*(%,\\*([D\c
.ds %, , \}
.if !\&\\*([i\&\& \{\\*(%,ISBN\|\\*([i\c
.ds %, , \}
.if !\&\\*([O\&\& \{\\*(%,\\*([O\c
.ds %, , \}
\&.
..
.\*($0
.rm $0 ]R