2.11BSD/doc/usd/29.refer/refer.mac
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)refer.mac 6.1 (Berkeley) 6/2/86
.\"
COMMENTED REFER MACROS
. \" refer macros for citations
.de []
.][ \\$1 # mysterious synonym for .][
..
.de ][ # changes .][ according to argument
.if \\$1>4 .tm %M undefined (Bell Labs) # no macros defined above [4
.[\\$1 # call one of the macros below
..
.if \n(.V>19 .ds [. \f1[ # open bracket for nroff
.if \n(.V<20 .ds [. \f1\s-2\v'-0.4m' # superscripting for troff/daisy-wheel
.if \n(.V>19 .ds .] ]\fP # close bracket for nroff
.if \n(.V<20 .ds .] \v'0.4m'\s+2\fP # end troff/daisy-wheel superscripting
.if n .ds [o \&" # open quote for nroff
.if n .ds [c \&" # close quote for nroff
.if t .ds [o `` # open quote for troff
.if t .ds [c '' # close quote for troff
.ds <. . # period before citation number
.ds <, , # comma before citation number
. \" [0 - other type of citation
.de [0
.FS # start -ms footnote
.nr [: 0 # has anything been printed?
.if !"\\*([F"" .FP \\*([F # number for footnote paragraph
.if !"\\*([Q"" \{\
.nr [: 1 # if there's a corporate author,
\\*([Q\c # set [: to 1 and print [Q
.\}
.if !"\\*([A"" \{\ # if there's an author,
.nr [: 1 # set [: to 1,
\\*([A\c # print the author and continue
.\}
.if !"\\*([T"" \{\ # if there's a title,
.if \\n([:>0 , # print comma if there was author,
.nr [: 1 # set [: to 1,
\f2\\*([T\f1\c # and print the title in italics
.\}
.if !"\\*([S"" , \\*([S\c # series title, not in italics
.if !"\\*([V"" , \\*([V\c # if there's a volume, print it
.if !"\\*([P"" \{\
.ie \\n([P>0 , pp. \\*([P\c # if multiple pages, use pp.
.el , p. \\*([P\c # if only one page, use p.
.\}
.if !"\\*([C"" , \\*([C\c # if there's a city, print it
.if !"\\*([D"" , \\*([D\c # if there's a date, print it
.if \\n([:>0 \&. # if [Q [A or [T, print period
.if !"\\*([O"" \\*([O # print the other field if present
.FE # end -ms footnote
..
.de [1 \" [1 - journal article
.FS # start -ms footnote
.if !"\\*([F"" .FP \\*([F # number for footnote paragraph
.if !"\\*([Q"" \\*([Q, # if corporate author, print it
.if !"\\*([A"" \\*([A, # if author, print with comma
.if !"\\*([T"" \\*([o\\*([T,\\*([c # if title, print with quotes
\f2\\*([J\f1\c # always a journal, in italics
.if !"\\*([V"" , vol. \\*([V\c # if volume, print after "vol."
.if !"\\*([N"" , no. \\*([N\c # if number, print after "no."
.if !"\\*([P"" \{\
.ie \\n([P>0 , pp. \\*([P\c # if multiple pages, use pp.
.el , p. \\*([P\c # if only one page, use p.
.\}
.if !"\\*([I"" , \\*([I\c # if there's a publisher, print it
.if !"\\*([C"" , \\*([C\c # if there's a city, print it
.if !"\\*([D"" , \\*([D\c # if there's a date, print it
\&. # end reference with period
.if !"\\*([O"" \\*([O # if other information, print it
.FE # end -ms footnote
..
.de [2 \" [2 - book
.FS # start -ms footnote
.if !"\\*([F"" .FP \\*([F # number for footnote paragraph
.if !"\\*([Q"" \\*([Q, # if corporate author, print it
.if !"\\*([A"" \\*([A, # if author, print with comma
.if !"\\*([T"" \f2\\*([T,\f1 # title and comma in italics
.if !"\\*([S"" \\*([S, # series title, not in italics
.if !"\\*([V"" \\*([V, # perhaps [V says "4 vols."
.if !"\\*([P"" \{\
.ie \\n([P>0 pp. \\*([P, # if multiple pages, use pp.
.el p. \\*([P, # if only one page, use p.
.\}
\\*([I\c # always a publisher with book
.if !"\\*([C"" , \\*([C\c # if there's a city, print it
.if !"\\*([D"" , \\*([D\c # if there's a date, print it
\&. # end reference with period
.if !"\\*([O"" \\*([O # if other information, print it
.FE # end -ms footnote
..
.de [3 \" [3 - article in book
.FS # start -ms footnote
.if !"\\*([F"" .FP \\*([F # number for footnote paragraph
.if !"\\*([Q"" \\*([Q, # if corporate author, print it
.if !"\\*([A"" \\*([A, # if author, print with comma
.if !"\\*([T"" \\*([o\\*([T,\\*([c # title and comma in quotes
in \f2\\*([B\f1\c # always "in" book, italicized
.if !"\\*([E"" , ed. \\*([E\c # if an editor, should follow book
.if !"\\*([S"" , \\*([S\c # series title, not in italics
.if !"\\*([V"" , vol. \\*([V\c # if volume, print after "vol."
.if !"\\*([P"" \{\
.ie \\n([P>0 , pp. \\*([P\c # if multiple pages, use pp.
.el , p. \\*([P\c # if only one page, use p.
.\}
.if !"\\*([I"" , \\*([I\c # if there's a publisher, print it
.if !"\\*([C"" , \\*([C\c # if there's a city, print it
.if !"\\*([D"" , \\*([D\c # if there's a date, print it
\&. # end reference with period
.if !"\\*([O"" \\*([O # if other information, print it
.FE # end -ms footnote
..
. \" [4 - report
.de [4
.FS # start -ms footnote
.if !"\\*([F"" .FP \\*([F # number for footnote paragraph
.if !"\\*([Q"" \\*([Q, # if corporate author, print it
.if !"\\*([A"" \\*([A, # if author, print with comma
.if !"\\*([T"" \\*([o\\*([T,\\*([c # title and comma in quotes
.if !"\\*([R"" \\*([R\c # if a report number, print it
.if !"\\*([G"" \& (\\*([G)\c # put [G string in parentheses
.if !"\\*([P"" \{\
.ie \\n([P>0 , pp. \\*([P\c # if multiple pages, use pp.
.el , p. \\*([P\c # if only one page, use p.
.\}
.if !"\\*([I"" , \\*([I\c # if there's a publisher, print it
.if !"\\*([C"" , \\*([C\c # if there's a city, print it
.if !"\\*([D"" , \\*([D\c # if there's a date, print it
\&. # end reference with period
.if !"\\*([O"" \\*([O # if other information, print it
.FE # end -ms footnote
..
.de ]< # mysterious synonym for [<
.[<
..
.de [< # For footnotes at end of text,
.SH # with the -e or -s $LIST$ options.
References # Print References section heading.
.LP # Initialize; IP references printed,
.rn IP FP # because FP is replaced by IP,
.rm FS FE # and footnote macros are removed.
..
.de [> # mysterious synonym for ]>
.]>
..
.de ]> # with the -e or -s $LIST$ options,
.sp # put a space between references
..
.de ]- # mysterious synonym for [-
.[-
..
.de [- # Appears at start of references,
.rm [Q [A [T [J [B [E [S [V # to remove old string definitions--
.rm [N [P [I [C [D [O [R [G # if you add new field strings,
.. # they should be removed as well.
.de ]]
.\" circumvent EOF bug in troff # mysterious fix for .MC output
..
Note: the double quotes in string comparisons are in fact control-g
characters; this allows fields to contain double quotes.