|Original author(s)||Mike Lesk|
|License||depends on implementation|
refer was written by Mike Lesk at Bell Laboratories in or before 1978, and is now available as part of most Unix-like operating systems. A free reimplementation exists as part of the groff package.
As of 2015[update], refer sees little use, primarily because troff itself is not used much for longer technical writing that might need software support for reference and citation management. As of 2016[update], some reference management software (for instance, RefWorks) will import refer data.
refer works with a "reference file", a text file where the author lists works to which they might want to refer. One such reference, to an article in a journal in this case, might look like:
%A Brian W. Kernighan %A Lorinda L. Cherry %T A System for Typesetting Mathematics %J J. Comm. ACM %V 18 %N 3 %D March 1978 %P 151-157 %K eqn
The author then can refer to it in their troff, groff, or nroff document by listing keywords which uniquely match this reference:
.[ kernighan cherry eqn .]
A refer bibliographic database is a text file consisting of a series of records, separated by one or more blank lines. Within each record, each field starts with a %-sign at the beginning of the line and one character immediately after. The name of the field should be followed by exactly one space, and then by the contents of the field. Empty fields are ignored. The conventional meaning of each field is shown in the table below. Compare this scheme with the newer EndNote scheme which uses a similar syntax.
|%A||The name of an author. If the name contains a title such as Jr. at the end, it should be separated from the last name by a comma. There can be multiple occurrences of the %A field. The order is significant. It is a good idea always to supply an %A field or a %Q field.|
|%B||For an article that is part of a book, the title of the book.|
|%C||The place (city) of publication.|
|%D||The date of publication. The year should be specified in full. If the month is specified, the name rather than the number of the month should be used, but only the first three letters are required. It is a good idea always to supply a %D field; if the date is unknown, a value such as in press or unknown can be used.|
|%E||For an article that is part of a book, the name of an editor of the book. Where the work has editors and no authors, the names of the editors should be given as %A fields and , (ed) or , (eds) should be appended to the last author.|
|%G||US Government ordering number.|
|%I||The publisher (issuer).|
|%J||For an article in a journal, the name of the journal.|
|%K||Keywords to be used for searching.|
|%N||Journal issue number.|
|%O||Other information. This is usually printed at the end of the reference.|
|%P||Page number. A range of pages can be specified as m-n.|
|%Q||The name of the author, if the author is not a person. This will only be used if there are no %A fields. There can only be one %Q field.|
|%R||Technical report number.|
|%T||Title. For an article in a book or journal, this should be the title of the article.|
|%V||Volume number of the journal or book.|
- BibTeX § Bibliographic information file – a text-based data format used by LaTeX
- EndNote § Tags and fields – a similar, but not identical, data scheme used by the EndNote program
- RIS – a text-based data scheme from Research Information Systems
- Michael Lesk. Some applications of inverted indexes on the Unix system. In UNIX Programmer's manual: Supplementary Documents, volume 2. Holt, Rinehart and Winston, seventh edition, 1982. Also available online 
- McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
- refer man page, version 1.22.3, dated 2 July 2016.