refer - find and insert literature references in documents
refer [ -a ] [ -b ] [ -c ] [ -e ] [ -fn ] [ -kx ] [ -lm,n ] [ -n ] [ -p bib ] [ -skeys ] [
-Bl.m ] [ -P ] [ -S ] [ file ... ]
Refer is a preprocessor for nroff or troff(1) that finds and formats references for foot-
notes or endnotes. It is also the base for a series of programs designed to index,
search, sort, and print stand-alone bibliographies, or other data entered in the appropri-
Given an incomplete citation with sufficiently precise keywords, refer will search a bib-
liographic database for references containing these keywords anywhere in the title,
author, journal, etc. The input file (or standard input) is copied to standard output,
except for lines between .[ and .] delimiters, which are assumed to contain keywords, and
are replaced by information from the bibliographic database. The user may also search
different databases, override particular fields, or add new fields. The reference data,
from whatever source, are assigned to a set of troff strings. Macro packages such as
ms(7) print the finished reference text from these strings. By default references are
flagged by footnote numbers.
The following options are available:
-an Reverse the first n author names (Jones, J. A. instead of J. A. Jones). If n is
omitted all author names are reversed.
-b Bare mode: do not put any flags in text (neither numbers nor labels).
Capitalize (with CAPS SMALL CAPS) the fields whose key-letters are in keys.
-e Instead of leaving the references where encountered, accumulate them until a
sequence of the form
is encountered, and then write out all references collected so far. Collapse refer-
ences to same source.
-fn Set the footnote number to n instead of the default of 1 (one). With labels rather
than numbers, this flag is a no-op.
-kx Instead of numbering references, use labels as specified in a reference data line
beginning %x; by default x is L.
-lm,n Instead of numbering references, use labels made from the senior author's last name
and the year of publication. Only the first m letters of the last name and the last
n digits of the date are used. If either m or n is omitted the entire name or date
respectively is used.
-n Do not search the default file /usr/dict/papers/Ind. If there is a REFER environ-
ment variable, the specified file will be searched instead of the default file; in
this case the -n flag has no effect.
Take the next argument bib as a file of references to be searched. The default file
is searched last.
Sort references by fields whose key-letters are in the keys string; permute refer-
ence numbers in text accordingly. Implies -e. The key-letters in keys may be fol-
lowed by a number to indicate how many such fields are used, with + taken as a very
large number. The default is AD which sorts on the senior author and then date; to
sort, for example, on all authors and then title, use -sA+T.
-Bl.m Bibliography mode. Take a file composed of records separated by blank lines, and
turn them into troff input. Label l will be turned into the macro .m with l
defaulting to %X and .m defaulting to .AP (annotation paragraph).
-P Place punctuation marks .,:;?! after the reference signal, rather than before.
(Periods and commas used to be done with strings.)
-S Produce references in the Natural or Social Science format.
To use your own references, put them in the format described below. They can be searched
more rapidly by running indxbib(1) on them before using refer; failure to index results in
a linear search. When refer is used with the eqn, neqn or tbl preprocessors refer should
be first, to minimize the volume of data passed through pipes.
The refer preprocessor and associated programs expect input from a file of references com-
posed of records separated by blank lines. A record is a set of lines (fields), each con-
taining one kind of information. Fields start on a line beginning with a ``%'', followed
by a key-letter, then a blank, and finally the contents of the field, and continue until
the next line starting with ``%''. The output ordering and formatting of fields is con-
trolled by the macros specified for nroff/troff (for footnotes and endnotes) or roffbib
(for stand-alone bibliographies). For a list of the most common key-letters and their
corresponding fields, see addbib(1). An example of a refer entry is given below.
%A M. E. Lesk
%T Some Applications of Inverted Indexes on the UNIX System
%B UNIX Programmer's Manual
%I Bell Laboratories
%C Murray Hill, NJ
/usr/dict/papers directory of default publication lists
/usr/libexec/refer directory of companion programs
addbib(1), sortbib(1), roffbib(1), indxbib(1), lookbib(1)
Blank spaces at the end of lines in bibliography fields will cause the records to sort and
reverse incorrectly. Sorting large numbers of references causes a core dump.
7th Edition October 22, 1996 REFER(1)