]> granicus.if.org Git - nethack/commitdiff
Remove it to put it back in again for head mod test.
authornethack.allison <nethack.allison>
Sat, 19 Jan 2002 12:53:38 +0000 (12:53 +0000)
committernethack.allison <nethack.allison>
Sat, 19 Jan 2002 12:53:38 +0000 (12:53 +0000)
doc/tmac.n [deleted file]

diff --git a/doc/tmac.n b/doc/tmac.n
deleted file mode 100644 (file)
index a1daab8..0000000
+++ /dev/null
@@ -1,764 +0,0 @@
-\" @(#)$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
-