+++ /dev/null
-\" @(#)$Id: tmac.n,v 1.1.1.1 2002/01/05 21:05:47 jwalz Exp $
-.\" The News macro package
-.\"
-.\" This is the macro package that is used to format news documents. It
-.\" was written because many sites do not have one of the -mm or -ms pack-
-.\" ages that the documents use. This is NOT compatible with EITHER, but
-.\" (I hope) will become the standard for all news documents (man pages
-.\" excepted, since everyone seems to have -man.)
-.\"
-.\" This package was written using only the "NROFF/TROFF Users' Guide",
-.\" and therefore if you can run NROFF/TROFF, you can legitimately use
-.\" this package. However, because NROFF/TROFF are proprietary programs,
-.\" I cannot place this package in the public domain. This should not
-.\" matter, because if you legitimately have NROFF/TROFF, you have the
-.\" documentation; if not, you can't run off the documentation anyway.
-.\"
-.\" This package may be circulated freely with the news documentation; it
-.\" may not be sold, but is to be distributed with the unformatted news
-.\" documents. However, the name of the author and the place at which it
-.\" was written (in the author's own time, of course) are not to be
-.\" removed from the package regardless of how it is modified or altered.
-.\" Further, please do not distribute this package if you make any changes
-.\" because I don't want to get bug reports of macros I haven't written;
-.\" if you have a goodie you want me to add, send it to me and we'll talk.
-.\" (I really do like feedback!) I'd really appreciate your cooperation.
-.\"
-.\" Author: Matt Bishop
-.\" Research Institute for Advanced Computer Science
-.\" Mail Stop 230-5
-.\" NASA Ames Research Center
-.\" Moffett Field, CA 94035
-.\"
-.\" version 1.0 September 28, 1985 mab@riacs.arpa
-.\" initial version
-.\" version 1.1 October 25, 1985 mab@riacs.arpa
-.\" fixed an incredibly obscure footnote bug (that occurred twice in
-.\" the news documentation!) which put footnoted words on one page
-.\" and the footnote on the next if the word was in the next-to-last
-.\" or last line; commented it, and generally cleaned up
-.\" Version 1.2 October 27, 1985 mab@riacs.arpa
-.\" Added a few more comments and a check to keep footnotes lined up
-.\" with the bottom margin.
-.\" Version 1.3 February 12, 1986 mab@riacs.arpa
-.\" Added an error check to catch unmatched ef's and ed's
-.\" Version 1.4 December 29, 1986 mab@riacs.edu
-.\" Changed footnote for ux, pd, and vx macros and added a string
-.\" for rg ("Registered Trademark")
-.\" Version 1.5 January 2, 1989 Matt.Bishop@dartmouth.edu
-.\" Minor modifications for nroff compatibility
-.\" Version 1.6 March 15, 1989 Matt.Bishop@dartmouth.edu
-.\" ..!bear.dartmouth.edu!bishop
-.\" Fixed a bug in footnote handling (again, sigh ...) This one
-.\" occurred when the the "fo" trap position was reset just beneath
-.\" the current line; the footnote overflow trap would kick in and
-.\" never be closed.
-.\"
-.\"
-.\" **********
-.\" these preserve and restore various things
-.\" they are used to shorten other macros
-.de yf \" restore fonts
-.ft \\n(f2 \" previous font
-.ft \\n(f1 \" current font
-..
-.de yi \" restore indents
-'in \\n(i2u \" previous indent
-'in \\n(i1u \" current indent
-..
-.de ys \" restore point sizes
-.ps \\n(s2 \" previous point size
-.ps \\n(s1 \" current point size
-..
-.de yv \" restore vertical spacings
-.vs \\n(v2u \" previous vertical spacing
-.vs \\n(v1u \" current vertical spacing
-..
-.de ya \" restore everything
-.yf \" restore fonts
-.yi \" restore indents
-.ys \" restore point sizes
-.yv \" restore vertical spacing
-..
-.de zf \" preserve fonts
-.nr f1 \\n(.f \" current font
-.ft \" switch to previous font
-.nr f2 \\n(.f \" previous font
-.ft \" back to current font
-..
-.de zi \" preserve indents
-.nr i1 \\n(.iu \" current indent
-'in \" switch to previous indent
-.nr i2 \\n(.iu \" previous indent
-'in \" back to current indent
-..
-.de zs \" preserve point sizes
-.nr s1 \\n(.su \" current point size
-.ps \" switch to previous point size
-.nr s2 \\n(.su \" previous point size
-.ps \" back to current point size
-..
-.de zv \" preserve vertical spacings
-.nr v1 \\n(.vu \" current vertical spacing
-.vs \" switch to previous vertical spacing
-.nr v2 \\n(.vu \" previous vertical spacing
-.vs \" back to current vertical spacing
-..
-.de za \" save everything
-.zf \" save fonts
-.zi \" save indents
-.zs \" save point sizes
-.zv \" save vertical spacings
-..
-.\" **********
-.\" these actually print the header and footer titles
-.\" they are defined separately from the "hd" and "fo" macros
-.\" to make user redefinition easy
-.de pt \" print header title
-. \" omit header on first page
-.if \\n%>1 \{\
-' sp |\\$1u \" move to proper position
-. ft 1 \" change to default font
-. ps \\n(ps \" change to default point size
-. vs \\n(vs \" change to default spacing
-. tl '\\*(h0'\\*(h1'\\*(h2' \" center title
-. vs \" restore current vertical spacing
-. ps \" restore current point size
-. ft \" restore current font
-.\}
-..
-.de pf \" print footer title
-.ft 1 \" change to default font
-.ps \\n(ps \" change to default point size
-.vs \\n(vs \" change to default spacing
-.ie \\n%=1 .tl '\\*(h0'\\*(h1'\\*(h2' \" on first page, print the header here
-.el .tl '\\*(f0'\\*(f1'\\*(f2' \" on other pages, print the footer
-.vs \" restore current vertical spacing
-.ps \" restore current point size
-.ft \" restore current font
-..
-.\" **********
-.\" these are the top of page (header) and bottom of page (footer) macros
-.\" they don't actually print anything, just call the right macros
-.de hd \" header -- do top of page processing
-.if t .if \\n(cm .tl '\(rn''' \" drop cut mark if needed
-.pt \\n(ttu \" print header
-.nr fc 0 1 \" init footnote count
-.nr fs \\n(.pu-\\n(bmu-1u \" if any footnotes, start print here
-.nr fp 0-\\n(bmu \" reset current footer place
-.ch fo -\\n(bmu \" reset footer trap
-.if \\n(dn .fz \" put leftover footnotes st bottom
-.ya \" restore font, etc.
-'sp |\\n(tmu \" move to top of body
-.ns \" don't allow any more space
-..
-.de fo \" footer -- do bottom of page processing
-.za \" save font, etc.
-.rs \" you want motions here
-.nr dn 0 \" clobber diversion size register
-.if \\n(fc .fd \" now print the footnotes, if any
-'bp \" force out page
-..
-.\" **********
-.\" these are the footnote macros
-.\" here's an overview:
-.\" Footnotes are processed in environment #1, which is initialized
-.\" at the bottom of this package. When "fn" is called, nroff/troff
-.\" switches to this environment. The body of the footnote is saved
-.\" in the diversion "tf" (for "temporary footnote"), so you will
-.\" NEVER spring a trap during the first reading of a footnote. When
-.\" "ef" ("end footnote") is called, the diversion is closed. If
-.\" this is the first footnote on the page (ie, the number register
-.\" "fc" is 1), and the footnote height (plus the height of 1 line)
-.\" crosses the bottom margin, you get the footnoted word on one
-.\" page and the footnote on the other. In this case we just call
-.\" "fo" manually (taking case it cannot be re-invoked on the same
-.\" page!) If this situation does not occur, we just adjust the
-.\" footer trap's position upwards (we'll get to how far in a min-
-.\" ute); if this puts the trap above the current line, we reposi-
-.\" tion the trap just beneath the current line to be sure of trig-
-.\" triggering it once the current line is forced out.
-.\" To reposition the footer trap, we proceed as follows. Because
-.\" the trap may be sprung in the middle of a line, it is possible
-.\" that the footnote will not fit on the page (regardless of where
-.\" on the page the footnoted word occurs -- really!) if we move the
-.\" trap up by the size of the footnote diversion "tf". So, we
-.\" fudge things a little bit -- for the first footnote on each page
-.\" we move the footer trap up 1 extra line ("line" being 1v in env-
-.\" ironment #0). Unless the point size and vertical spacing are
-.\" increased between the first footnote and the footer trap's being
-.\" sprung, this will keep the footnotes on the same page as the
-.\" footnoted word. But as there may be now as much as 1v of space
-.\" between the footnote and the bottom margin, which looks HIDEOUS,
-.\" we use the number register "fs" to mark where the footer trap
-.\" would REALLY go, and just space to it when it comes time to put
-.\" out the footnotes.
-.de fd \" dump footnotes
-.nr gs 1v \" get a measure of 1 line in env #0
-.ev 1 \" switch to footnote environment
-.nr gs +2v \" min of 2 lines of footnotes
-. \" if the number register ns > 0,
-. \" the last text line may contain a
-. \" footnote that is too big to fit;
-. \" this checks for such a note and
-. \" if so, forces the footnote into
-. \" the "fy" diversion that carries
-. \" it onto the next text page
-.ie (\\n(nsu>0)&(\\n(gsu>=\\n(.tu) 'sp \\n(gsu \" be sure you can get it down
-.el .if \\n(fsu>\\n(nlu 'sp \\n(fsu-\\n(nlu \" move to footnote start position
-'nf \" don't reprocess footnotes
-'in 0 \" don't indent them any more either
-.tf \" drop text of footnotes
-.rm tf
-.if '\\n(.z'fy' .di \" end overflow diversion, if any
-.nr fc 0 \" re-init footnote count
-.ev \" return to usual environment
-..
-.de fn \" start footnote
-. \" look for nested footnotes -- ILLEGAL
-.ie \\n(if>0 .er "footnote within footnote"
-.el .da tf \" append footnote to footnote diversion
-.nr if +1 \" increment level of footnoting
-.nr fc +1 \" one more footnote on this page
-.if \\n(fc=1 .nr fp -1v \" The reason for this "fudge factor"
-. \" is that there is no way to force
-. \" NROFF/TROFF to invoke a macro at
-. \" the end of each line. At times,
-. \" the trap boundary will not match up
-. \" with the bottom of a line, so the
-. \" "fo" trap which is set at 2320 may
-. \" not be triggered until 2340 -- and
-. \" then the footnote won't fit. This
-. \" gives some slack so the footnote is
-. \" more likely to fit. *sigh*
-.ev 1 \" enter footnote environment
-.if \\n(fc=1 .fs \" drop separator if first footnote
-.br \" flush out any previous line in footnote
-.fi \" process footnote in fill mode
-..
-.de ef \" end footnote
-.br \" flush out the line in footnote
-.ie \\n(if<=0 .er "end footnote has no corresponding begin footnote"
-.el \{\
-. nr if -1 \" decrement level of footnoting
-. nr fg 2v \" remember this for repositioning fo
-. ev \" back to usual environment
-. if \\n(if=0 \{\
-. di \" end of footnote proper
-. nr fp -\\n(dnu \" "fo" will be moved at least up this far
-. nr fs -\\n(dnu \" increase size of footnote
-. ch fo \\n(fpu \" reposition "fo" trap (first guess)
-. \" the first part of the "ie" clause
-. \" is taken in the special case
-. \" described above
-. ie (\\n(fc=1)&((\\n(nlu+1v+\\n(fgu)>=(\\n(.pu-\\n(bmu)) \{\
-. nr ns \\n(dnu \" suppress footnote separator
-. \" since this footnote contains it
-. \" keep "fo" from being invoked twice
-. ch fo \\n(.pu+1i
-. fo \" force the page out AT ONCE
-. nr ns 0 \" re-enable footnote separator
-. \}
-. \" footnote won't fit completely
-. \" invoke the footer trap but
-. \" don't worry about the footnote
-. \" separator (it's already there)
-. el .if (\\n(nlu+1v)>=(\\n(.pu+\\n(fpu) \{\
-. \" as before we must reposition the
-. \" "fo" trap to prevent "fo" from
-. \" being invoked twice
-. ch fo \\n(.pu+1i
-. fo \" force the page out AT ONCE
-. \}
-. \}
-.\}
-..
-.de fs \" drop footnote separator
-. \" only if not already dropped
-.if \\n(ns=0 \l'1i'
-.nr ns 0 \" in case footnotes are over 1 page long
-..
-.de fx \" process footnote overflow
-.if \\n(fc .di fy \" stuff them in the right place
-..
-.de fz \" deposit footnote overflow
-.fn \" treat it as a footnote
-.nf \" it's already been processed
-.in 0 \" and indented
-.fy \" "fx" put it here
-.ef \" end the footnote
-..
-.\" **********
-.\" the ones after here are user-invoked (like "fn" and "ef" above)
-.\" title, author, etc.
-.de mt \" main title
-\&
-.sp |\\n(mtu \" space
-.ft 3 \" in bold
-.ps \\n(ps+2p \" large point size and
-.vs \\n(vs+2p \" vertical spacing
-.ce 1000 \" center the title
-.nr t2 1 \" space it
-..
-.de au \" author
-.nr t2 0 \" spacing here
-.sp 2v \" space
-.ft 2 \" in italics
-.ps \\n(ps \" usual point size and
-.vs \\n(vs \" vertical spacing
-.ce 1000 \" center the name(s)
-..
-.de ai \" author's institution
-.if \\n(t2 .sp 2v \" space after a title
-.nr t2 0 \" institution
-.ft 2 \" in italics
-.ps \\n(ps \" usual point size and
-.vs \\n(vs \" vertical spacing
-.ce 1000 \" center the name(s)
-..
-.de bt \" begin text macro
-.nr t2 0 \" hold it here
-.nr it +1 \" mark as called
-.ce 0 \" end any centering
-.sn 3v \" a little bit of space
-..
-.\" paragraph
-.de si \" start indented section
-.nr lo \\n(lm \" remember the current level
-.nr lm +1 \" go to the next level
-.ie '\\$1'' .nr l\\n(lm \\n(l\\n(lo+5n \" if no arg, indent 5n
-.el .nr l\\n(lm \\$1n \" otherwise, indent that much
-..
-.de ei \" end indent
-.nr lm -1 \" down one level
-.if \\n(lm<0 .nr lm 0 \" make sure you don't go too far
-..
-.de pg \" plain old paragraph
-.if !\\n(it .bt \" end the title and such
-.sn \\n(pdu \" inter-paragraph spacing
-.ft 1 \" reset a few things (paranoia)
-. \" these ONLY if not in footnote
-.ie \\n(if=0 \{\
-. ps \\n(ps \" reset point size
-. vs \\n(vs \" reset vertical spacing
-. ne 1v+\\n(.Vu \" slightly more than 1 line
-.\}
-.el \{\
-. ps \\n(ps-2p \" reset point size
-. vs \\n(vs-2p \" reset vertical spacing
-.\}
-.in \\n(l\\n(lmu \" stop any indenting
-.ce 0 \" stop any centering
-.if !'\\$1'L' .if !'\\$1'l' .ti +\\n(piu \" indent the sucker
-..
-.de lp \" labelled paragraph
-.pg l \" reset paragraph
-.if \\n(.$>1 .nr li \\$2n \" if indent given use it
-.in +\\n(liu \" indent for paragraph
-.ti -\\n(liu \" force first line NOT to indent
-.ta +\\n(liu \" for the label
-\&\\$1\t\c
-.if \\w'\\$1'u>=(\\n(l\\n(lmu+\\n(liu) .br \" don't overwrite
-..
-.\" The following two macros (hu & hn) have been modified for ELM usage.
-.\" If the macros have text as part of the macro call, the text will be
-.\" increased in size by two points. After printing the text, the font
-.\" will be returned to normal, otherwise the font will be left bold.
-.\"
-.\" section
-.de hu \" header, unnumbered
-. \" format: .hu [text]
-.if !\\n(it .bt \" end the title and such
-.br \" force out previous line
-.b
-.ie \\n(hP .ps \\n(hP
-.el .ps \\n(ps
-.ie \\n(hv .vs \\n(hv
-.el .vs \\n(vs
-.in \\n(l\\n(lmu \" stop any indenting
-.sn \\n(hsu \" inter-section spacing
-.ne 3v+\\n(.Vu \" slightly more than 3 lines
-.fi \" process the text, too
-.if \\n(.$>=1 \{\
-.ps +2
-\\$1
-.\}
-.if \\n(.$>=2 \\$2
-.if \\n(.$>=3 \\$3
-.if \\n(.$>=4 \\$4
-.if \\n(.$>=5 \\$5
-.if \\n(.$>=6 \\$6
-.if \\n(.$>=7 \\$7
-.if \\n(.$>=8 \\$8
-.if \\n(.$=9 \\$9
-.if \\n(.$>=1 \{\
-.ps -2
-.br
-.ft 1
-.\}
-..
-.de hn \" header, numbered
-. \" format: .hn [level] [text]
-.if !\\n(it .bt \" end the title and such
-.br \" force out previous line
-.b
-.ie \\n(hP .ps \\n(hP
-.el .ps \\n(ps
-.ie \\n(hv .vs \\n(hv
-.el .vs \\n(vs
-.in \\n(l\\n(lmu \" stop any indenting
-.sn \\n(hsu \" inter-section spacing
-.ne 3v+\\n(.Vu \" slightly more than 3 lines
-.fi \" process the text, too
-.ie !'\\$1'' .nr hn \\$1
-.el .nr hn 1
-.ie \\n(hn>0 .nr hn -1
-.el .nr hn 0
-.ie \\n(hn=0 \{\
-. nr h0 +1 \" add 1 to main section header
-. nr h1 0 \" zap remaining section numbers
-. nr h2 0 \" zap remaining section numbers
-. nr h3 0 \" zap remaining section numbers
-.ie \\n(.$>=2 \{\
-.ps +2
-\\n(h0.
-.ps -2
-.\}
-.el \\n(h0.
-.\}
-.el .ie \\n(hn=1 \{\
-. nr h1 +1 \" add 1 to the section header
-. nr h2 0 \" zap remaining section numbers
-. nr h3 0 \" zap remaining section numbers
-.ie \\n(.$>=2 \{\
-.ps +2
-\\n(h0.\\n(h1.
-.ps -2
-.\}
-.el \\n(h0.\\n(h1.
-.\}
-.el .ie \\n(hn=2 \{\
-. nr h2 +1 \" add 1 to the section header
-. nr h3 0 \" zap remaining section numbers
-.ie \\n(.$>=2 \{\
-.ps +2
-\\n(h0.\\n(h1.\\n(h2.
-.ps -2
-.\}
-.el \\n(h0.\\n(h1.\\n(h2.
-.\}
-.el \{\
-. nr h3 +1 \" add 1 to the section number
-.ie \\n(.$>=2 \{\
-.ps +2
-\\n(h0.\\n(h1.\\n(h2.\\n(h3.
-.ps -2
-.\}
-.el \\n(h0.\\n(h1.\\n(h2.\\n(h3.
-.\}
-.if \\n(.$>=2 \{\
-.ps +2
-\\$2
-.\}
-.if \\n(.$>=3 \\$3
-.if \\n(.$>=4 \\$4
-.if \\n(.$>=5 \\$5
-.if \\n(.$>=6 \\$6
-.if \\n(.$>=7 \\$7
-.if \\n(.$>=8 \\$8
-.if \\n(.$>=9 \\$9
-.if \\n(.$>=2 \{\
-.br
-.ft 1
-.ps -2
-.\}
-..
-.\" displays (no floats, thank God!)
-.de sd \" start display
-. \" look for nested displays -- ILLEGAL
-.ie \\n(id>0 .er "display within display"
-.el \{\
-. ie '\\$1'c' .nr sf 1 \" center the sucker
-. el .nr sf 0 \" don't center it
-.\}
-.sn \\n(pdu \" a little bit of space
-.ev 2 \" switch to display environment
-.nf \" what you type is what you get
-.if \\n(id=0 .di dd \" start saving text
-.rs \" don't eat leading space
-.nr id +1 \" increment level of display
-..
-.de ed \" end display
-.br \" flush line
-.ie \\n(id<=0 .er "end display has no corresponding begin display"
-.el \{\
-. nr id -1 \" decrement level of display
-. if \\n(id=0 \{\
-. di \" end diversion
-. fi \" resume filling
-. in -\\n(piu \" dedent
-. ev \" pop environment
-. ne \\n(dnu \" be sure you have room
-. nf \" don't reprocess display
-. rs \" don't eat leading space
-. zi \" save indents
-. ie \\n(sf .in (\\n(llu-\\n(dlu)/2u \" center on the line length
-. el .in +\\n(piu \" indent the sucker
-. dd \" drop display
-. yi \" restore indents
-. \}
-.\}
-.fi \" resume filling
-.sn \\n(pdu \" a little bit of space
-..
-.\" **********
-.\" fonts -- if argument(s), apply only to first
-.de b \" bold (font 3)
-.ie \\n(.$>0 \\&\\$3\\f3\\$1\\fP\\$2
-.el .ft 3
-..
-.de i \" italics (font 2)
-.ie \\n(.$>0 \\&\\$3\\f2\\$1\\fP\\$2
-.el .ft 2
-..
-.de r \" roman (font 1)
-.ft 1 \" just restore it
-..
-.de bi \" bold italics (embolden font 2)
-\\&\\$3\c
-\\kb\\f2\\$1\\fP\\h'|\\nbu+2u'\\f2\\$1\\fP\\$2
-..
-.\" **********
-.\" point sizes -- if argument(s), apply only to first
-.de sm \" reduce point size by 2
-.ie \\n(.$>0 \\&\\$3\\s-2\\$1\\s0\\$2
-.el .ps -2
-..
-.de is \" increase point size by 2
-.ie \\n(.$>0 \\&\\$3\\s+2\\$1\\s0\\$2
-.el .ps +2
-..
-.de nl \" return to normal size
-.ps \\n(ps \" just reset the point size
-..
-.\" **********
-.\" handy force space/inhibit more space macros
-.de sn \" space, then turn on nospace mode
-.sp \\$1 \" space
-.ns \" ignore any more space requests
-..
-.de sr \" force out space
-.rs \" turn on spacing mode
-.sp \\$1 \" space
-..
-.\" **********
-.\" end of text and error macros
-.de et \" end of text macro
-. \" this: (1) flushes rest of line
-. \" (2) trips the footer, taking
-. \" care of footnotes
-.sp \\n(.pu
-. \" check for open displays or footnotes
-.if \\n(id>0 .er "unfinished display"
-.if \\n(if>0 .er "unfinished footnote"
-. \" this one means an -mn bug (*sigh*)
-.if !'\\n(.z'' .er "diversion \\n(.z not closed"
-..
-.de er \" print error message
-. \" flag it as an error
-.ds ws "** ERROR **
-. \" if you have it, give the file name
-.if !'\\*(.f'' .as ws " file \\*(.f,
-. \" put out the line number
-.as ws " line \\n(.c
-. \" and finally the error message
-.tm \\*(ws: \\$1
-..
-.\" **********
-.\" macros in this section are VERY specific to the news documentation
-.de pa \" protocol appellation (darn names!)
-\\&\\$3\\f2\\$1\\fP\\$2
-..
-.de ng \" news group name
-\\&\\$3\\f3\\$1\\fP\\$2
-..
-.de cn \" computer name
-\\&\\$3\\f2\\$1\\fP\\$2
-..
-.de hf \" header field
-\\&\\$3\\*(lq\\$1\\*(rq\\$2
-..
-.de cf \" contents of field
-\\&\\$3\\*(lq\\$1\\*(rq\\$2
-..
-.de qc \" quote control char (command)
-\\&\\$3\\f3<\\s-2\\$1\\s0>\\fP\\$2
-..
-.de qp \" quote printing char (command)
-\\&\\$3\\f3\\$1\\fP\\$2
-..
-.de op \" option
-\\&\\$3\\f3\\$1\\fP\\$2
-..
-.\" **********
-.\" trademarked names
-.de pd \" print "PDP-11"
-.ie \\n(p1 \\&\\$2\\s-1PDP\\s0-11\\$1
-.el \{\
-. nr p1 +1 \" mark footnote as dropped
-\\&\\$2\\s-1PDP\\s0-11\\*(rg\\$1
-. fn \" put out the footnote
-\\&\\*(rgPDP-11 is a registered trademark of Digital Equipment Corporation.
-. ef \" short and sweet ...
-.\}
-..
-.de ux \" print "UNIX"
-.ie \\n(ux \\&\\$2\\s-1UNIX\\s0\\$1
-.el \{\
-. nr ux +1 \" mark footnote as dropped
-\\&\\$2\\s-1UNIX\\s0\\*(rg\\$1
-. fn \" put out the footnote
-\\&\\*(rgUNIX is a registered trademark of AT&T.
-. ef \" short and sweet ...
-.\}
-..
-.de vx \" print "VAX"
-.ie \\n(vx \\&\\$2\\s-1VAX\\s0\\$1
-.el \{\
-. nr vx +1 \" mark footnote as dropped
-\\&\\$2\\s-1VAX\\s0\\*(rg\\$1
-. fn \" put out the footnote
-\\&\\*(rgVAX is a trademark of Digital Equipment Corporation.
-. ef \" short and sweet ...
-.\}
-..
-.\" **********
-.\" set up string and number registers
-. \" set up for the date
-.if \n(mo=1 .ds mo January
-.if \n(mo=2 .ds mo February
-.if \n(mo=3 .ds mo March
-.if \n(mo=4 .ds mo April
-.if \n(mo=5 .ds mo May
-.if \n(mo=6 .ds mo June
-.if \n(mo=7 .ds mo July
-.if \n(mo=8 .ds mo August
-.if \n(mo=9 .ds mo September
-.if \n(mo=10 .ds mo October
-.if \n(mo=11 .ds mo November
-.if \n(mo=12 .ds mo December
-.nr Yr \n(yr+1900
-.ds dy "\*(mo \n(dy, \n(Yr
-.if \n(dw=1 .ds dw Sunday
-.if \n(dw=2 .ds dw Monday
-.if \n(dw=3 .ds dw Tuesday
-.if \n(dw=4 .ds dw Wednesday
-.if \n(dw=5 .ds dw Thursday
-.if \n(dw=6 .ds dw Friday
-.if \n(dw=7 .ds dw Saturday
-. \" NROFF dependencies
-.if n \{\
-. \" string registers
-. ds rg (R)
-. ds lq ""
-. ds rq ""
-. ds f1 "\*(dy
-. \" number registers
-. nr hs 1v \" space before section header
-. nr pd 1v \" inter-paragraph spacing
-. nr bm 1.0i \" height of bottom margin
-.\}
-. \" NROFF dependencies
-.if t \{\
-. \" string registers
-. ds rg \\u\\s-2\\(rg\\s0\\d
-. ds lq ``
-. ds rq ''
-. \" number registers
-. nr hs 1v \" space before section header
-. nr pd 0.3v \" inter-paragraph spacing
-. nr bm 1.0i+1v \" height of bottom margin (wacky laser)
-.\}
-. \" these are the same for [NT]ROFF
-.ds dg \(dg
-.ds vr "News Version B2.11
-.ds pv "News macros 1.5
-.ds h1 - % -
-.nr bt 0.5i+1v \" bottom of page to footer
-.nr cm 0 \" no cut marks
-.nr fc 0 1 \" init footnote count
-.nr fl 5.5i \" footnote line length
-.nr fp 0-\n(bmu \" fo macro trap location
-.nr h0 0 \" init section header level 0
-.nr h1 0 \" init section header level 1
-.nr h2 0 \" init section header level 2
-.nr h3 0 \" init section header level 3
-.nr id 0 \" 1 in display
-.nr if 0 \" 1 in keep
-.nr it 0 \" 1 when beyond title, etc.
-.nr li 5n \" indent for labelled paragraph
-.nr ll 6.5i \" line length
-.nr lm 0 \" left margin
-.nr l0 0 \" first indent level
-.nr mt 1.5i+1v \" title goes down this far
-.nr pi 5n \" regular paragraph indent
-.nr po 1.0i \" page offset
-.nr ps 10 \" point size
-.nr tm 1.0i \" height of top margin
-.nr tt 0.5i-0.5v \" top of page to header
-.nr p1 0 \" no PDP-TM message yet
-.nr ux 0 \" no UNIX-TM message yet
-.nr vx 0 \" no VAX-TM message yet
-.nr vs 12 \" vertical spacing
-.\" set things up
-.\" DSINC changes for XROFF
-.nr f1 1
-.nr f2 1
-.nr s1 10
-.nr s2 10
-.nr v1 12
-.nr v2 12
-.ps 10
-.vs 12
-.\" DSINC end changes for XROFF
-.po \n(pou \" set page offset
-.ps \n(ps \" set previous, current
-.ps \n(ps \" point sizes
-.vs \n(vs \" set previous, current
-.vs \n(vs \" vertical spacings
-.ll \n(llu \" set line length
-.lt \n(llu \" set title line length
-.ev 1 \" *** footnote environment
-.ps \n(ps-2p \" set previous, current
-.ps \n(ps-2p \" point sizes
-.vs \n(vs-2p \" set previous, current
-.vs \n(vs-2p \" vertical spacings
-.ll \n(flu \" set line length
-.lt \n(flu \" set title line length
-.ev \" *** pop environment
-.ev 2 \" *** footnote environment
-.ps \n(ps \" set previous, current
-.ps \n(ps \" point sizes
-.vs \n(vs \" set previous, current
-.vs \n(vs \" vertical spacings
-.ll \n(llu \" set line length
-.lt \n(llu \" set title line length
-.ev \" *** pop environment
-.\" now set internal registers (for the first header section)
-.nr f1 \n(.f \" saved font #1
-.nr f2 \n(.f \" saved font #2
-.nr s1 \n(.s \" saved point size #1
-.nr s2 \n(.s \" saved point size #2
-.nr v1 \n(.v \" saved vertical spacing #1
-.nr v2 \n(.v \" saved vertical spacing #2
-.\" install traps
-.wh 0i hd \" position header trap
-.wh -\n(bmu fo \" position footer trap
-.wh \n(.pu+1i fx \" put footnote overflow trap here
-.ch fx -\n(bmu \" move it over fo
-.wh -\n(btu pf \" print the bottom margin here
-.em et \" at end of file, call et
-.\" couple of miscellaneous requests
-.bd S 3 3 \" embolden special font chars if B
-.hy 2 \" don't hyphenate last lines
-