1 .\
" @(#)tmac.e 2.31 (Berkeley) 5/21/88
2 .\" Modified by James Clark for use with groff
.
4 .\" Copyright (c
) 1988 Regents of the University of California
.
5 .\
" All rights reserved.
7 .\
" Redistribution and use in source and binary forms are permitted
8 .\" provided that this notice
is preserved
and that due credit
is given
9 .\
" to the University of California at Berkeley. The name of the University
10 .\" may
not be used to endorse
or promote products derived
from this
11 .\
" software without specific prior written permission. This software
12 .\" is provided ``
as is'' without express
or implied warranty
.
15 .\
"**********************************************************************
17 .\
"* ****** - M E N R O F F / T R O F F M A C R O S ****** *
19 .\
"* Produced for your edification and enjoyment by: *
21 .\
"* Electronics Research Laboratory *
23 .\
"* current address: *
24 .\"* Britton
-Lee
, Inc
. *
25 .\
"* 1919 Addison Street Suite 105 *
26 .\"* Berkeley
, California
94704 *
28 .\"* VERSION
2.31 First Release
: 11 Sept
1978 *
30 .\"* Documentation
is available
. *
32 .\"**********************************************************************
34 .\" Code on
.de commands
:
35 .\
" *** a user interface macro.
36 .\" &&& a user interface macro which
is redefined
37 .\
" when used to be the real thing.
38 .\" $$$ a macro which may be redefined by the user
39 .\
" to provide variant functions.
40 .\" --- an internal macro.
44 .\" *** INTERNAL GP MACROS
***
45 .de @C \
" --- change ev's, taking info with us
75 .de @D \" --- determine display type (Indent, Left, Center)
89 .de @z \
" --- end macro
90 .if \n@>1 .tm >> @z, .z=\\n(.z ?a=\\n(?a
93 . tm Line \\
n(c
. -- Unclosed block, footnote, or other diversion (\\n(.z)
98 . bp \
" force out final table
100 .rm @b\" \
" don't start another page
105 .\" *** STANDARD HEADERS
AND FOOTERS
***
106 .de he \
" *** define header
118 .de eh \" *** define even header
124 .de oh \" *** define odd header
130 .de fo \" *** define footer
142 .de ef \
" *** define even foot
148 .de of \
" *** define odd footer
154 .de ep \
" *** end page (must always be followed by a .bp)
162 .\" *** INTERNAL HEADER
AND FOOTER MACROS
***
164 .if \n@>1 .tm >> @h %=\\n% ?a=\\n(?a ?b=\\n(?b ?w=\\n(?w
165 .if (\\n(.i+\\n(.o)>=\\n(.l \
166 . tm Line \\n(c. -- Offset + indent exceeds line length
167 .\" initialize a pile of junk
168 .nr ?h \\
n(?H \
" transfer "next page
" to "this page
"
176 .nr _w 0 \" reset max footnote width
177 .nr ?W
0 \
" no wide floats this page (yet)
179 .\" begin actual header stuff
182 .@m \
" output cut mark
184 . sp |\\n(hmu \" move to header position
185 .@t $h \
" output header title
188 .sp |\\n(tmu \" move to top of text
190 .mk _k \
" for columned output
191 .if \\n(?n .nm 1 \" restore line numbering
if n1 mode
192 .nr $c
1 \
" set first column
193 .if \n@>4 .tm -- @h >> .ns nl=\\n(nl %=\\n% _k=\\n(_k tm=\\n(tm
201 . @n \" begin the column
206 . de @m \
" --- output cut mark (only on C/A/T-style)
214 .de @n \" --- new column or page
215 .if \n@
>3 .tm
>> @n nl
=\\
n(nl %
=\\n% ?f
=\\
n(?f ?o
=\\
n(?o
218 .if (\\
n(_w
<=\\
n($l
)&(\\
n(?W
=0) \
220 . nr
_b (\\
n(ppp
*\\
n($ru
)/200u \
" compute fudge factor (must be < 1P)
221 . if \\n(_bu>((\\n(bmu-\\n(fmu-((\\n(tpp*\\n($ru)/100u))/2u) \
222 . nr _b (\\n(ppp*\\n($ru)/100u-\n(.Vu
228 .nr _b +(\\n(ppp*\\n($ru)/100u \" add
1 paragraph v in case of sweep past
229 .if \n@
>2 .tm @n
.p
=\\
n(.p bm
=\\
n(bm _b
=\\
n(_b _B
=\\
n(_B
230 .nr ?f
0 \
" reset footnote flag
233 . (f _ \" reprocess footnotes which run off page
245 . |h \
" output the table header
248 . mk #T \" for tbl commands
251 .if (\\
n(?a
)&((\\
n($c
<2):(\\
n(?w
=0)) \
253 . nr ?a
0 \
" output floating keep
256 . mk _k \" don
't overstrike wide keeps
260 .$H \" special column header macro
264 .if \n@>1 .tm >> @f %=\\n% nl=\\n(nl ?a=\\n(?a ?b=\\n(?b ?f=\\n(?f
265 .if \n@>2 .nr VL \\n(.pu-\\n(nlu
266 .if \n@>2 .tm @f bm=\\n(bm _B=\\n(_B _b=\\n(_b .p-nl=\\n(VL
270 . nr T. 1 \" for tbl commands (to output bottom line)
271 . T# 1 \" output the sides and bottom lines
279 . @k |b\" \" output bottom of page tables
282 . @o \" output footnote if present
284 . @c \" handle new column
290 .de @o \" --- output footnote
294 .if \n@>2 .tm @o last printed text = \\n(nl placing @r trap at -\\n(_B
298 .if \n@>2 .tm @o triggered @r (?o) = \\n(?o
301 . di \" just in case triggered @r
313 .de @c \" --- new column
314 .if \n@>2 .tm >> @c %=\\n%
321 .de @e \" --- end page
325 .sp |\\n(.pu-\\n(fmu-((\\n(tpp*\\n($ru)/100u) \" move to footer position
326 .@t $f \" output footer title
330 .de @t \" --- output header or footer title
333 . sz \\n(tp \" set header/footer type fonts, etc.
335 . lt \\n(_Lu \" make title span entire page
341 .de $h \" $$$ print header
345 . if e .ds |z "\\*(|0
346 . if o .ds |z "\\*(|1
348 .if !\(ts\\*(|z\(ts\(ts \
352 .de $f \
" $$$ print footer
356 . if e .ds |z "\\
*(|
0
357 . if o
.ds |z
"\\*(|1
359 .if \(ts\\*(|z\(ts\(ts \
361 . if e .ds |z "\\
*(|
2
362 . if o
.ds |z
"\\*(|3
364 .if !\(ts\\*(|z\(ts\(ts \
368 .de @r \" --- reprocess overflow footnotes
369 .if \n@
>3 .tm
>> @r
.z
=\\
n(.z ?f
=\\
n(?f ?a
=\\
n(?a ?b
=\\
n(?b _b
=\\
n(_b
370 .di |o \
" save overflow footnote
375 .\" *** COMMANDS WITH VARIANT DEFINITIONS
***
376 .rn bp @b \
" --- begin page
377 .de bp \" *** begin new
page (overrides columns
)
378 .nr $c \\
n($m \
" force new page, not new column
386 . @h \" 'spring' the header trap
389 .wh
0 @h \
" reset header
391 .rn ll xl \" *** special line
length (local)
392 .de ll \
" *** line length (global to environments)
396 .if (\\n($m<=1):(\\n($l>\\n(_L) \
399 .rn po @O \" --- local page offset
400 .de po \
" *** page offset
404 .\" *** MISCELLANEOUS ROFF COMMANDS
***
405 .de hx \
" *** suppress headers and footers next page
408 .de ix \" *** indent
, no break
411 .de bl \" *** contiguous blank lines
417 .de n1 \" *** line numbering 1
422 .de n2 \" *** line numbering 2
429 .de pa \" *** new page
432 .de ro \" *** roman page numbers
435 .de ar \" *** arabic page numbers
438 .de m1 \" *** position one space
441 .nr tm +\\n(hmu-\\n(_0u
444 .de m2 \" *** position two space
445 .nr tm \\n(hmu+\\n(tpp+\\$1v
447 .de m3 \" *** position three space
448 .nr bm \\n(fmu+\\n(tpp+\\$1v
450 .de m4 \" *** position four space
453 .nr bm +\\n(fmu-\\n(_0u
455 .de sk \" *** leave a blank page (next page)
457 . tm Line \\n(c. -- I cannot skip multiple pages
460 .\" *** MISCELLANEOUS USER SUPPORT COMMANDS ***
461 .de re \" *** reset tabs (TROFF defines 15 stops default)
464 .de ba \" *** set base indent
468 . nr $i \\n(siu*\\n($0u
470 .de hl \" *** draw horizontal line
475 .\" *** PARAGRAPHING ***
476 .de pp \" *** paragraph
479 .de lp \" *** left aligned paragraph
485 .de ip \" *** indented paragraph w/ optional tag
486 .if (\\n(ii>0)&(\\n(ii<1n) \
495 . ie \\w"\\$1">=\\n(_0 \
500 . el \&\\$1\h'|\\
n(_0u
'\c
504 .de np \" *** numbered paragraph
506 . nr $p 0 \" reset number after .bu
507 .nr $p +1 \" increment paragraph number
510 \0(\\n($p)\h'|\w
'\0(000)\0'u
'\c
512 .de bu \" *** bulleted paragraph
515 . ns \" don't space between
.bu paragraphs
516 .nr $p
0-1 \
" mark "bulleted paragraph
" mode
521 .de @p \" --- initialize for paragraph
522 .if "\\n(.z"|e
" .tm Line \\n(c. -- Unmatched continued equation
534 .\" *** SECTION HEADINGS
***
535 .de sh \
" *** section heading
537 .if (\\n(si>0)&(\\n(si<1n) \
540 .@d "\\$
1" +1 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
544 . $p
"\\*(|n" "\\*($n" \\
n($
0
545 . $
0 "\\*(|n" "\\*($n" \\
n($
0
548 .nr $p
0 1 \
" reset .np count
550 .de @d \" --- change section depth
553 .if \\n($0&(\\n(.$>1) \
560 . if (\\n(.$>=3) .if !"\\$3"-" \
570 . if (\\
n(.$
>=4) .if !"\\$4"-" \
580 . if (\\n(.$>=5) .if !"\\$
5"-" \
590 . if (\\n(.$>=6) .if !"\\$6"-" \
600 . if (\\
n(.$
>=7) .if !"\\$7"-" \
610 . if (\\n(.$>=8) .if !"\\$
8"-" \
617 .de sx \
" *** heading up, no increment (2.1.1 -> 2.1)
622 .if \\n(.$ .nr _0 \\$1
626 .nr $p 0 1 \" reset
.np count
628 .de uh \
" *** unnumbered section heading
632 .de $p \" $$$ print section heading
633 .if (\\
n(si
>0)&(\\
n(.$
>2) \
638 . sp \\n(ssu \" one of them
is non
-null
639 . ne \\
n(.Lv
+\\
n(.Vu
+\\
n(psu
+((\\
n(spp
*\\
n($ru
*\\
n(.Lu
)/100u)
641 . ti
-(\\
n(siu
-\\
n(sou
)
648 . if \w
"\\$2">0 \\$
2.
649 . if \w
"\\$1">0 \\$
1\f1\ \ \
&
656 .\
" *** COLUMNNED OUTPUT ***
657 .de 2c \" *** double columned output
660 . 1c \
" revert to 1c if already 2c
666 . nr $s \\$1n \" param
1: column seperation
667 .nr $
l (\\
n(.l
-((\\
n($m
-1)*\\
n($s
))/\\
n($m
672 .de
1c \
" *** single columned output
676 .ll \\n(_Lu \" return to normal output
680 .de bc \
" *** begin column
683 .\" *** FLOATING TABLES
AND NONFLOATING BLOCKS
***
684 .de (z \
" *** begin floating keep
685 .if \n@>4 .tm >> (z, .z=\n(.z
690 .de )z \" *** end floating keep
691 .if \n@
>4 .tm
>> )z
, .z
=\
n(.z
694 .if \n@
>4 .tm
-- )z << @), .z=\n(.z
697 . nr dn
+(\\
n(ppp
*\\
n($ru
)/200u+\\
n(zsu
698 .nr dl
-\
n(.H \
" fudge factor necessary to make it work
699 .ie ((\\n(dn+\n(.V)>=\\n(.t):(\\n(?a):((\\n(dl>\\n($l)&(\\n($c>1)) \
702 . if (\\n(dl>\\n($l)&(\\n($m>1) \
703 . nr ?w 1 \" mark wider than one
column (top
)
709 . if (\\
n(dl
>\\
n($l
)&(\\
n($m
>1) \
710 . nr ?W
1 \
" mark wider than one column (bottom)
715 .da \\*(|x \" copy to save macro
719 .if \n@
>4 .tm
-- )z >> \\*(|x
720 \
!.if \\\\
n(nl
>(\\\\
n(tm
+2v
) .ne \\
n(dnu
-\\
n(zsu
721 .|k\
" \" and the body
723 .if \n@
>4 .tm
-- )z << \\*(|x, .z=\\n(.z
725 .rm |k\
" \" remove the temp macro
731 .if \n@
>4 .tm
<< )z
, .z
=\\
n(.z
733 .de @k \
" --- output floating keep
734 .if \n@>4 .tm >> @k, $1=\\$1, .z=\\n(.z
747 .de (t \" XXX temp ref
to (z
750 .de
)t \
" XXX temp ref to )t
753 .de (b \" *** begin block
759 .de
)b \
" *** end block
762 .if (\\n(bt=0):(\\n(.t<\\n(bt) \
763 . ne \\n(dnu \" make it
all on one page
773 .sp \\
n(bsu
+\\
n(.Lv
-1v
775 .de @
( \
" --- begin keep
776 .if !"\\
n(.z
"" .tm Line \\
n(c
. -- Illegal nested keep \\n(.z
781 .de @M \" --- set modes for display
785 .vs \\n(.sp*\\n($Ru/100u
788 . fi \" set fill mode if "F" parameter
799 .de @) \" --- end keep
801 .if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened
807 .de (c \" *** begin block centered text
808 .if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
811 .de )c \" *** end block centered text
812 .if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c
813 .br \" force out final line
815 .if \n@>4 .tm >> .)c .l=\\n(.l .i=\\n(.i $i=\\n($i dl=\\n(dl
818 .in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
819 .if \n@>4 .tm -- .)c << .in .l=\\n(.l .i=\\n(.i dl=\\n(dl
828 .\" *** BLOCK QUOTES (OR WHATEVER) AND LISTS ***
829 .de (q \" *** begin block quote
838 .de )q \" *** end block quote
841 .sp \\n(qsu+\\n(.Lv-1v
844 .de (l \" *** begin list
850 .de )l \" *** end list
853 .sp \\n(bsu+\\n(.Lv-1v
856 .\" *** PREPROCESSOR SUPPORT ***
860 .de EQ \" *** equation start
864 . if "\\n(.z"|e" .tm Line \\n(c. -- Nested .EQ request
873 .de EN \" *** equation end
885 . @q \" actual equation output
890 .de @q \" --- equation output
893 .sp \\n(esu \" output rest of preceeding text
894 .@C 2 \" .ev 2 may be jumbled from header
896 . in (\\n(.lu+\\n($iu-\\n(dlu)/2u
903 .if !"\\n(.z"" \!.ne \\n(_Qu
904 .ne \\n(_Qu+\n(.Vu \" keep it on one page
906 .if \n@>1 .tm --@e: _Q=\\n(_Q _q=\\n(_q nl=\\n(nl |p=\\*(|p
910 . sp (\\n(_Qu-\\n(.vu)/2u
916 .sp \\n(esu+\\n(.Lv-1v
923 .de TS \" *** table start
926 .fi \" drop into fill mode for text boxes
929 . di |h \" save header part
933 .ch @f -(\\n(_bu+1v) \" set pseudo-trap for bottom line
934 .if \\n(.p-\\n(_b-1v<=\\n(nl \
935 . ch @f \\n(nlu+\n(.Vu
937 .de TH \" *** end header part of table
943 .|h \" put in the initial header
948 .de TE \" *** table end
950 .ch @f -\\n(_bu \" reset pseudo-trap
951 .if \\n(.p-\\n(_b<=\\n(nl \
952 . ch @f \\n(nlu+\n(.Vu
954 .sp \\n(bsu+\\n(.Lv-1v
960 .de ][ \" *** refer output
961 .if \\$1>5 .tm Bad arg to []
967 .if !"\\*([A"" \\*([A,
968 .if !"\\*([T"" \\f2\\*([T\\f1\c
969 .if !"\\*([T"" .if !"\\*([O"" ,\
970 .ie !"\\*([O"" \\*([O
971 .el .if !"\\*([T"" \&.
972 .if !"\\*([D"" \\*([D.
976 .de [1 \" --- journal article
980 .if !"\\*([T"" \\*(lq\\*([T,\\*(rq
981 .if "\\*([V"" \\f2\\*([J\\f1,
982 .if !"\\*([V"" \\f2\\*([J\\f1
983 .if !"\\*([V"" \\f3\\*([V\\f1\c
984 .if !"\\*([N"" (\\*([N)\c
987 . ie \\n([P>0 \ pp.\&
991 .if !"\\*([I"" .if "\\*([R"" \\*([I,
993 .if !"\\*([O"" \\*([O
999 \\*([A, \\f2\\*([T,\\f1
1001 .if !"\\*([C"" , \\*([C\c
1003 .if !"\\*([G"" Gov't
. ordering no
. \\
*([G
1004 .if !"\\*([O"" \\*([O
1007 .de [3 \" --- article in book
1010 \\
*([A
, \\
*(lq\\
*([T
,\\
*(rq
1011 .if !"\\*([P"" pp. \\*([P
1012 in \\f2\\*([B\\f1, \c
1013 .if !"\\
*([E
"" ed
. \\
*([E
,\c
1014 .if !"\\*([I"" \\*([I\c
1015 .if !"\\
*([C
"" , \\
*([C\c
1017 .if !"\\*([O"" \\*([O
1020 .de [4 \" --- report
1023 \\
*([A
, \\
*(lq\\
*([T
,\\
*(rq
1025 .if !"\\*([G"" \& (\\*([G)\c
1026 .if !"\\
*([I
"" , \\
*([I\c
1027 .if !"\\*([C"" , \\*([C\c
1029 .if !"\\
*([O
"" \\
*([O
1032 .de
[5 \
" --- tm style
1035 \\*([A, \\f2\\*([T\\f1,
1037 .el Bell Laboratories internal memorandum (\\*([D).
1049 .rm [V [P [A [T [N [C [B [O [R [I [E [D
1053 . ds [. \s-2\v'-.4m'\f1
1054 . ds .] \v'.4m'\s+2\fP
1064 .de IS \" *** start ideal picture
1072 .de IE \
" *** end ideal picture
1079 .de PS \
" *** start picture: $1=height, $2=width in units or inches
1082 .in (\\n(.lu-\\n(g7u)/2u
1087 .de PE \" *** end picture
1096 .de GS \" *** start gremlin picture
1097 .nr
g7 (\\
n(.lu
-\\
n(g1u
)/2u
1098 .if "\\$1"L
" .nr g7 \\n(.iu
1099 .if "\\$
1"R" .nr g7 \\
n(.lu
-\\
n(g1u
1106 .de GE \
" *** end gremlin picture
1110 .de GF \" *** finish gremlin picture
; stay at top
1115 .\
" *** FONT AIDS ***
1116 .de sz \" *** set point size
and vertical spacing
1118 .vs \\
n(.sp
*\\
n($ru
/100u \
" default vs at pointsize + 20%
1120 .de @E \" --- store in _F argument to \f for restoring font
1125 . ie \\
n(.f
<100&\
n(.g \
1131 .de r \
" *** enter roman font
1134 .if \\n(.$ \&\\$1\f\\*(_F\\$2
1136 .de i \" *** enter italic
1139 .if \\
n(.$ \
&\\$
1\f\\
*(_F\\$
2
1141 .de b \
" *** enter boldface
1144 .if \\n(.$ \&\\$1\f\\*(_F\\$2
1146 .de rb \" *** enter
real boldface
1149 .if \\
n(.$ \
&\\$
1\f\\
*(_F\\$
2
1151 .de bi \
" *** enter bold italic
1154 .if \\n(.$ \&\\$1\f\\*(_F\\$2
1156 .de u \" *** enter underlined word
1157 \
&\\$
1\l
'|0\(ul'\\$
2
1159 .de q \
" *** enter quoted word
1160 \&\\*(lq\\$1\\*(rq\\$2
1162 .de bx \" *** enter boxed word
1163 \k~\
(br\|\\$
1\|\
(br\l
'|\\n~u\(rn'\l
'|\\n~u\(ul'\^\\$
2
1165 .de sm \
" *** print in smaller font
1168 .de @F \" --- change font (0 -> no change)
1174 .\
" *** FOOTNOTING ***
1175 .de (f \" *** begin footnote
1177 .if "\\n(.z"|f
" .tm Line \\n(c. -- Illegal footnote nesting
1185 . xl \\
n($lu
-\\
n(fuu
1188 . vs \\
n(.sp
*\\
n($Ru
/100u
1191 . nr _b
+1v \
" allow space for $s
1195 . if \\n(.p-\\n(_b-\\n(_0-\\n(.h-1v-\\n(fs<0 \
1197 . da\" \
" won't fit on page at all
1202 .\" next five lines could be dropped
if headers had their own environment
1203 . in
0 \
" reset everything from .bc
1204 . xl \\n($lu-\\n(fuu
1207 . vs \\n(.sp*\\n($Ru/100u
1218 . if \n@
>2 .tm
<< (f $f
=\\
n($f
1226 .de
)f \
" *** end footnote
1231 . ds
* \\
*{\\
n($f\\
*}\k
*
1236 . if \\
n(_w
<\\
n(dl \
1237 . nr _w \\
n(dl \
" compute maximum fn width
1240 . if \\n(.p-\\n(_b<=\\n(nl \
1241 . ch @f \\n(nlu+\n(.Vu
1253 . nr ff 1 \" footnote font
: Times Roman
1255 . nr fp
8 \
" footnote pointsize
1256 .de $s \" $$$ footnote separator
1259 .\
" *** DELAYED TEXT ***
1260 .de (d \" *** begin delayed text
1264 .de
)d \
" *** end delayed text
1270 .de pd \" *** print delayed text
1276 .\
" *** INDEXES (TABLE OF CONTENTS) ***
1279 .de (x \" *** begin index entry
1280 .if \n@
>4 .tm
>> (x
, .z
=\\
n(.z
1290 .de @0 \" --- finish (x if no current diversion
1295 .de @
1 \
" --- finish (x if current diversion
1296 .if "\\
n(_x
"z" .nr _x
0
1299 .de
)x \
" *** end index entry
1300 .if \n@>4 .tm >> )x, .z=\\n(.z
1309 . if \w"\\$
2">(\\n(.l-\\n(.i-\\n(.k) \
1311 \\\\a\\\\t\\$2\\*(|x
1324 .de xp \" *** print the index
1328 .vs \\
n(.sp
*\\
n($Ru
/100u
1334 .xl
-(\\
n(xuu
+\w
'...'u
)
1345 .ta \\
n(.lu
-\\
n(xuuR \\
n(.luR
1351 .de
+c \
" *** begin chapter
1352 .ep \" force out footnotes
1355 . bp \
" force out a table or more footnote
1365 .in \\n($iu \" reset the indent
1372 .de
++ \
" *** declare chapter type
1375 . nr _0
1 \
" chapter
1377 . nr _0
11 \
" renumbered chapter
1379 . nr _0
2 \
" appendix
1381 . nr _0
12 \
" renumbered appendix
1383 . nr _0
3 \
" preliminary material
1385 . nr _0
4 \
" bibliographic material
1387 . nr _0
5 \
" abstract
1389 . tm Line \\n(c. -- Bad mode to .++
1397 .if (\\n(_0=3):(\\n(_0=5) \
1398 . pn 1 \" must
do before
.ep
1399 .ep \
" end page for correct page number types
1418 .if !\\n(_0=\\n(_M .if \\n(_M=3 \
1423 .de $c \" $$$ print chapter title
1429 .ie \\
n(_M
=1 CHAPTER\ \ \\
n(ch
1430 .el
.if \\
n(_M
=2 APPENDIX\ \ \\
n(ch
1431 .if \w
"\\$1" .sp
3-\\
n(.L
1433 .if (\\
n(_M
<3):(\w
"\\$1") \
1439 . $C Chapter \\
n(ch
"\\$1"
1441 . $C Appendix \\
n(ch
"\\$1"
1443 .de tp \
" *** title page
1451 .if \
n(mo
=1 .ds mo January
1452 .if \
n(mo
=2 .ds mo February
1453 .if \
n(mo
=3 .ds mo March
1454 .if \
n(mo
=4 .ds mo April
1455 .if \
n(mo
=5 .ds mo May
1456 .if \
n(mo
=6 .ds mo June
1457 .if \
n(mo
=7 .ds mo July
1458 .if \
n(mo
=8 .ds mo August
1459 .if \
n(mo
=9 .ds mo September
1460 .if \
n(mo
=10 .ds mo October
1461 .if \
n(mo
=11 .ds mo November
1462 .if \
n(mo
=12 .ds mo December
1463 .if \
n(dw
=1 .ds dw Sunday
1464 .if \
n(dw
=2 .ds dw Monday
1465 .if \
n(dw
=3 .ds dw Tuesday
1466 .if \
n(dw
=4 .ds dw Wednesday
1467 .if \
n(dw
=5 .ds dw Thursday
1468 .if \
n(dw
=6 .ds dw Friday
1469 .if \
n(dw
=7 .ds dw Saturday
1470 .ds td \
*(mo \
n(dy
, 19\
n(yr
1471 .\
" *** PARAMETRIC INITIALIZATIONS ***
1473 .nr $r \n(.v*100+\n(.sp-1u/\n(.sp \" ratio of vs to ps for
.sz request
1474 .nr $R \
n($r \
" ratio for displays & footnotes
1475 .nr hm 4v \" header margin
1476 .nr tm
7v \
" top margin
1477 .nr bm 6v \" bottom margin
1478 .nr fm
3v \
" footer margin
1479 .nr tf 3 \" title font
: (real) Times Bold
1480 .nr tp
10 \
" title point size
1482 .nr bi 4m \" indent for blocks
1483 .nr pi
5n \
" indent for paragraphs
1484 .nr pf 1 \" normal text font
1485 .nr pp
10 \
" normal text point size
1486 .nr qi 4n \" indent for quotes
1487 .nr qp
-1 \
" down one point
1488 .nr ii 5n \" indent for
.ip
's and .np's
1489 .nr $m
1 \
" max number of columns
1490 .nr $s 4n \" column separation
1491 .nr sf
3 \
" section font -- Times Bold
1492 .nr sp 10 \" section title pointsize
1493 .nr ss
12p \
" section prespacing
1494 .nr si 0 \" section indent
1495 .\
" *** OTHER INITIALIZATION ***
1496 .ds { \v'-0.4m'\x'-0.2m'\s-3
1498 .ds < \v'0.4m'\x'0.2m'\s-3
1505 .if \
n(ps
<\
n(.V
.nr ps \
n(.V
1506 .nr bs \
n(ps \
" block pre/post spacing
1507 .nr qs \n(ps \" quote pre
/post spacing
1508 .nr zs
1v \
" float-block pre/postspacing
1509 .nr xs 0.2v \" index prespacing
1510 .nr xu
0.5i \
" index undent
1511 .nr fs 0.2v \" footnote prespacing
1512 .nr es
0.5v \
" equation pre/postspacing
1513 .if \n(es<\n(.V .nr es \n(.V
1514 .wh 0 @h \" set header
1515 .nr $l \
n(.lu \
" line length
1516 .nr _L \n(.lu \" line length of page
1517 .nr $c
1 \
" current column number
1518 .nr $f 1 1 \" footnote number
1519 .ds
* \
*{1\
*}\k
*\
" \" footnote
"name"
1520 .nr $d
1 1 \
" delayed text number
1521 .ds # [1]\k#\" \
" delayed text "name
"
1522 .nr _M 1 \" chapter mode
is chapter
1523 .ds lq \
(lq\
" \" left quote
1524 .ds rq \
(rq\
" \" right quote
1526 .\
" *** FOREIGN LETTERS AND SPECIAL CHARACTERS ***
1527 .ds #h ((1u-(\\\\n(.fu%2u))*0.13m)
1530 .ds ' \k_\h'-(\\n(.wu*8/10-\*(#h)'\(aa\h'|\\n_u'
1531 .ds ` \k_\h'-(\\n(.wu*7/10-\*(#h)'\(ga\h'|\\n_u'
1533 .ds : \k_\h'-(\\n(.wu*8/10-\*(#h+0.1m)'\v'-\*(#v'\z.\h'0.2m'.\h'|\\n_u'\v'\*(#v'
1534 .\" \
" circumflex and tilde
1535 .ds ^ \k_\h'-(\\n(.wu-\*(#h-0.05m)'^\h'|\\n_u'
1536 .ds ~ \k_\h'-(\\n(.wu-\*(#h-0.05m)'~\h'|\\n_u'
1537 .\" \
" cedilla and czech
1538 .ds , \k_\h'-(\\n(.wu)'\*(#[,\h'|\\n_u'
1539 .ds v \k_\h'-(\\n(.wu*9/10-\*(#h)'\v'-\*(#v'\s-4v\s0\v'\*(#v'\h'|\\n_u'
1540 .\" \
" Norwegian A or angstrom
1541 .ds o \k_\h'-(\\n(.wu+\w'\(de'u-\*(#h)/2u'\v'-0.4n'\z\(de\v'0.4n'\h'|\\n_u'
1542 .\" \
" there exists, for all
1543 .ds qe \s-2\v'0.45m'\z\(em\v'-0.625m'\z\(em\v'-0.625m'\(em\v'0.8m'\s0\h'-0.1m'\v'-0.05m'\(br\v'0.05m'\h'0.1m'
1544 .ds qa \z\e\h'0.35m'\z\(sl\h'-0.33m'\v'-0.3m'\s-4\(em\s0\v'0.3m'\h'0.15m'
1549 .tm The \\$1 macro has been removed from this version of the -me macros.