|
|
1.1 root 1: .\" Copyright (c) 1983 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)refer.bib 6.1 (Berkeley) 6/2/86
6: .\"
7: .EH 'USD:29-%''Refer \(em A Bibliography System'
8: .OH 'Refer \(em A Bibliography System''USD:29-%'
9: .if t .nr PD .5v
10: .nr LL 6.5i
11: .nr FL 6i
12: . \" AP - abstract paragraph
13: .de AP
14: .sp \\n(PDu
15: .ti +\\n(PIu
16: ..
17: .\".RP
18: .TL
19: Refer \(em A Bibliography System
20: .AU
21: Bill Tuthill
22: .AI
23: Computing Services
24: University of California
25: Berkeley, CA 94720
26: .AB
27: \fBRefer\fP is a bibliography system that supports data entry,
28: indexing, retrieval, sorting, runoff, convenient citations,
29: and footnote or endnote numbering.
30: This document assumes you know how to use some Unix editor,
31: and that you are familiar with the \fBnroff/troff\fP text formatters.
32: .AP
33: The \fBrefer\fP program is a preprocessor for \fBnroff/troff,\fP
34: like \fBeqn\fP and \fBtbl,\fP
35: except that it is used for literature citations,
36: rather than for equations and tables.
37: Given incomplete but sufficiently precise citations,
38: \fBrefer\fP finds references in a bibliographic database.
39: The complete references are formatted as footnotes,
40: numbered, and placed either at the bottom of the page,
41: or at the end of a chapter.
42: .AP
43: A number of ancillary programs make \fBrefer\fP easier to use.
44: The \fBaddbib\fP program is for creating and extending
45: the bibliographic database;
46: \fBsortbib\fP sorts the bibliography by author and date,
47: or other selected criteria;
48: and \fBroffbib\fP runs off the entire database,
49: formatting it not as footnotes,
50: but as a bibliography or annotated bibliography.
51: .AP
52: Once a full bibliography has been created,
53: access time can be improved by making an index
54: to the references with \fBindxbib\fP.
55: Then, the \fBlookbib\fP program can be used to quickly retrieve
56: individual citations or groups of citations.
57: Creating this inverted index will speed up \fBrefer,\fP
58: and \fBlookbib\fP will allow you to verify that a citation
59: is sufficiently precise to deliver just one reference.
60: .AE
61: .\"end cover
62: .SH
63: Introduction
64: .XS
65: Introduction
66: .XE
67: .PP
68: Taken together, the \fBrefer\fP programs constitute
69: a database system for use with variable-length information.
70: To distinguish various types of bibliographic material,
71: the system uses labels composed of upper case letters,
72: preceded by a percent sign and followed by a space.
73: For example, one document might be given this entry:
74: .DS
75: %A Joel Kies
76: %T Document Formatting on Unix Using the -ms Macros
77: %I Computing Services
78: %C Berkeley
79: %D 1980
80: .DE
81: Each line is called a field,
82: and lines grouped together are called a record;
83: records are separated from each other by a blank line.
84: Bibliographic information follows the labels,
85: containing data to be used by the \fBrefer\fP system.
86: The order of fields is not important,
87: except that authors should be entered
88: in the same order as they are listed on the document.
89: Fields can be as long as necessary,
90: and may even be continued on the following line(s).
91: .PP
92: The labels are meaningful to \fBnroff/troff\fP macros,
93: and, with a few exceptions,
94: the \fBrefer\fP program itself does not pay attention to them.
95: This implies that you can change the label codes,
96: if you also change the macros used by \fBnroff/troff\fP\|.
97: The macro package takes care of details like proper ordering,
98: underlining the book title or journal name,
99: and quoting the article's title.
100: Here are the labels used by \fBrefer,\fP
101: with an indication of what they represent:
102: .DS
103: %H Header commentary, printed before reference
104: %A Author's name
105: %Q Corporate or foreign author (unreversed)
106: %T Title of article or book
107: %S Series title
108: %J Journal containing article
109: %B Book containing article
110: %R Report, paper, or thesis (for unpublished material)
111: %V Volume
112: %N Number within volume
113: %E Editor of book containing article
114: %P Page number(s)
115: %I Issuer (publisher)
116: %C City where published
117: %D Date of publication
118: %O Other commentary, printed at end of reference
119: %K Keywords used to locate reference
120: %L Label used by \-k option of \fBrefer\fP
121: %X Abstract (used by \fBroffbib,\fP not by \fBrefer\fP)
122: .DE
123: Only relevant fields should be supplied.
124: Except for %A, each field should be given only once;
125: in the case of multiple authors,
126: the senior author should come first.
127: The %Q is for organizational authors,
128: or authors with Japanese or Arabic names,
129: in which cases the order of names should be preserved.
130: Books should be labeled with the %T, not with the %B,
131: which is reserved for books containing articles.
132: The %J and %B fields should never appear together,
133: although if they do, the %J will override the %B.
134: If there is no author, just an editor,
135: it is best to type the editor in the %A field,
136: as in this example:
137: .DS
138: %A Bertrand Bronson, ed.
139: .DE
140: The %E field is used for the editor of a book (%B)
141: containing an article, which has its own author.
142: For unpublished material such as theses, use the %R field;
143: the title in the %T field will be quoted,
144: but the contents of the %R field will not be underlined.
145: Unlike other fields, %H, %O, and %X should contain their own punctuation.
146: Here is a modest example:
147: .DS
148: %A Mike E. Lesk
149: %T Some Applications of Inverted Indexes on the Unix System
150: %B Unix Programmer's Manual
151: %I Bell Laboratories
152: %C Murray Hill, NJ
153: %D 1978
154: %V 2a
155: %K refer mkey inv hunt
156: %X Difficult to read paper that dwells on indexing strategies,
157: giving little practical advice about using \efBrefer\efP.
158: .DE
159: Note that the author's name is given in normal order,
160: without inverting the surname;
161: inversion is done automatically,
162: except when %Q is used instead of %A.
163: We use %X rather than %O for the commentary
164: because we do not want the comment printed all the time.
165: The %O and %H fields are printed by both \fBrefer\fP and \fBroffbib;\fP
166: the %X field is printed only by \fBroffbib,\fP
167: as a detached annotation paragraph.
168: .SH
169: Data Entry with Addbib
170: .XS
171: Data Entry with Addbib
172: .XE
173: .PP
174: The \fBaddbib\fP program is for creating
175: and extending bibliographic databases.
176: You must give it the filename of your bibliography:
177: .DS
178: % \fBaddbib database\fP
179: .DE
180: Every time you enter \fBaddbib\fP, it asks if you want instructions.
181: To get them, type \fBy\fP\|; to skip them, type \s-2RETURN\s0.
182: \fBAddbib\fP prompts for various fields, reads from the keyboard,
183: and writes records containing the \fBrefer\fP codes to the database.
184: After finishing a field entry,
185: you should end it by typing \s-2RETURN\s0.
186: If a field is too long to fit on a line,
187: type a backslash (\e) at the end of the line,
188: and you will be able to continue on the following line.
189: Note: the backslash works in this capacity only inside \fBaddbib\fP.
190: .PP
191: A field will not be written to the database
192: if nothing is entered into it.
193: Typing a minus sign as the first character of any field
194: will cause \fBaddbib\fP to back up one field at a time.
195: Backing up is the best way to add multiple authors,
196: and it really helps if you forget to add something important.
197: Fields not contained in the prompting skeleton may be entered
198: by typing a backslash as the last character before \s-2RETURN\s0.
199: The following line will be sent verbatim to the database
200: and \fBaddbib\fP will resume with the next field.
201: This is identical to the procedure for dealing with long fields,
202: but with new fields, don't forget the % key-letter.
203: .PP
204: Finally, you will be asked for an abstract (or annotation),
205: which will be preserved as the %X field.
206: Type in as many lines as you need, and end with a control-D
207: (hold down the \s-2CTRL\s0 button, then press the \*Qd\*U key).
208: This prompting for an abstract can be suppressed
209: with the \fB\-a\fP command line option.
210: .PP
211: After one bibliographic record has been completed,
212: \fBaddbib\fP will ask if you want to continue.
213: If you do, type \s-2RETURN\s0\|;
214: to quit, type \fBq\fP or \fBn\fP (quit or no).
215: It is also possible to use one of the system editors
216: to correct mistakes made while entering data.
217: After the \*QContinue?\*U prompt, type any of the following:
218: \fBedit, ex, vi,\fP or \fBed\fP \*-
219: you will be placed inside the corresponding editor,
220: and returned to \fBaddbib\fP afterwards,
221: from where you can either quit or add more data.
222: .PP
223: If the prompts normally supplied by \fBaddbib\fP are not enough,
224: are in the wrong order, or are too numerous,
225: you can redefine the skeleton by constructing a promptfile.
226: Create some file, to be named after the \-p command line option.
227: Place the prompts you want on the left side,
228: followed by a single \s-2TAB\s0 (control-I), then the \fBrefer\fP code
229: that is to appear in the bibliographic database.
230: \fBAddbib\fP will send the left side to the screen,
231: and the right side, along with data entered, to the database.
232: .SH
233: Printing the Bibliography
234: .XS
235: Printing the Bibliography
236: .XE
237: .PP
238: \fBSortbib\fP is for sorting the bibliography
239: by author (%A) and date (%D), or by data in other fields.
240: It is quite useful for producing bibliographies
241: and annotated bibliographies,
242: which are seldom entered in strict alphabetical order.
243: It takes as arguments the names of up to 16 bibliography files,
244: and sends the sorted records to standard output (the terminal screen),
245: which may be redirected through a pipe or into a file.
246: .PP
247: The \-s\fIKEYS\fP\| flag to \fBsortbib\fP will sort by fields
248: whose key-letters are in the \fIKEYS\fP\| string,
249: rather than merely by author and date.
250: Key-letters in \fIKEYS\fP\| may be followed by a `+'
251: to indicate that all such fields are to be used.
252: The default is to sort by senior author and date
253: (printing the senior author last name first),
254: but \-sA+D will sort by all authors and then date,
255: and \-sATD will sort on senior author, then title, and then date.
256: .PP
257: \fBRoffbib\fP is for running off the (probably sorted) bibliography.
258: It can handle annotated bibliographies \*-
259: annotations are entered in the %X (abstract) field.
260: \fBRoffbib\fP is a shell script that calls
261: \fBrefer\0\-B\fP and \fBnroff\0\-mbib\fP\|.
262: It uses the macro definitions that reside in /usr/lib/tmac/tmac.bib,
263: which you can redefine if you know \fBnroff\fP and \fBtroff\fP.
264: Note that \fBrefer\fP will print the %H and %O commentaries,
265: but will ignore abstracts in the %X field;
266: \fBroffbib\fP will print both fields,
267: unless annotations are suppressed with the \-x option.
268: .PP
269: The following command sequence will lineprint the entire bibliography,
270: organized alphabetically by author and date:
271: .DS
272: % \fBsortbib database | roffbib | lpr\fP
273: .DE
274: This is a good way to proofread the bibliography,
275: or to produce a stand-alone bibliography at the end of a paper.
276: Incidentally, \fBroffbib\fP accepts all flags used with \fBnroff\fP.
277: For example:
278: .DS
279: % \fBsortbib database | roffbib \-Tdtc \-s1\fP
280: .DE
281: will make accent marks work on a DTC daisy-wheel printer,
282: and stop at the bottom of every page for changing paper.
283: The \-n and \-o flags may also be quite useful,
284: to start page numbering at a selected point,
285: or to produce only specific pages.
286: .PP
287: \fBRoffbib\fP understands four command-line number registers,
288: which are something like the two-letter number registers in \-ms.
289: The \-rN1 argument will number references beginning at one (1);
290: use another number to start somewhere besides one.
291: The \-rV2 flag will double-space the entire bibliography,
292: while \-rV1 will double-space the references,
293: but single-space the annotation paragraphs.
294: Finally, specifying \-rL6i changes the line length
295: from 6.5 inches to 6 inches,
296: and saying \-rO1i sets the page offset
297: to one inch, instead of zero.
298: (That's a capital O after \-r, not a zero.)
299: .SH
300: Citing Papers with Refer
301: .XS
302: Citing Papers with Refer
303: .XE
304: .PP
305: The \fBrefer\fP program normally copies input to output,
306: except when it encounters an item of the form:
307: .DS
308: \&.[
309: partial citation
310: \&.]
311: .DE
312: The partial citation may be just an author's name and a date,
313: or perhaps a title and a keyword, or maybe just a document number.
314: \fBRefer\fP looks up the citation in the bibliographic database,
315: and transforms it into a full, properly formatted reference.
316: If the partial citation does not correctly identify a single work
317: (either finding nothing, or more than one reference),
318: a diagnostic message is given.
319: If nothing is found, it will say \*QNo such paper.\*U
320: If more than one reference is found,
321: it will say \*QToo many hits.\*U
322: Other diagnostic messages can be quite cryptic;
323: if you are in doubt, use \fBchecknr\fP to verify
324: that all your .['s have matching .]'s.
325: .PP
326: When everything goes well,
327: the reference will be brought in from the database,
328: numbered, and placed at the bottom of the page.
329: This citation,
330: .[
331: lesk inverted indexes
332: .]
333: for example, was produced by:
334: .DS
335: This citation,
336: \&.[
337: lesk inverted indexes
338: \&.]
339: for example, was produced by
340: .DE
341: The .[ and .] markers, in essence,
342: replace the .FS and .FE of the \-ms macros,
343: and also provide a numbering mechanism.
344: Footnote numbers will be bracketed on the the lineprinter,
345: but superscripted on daisy-wheel terminals and in \fBtroff\fP\|.
346: In the reference itself, articles will be quoted,
347: and books and journals will be underlined in \fBnroff,\fP
348: and italicized in \fBtroff.\fP
349: .PP
350: Sometimes you need to cite a specific page number
351: along with more general bibliographic material.
352: You may have, for instance,
353: a single document that you refer to several times,
354: each time giving a different page citation.
355: This is how you could get \*Qp.\010\*U in the reference:
356: .DS
357: \&.[
358: kies document formatting
359: %P 10
360: \&.]
361: .DE
362: The first line, a partial citation,
363: will find the reference in your bibliography.
364: The second line will insert the page number into the final citation.
365: Ranges of pages may be specified as \*Q%P\056-78\*U.
366: .PP
367: When the time comes to run off a paper,
368: you will need to have two files:
369: the bibliographic database, and the paper to format.
370: Use a command line something like one of these:
371: .DS
372: % \fBrefer \-p database paper | nroff \-ms\fP
373: % \fBrefer \-p database paper | tbl | nroff \-ms\fP
374: % \fBrefer \-p database paper | tbl | neqn | nroff \-ms\fP
375: .DE
376: If other preprocessors are used,
377: \fBrefer\fP should precede \fBtbl,\fP
378: which must in turn precede \fBeqn\fP or \fBneqn\fP\|.
379: The \-p option specifies a \*Qprivate\*U database,
380: which most bibliographies are.
381: .SH
382: Refer's Command-line Options
383: .XS
384: Refer's Command-line Options
385: .XE
386: .PP
387: Many people like to place references at the end of a chapter,
388: rather than at the bottom of the page.
389: The \-e option will accumulate references
390: until a macro sequence of the form
391: .DS
392: \&.[
393: $LIST$
394: \&.]
395: .DE
396: is encountered (or until the end of file).
397: \fBRefer\fP will then write out all references collected
398: up to that point, collapsing identical references.
399: Warning: there is a limit (currently 200)
400: on the number of references that can be accumulated at one time.
401: .PP
402: It is also possible to sort references that appear at the end of text.
403: The \-s\fIKEYS\fP flag will sort references by fields
404: whose key-letters are in the \fIKEYS\fP string,
405: and permute reference numbers in the text accordingly.
406: It is unnecessary to use \-e with it, since \-s implies \-e.
407: Key-letters in \fIKEYS\fP may be followed by a `+'
408: to indicate that all such fields are to be used.
409: The default is to sort by senior author and date,
410: but \-sA+D will sort on all authors and then date,
411: and \-sA+T will sort by authors and then title.
412: .PP
413: \fBRefer\fP can also make citations in what is known as
414: the Social or Natural Sciences format.
415: Instead of numbering references, the \-l (letter ell) flag makes labels
416: from the senior author's last name and the year of publication.
417: For example, a reference to the paper on Inverted Indexes
418: cited above might appear as [Lesk1978a].
419: It is possible to control the number of characters in the last name,
420: and the number of digits in the date.
421: For instance, the command line argument \-l6,2 might
422: produce a reference such as [Kernig78c].
423: .PP
424: Some bibliography standards shun both footnote numbers
425: and labels composed of author and date,
426: requiring some keyword to identify the reference.
427: The \-k flag indicates that, instead of numbering references,
428: key labels specified on the %L line should be used to mark references.
429: .PP
430: The \-n flag means to not search the default reference file,
431: located in /usr/dict/papers/Rv7man.
432: Using this flag may make \fBrefer\fP marginally faster.
433: The \-a\fIn\fP flag will reverse the first \fIn\fP author names,
434: printing Jones, J. A. instead of J. A. Jones.
435: Often \-a1 is enough; this will reverse the names of only the senior author.
436: In some versions of \fBrefer\fP there is also the \-f flag
437: to set the footnote number to some predetermined value;
438: for example, \-f23 would start numbering with footnote 23.
439: .SH
440: Making an Index
441: .XS
442: Making an Index
443: .XE
444: .PP
445: Once your database is large and relatively stable,
446: it is a good idea to make an index to it,
447: so that references can be found quickly and efficiently.
448: The \fBindxbib\fP program makes an inverted index
449: to the bibliographic database
450: (this program is called \fBpubindex\fP in the Bell Labs manual).
451: An inverted index could be compared to
452: the thumb cuts of a dictionary \*-
453: instead of going all the way through your bibliography,
454: programs can move to the exact location where a citation is found.
455: .PP
456: \fBIndxbib\fP itself takes a while to run,
457: and you will need sufficient disk space to store the indexes.
458: But once it has been run, access time will improve dramatically.
459: Furthermore, large databases of several million characters
460: can be indexed with no problem.
461: The program is exceedingly simple to use:
462: .DS
463: % \fBindxbib database\fP
464: .DE
465: Be aware that changing your database will require
466: that you run \fBindxbib\fP over again.
467: If you don't, you may fail to find a reference
468: that really is in the database.
469: .PP
470: Once you have built an inverted index,
471: you can use \fBlookbib\fP to find references in the database.
472: \fBLookbib\fP cannot be used until you have run \fBindxbib\fP\|.
473: When editing a paper, \fBlookbib\fP is very useful
474: to make sure that a citation can be found as specified.
475: It takes one argument, the name of the bibliography,
476: and then reads partial citations from the terminal,
477: returning references that match, or nothing if none match.
478: Its prompt is the greater-than sign.
479: .DS
480: % \fBlookbib database\fP
481: > \fBlesk inverted indexes\fP
482: %A Mike E. Lesk
483: %T Some Applications of Inverted Indexes on the Unix System
484: %J Unix Programmer's Manual
485: %I Bell Laboratories
486: %C Murray Hill, NJ
487: %D 1978
488: %V 2a
489: %X Difficult to read paper that dwells on indexing strategies,
490: giving little practical advice about using \efBrefer\efP.
491: >
492: .DE
493: If more than one reference comes back,
494: you will have to give a more precise citation for \fBrefer\fP\|.
495: Experiment until you find something that works;
496: remember that it is harmless to overspecify.
497: To get out of the \fBlookbib\fP program,
498: type a control-D alone on a line;
499: \fBlookbib\fP then exits with an ``EOT'' message.
500: .PP
501: \fBLookbib\fP can also be used to extract groups of related citations.
502: For example, to find all the papers by Brian Kernighan
503: found in the system database, and send the output to a file, type:
504: .DS
505: % \fBlookbib /usr/dict/papers/Ind > kern.refs\fP
506: > \fBkernighan\fP
507: > EOT
508: % \fBcat kern.refs\fP
509: .DE
510: Your file, \*Qkern.refs\*U, will be full of references.
511: A similar procedure can be used
512: to pull out all papers of some date,
513: all papers from a given journal,
514: all papers containing a certain group of keywords, etc.
515: .SH
516: Refer Bugs and Some Solutions
517: .XS
518: Refer Bugs and Some Solutions
519: .XE
520: .PP
521: The \fBrefer\fP program will mess up if there are blanks
522: at the end of lines, especially the %A author line.
523: \fBAddbib\fP carefully removes trailing blanks,
524: but they may creep in again during editing.
525: Use an editor command \*-
526: .if n g/ *$/s/// \*-
527: .if t g/\0\0\(**$/s/// \*-
528: to remove trailing blanks from your bibliography.
529: .PP
530: Having bibliographic fields passed through as string definitions
531: implies that interpolated strings (such as accent marks)
532: must have two backslashes, so they can pass through copy mode intact.
533: For instance, the word \*Qt\o'e\(aa'l\o'e\(aa'phone\*U
534: would have to be represented:
535: .DS
536: te\e\e\(**\'le\e\e\(**\'phone
537: .DE
538: in order to come out correctly.
539: In the %X field, by contrast,
540: you will have to use single backslashes instead.
541: This is because the %X field is not passed through as a string,
542: but as the body of a paragraph macro.
543: .PP
544: Another problem arises from authors with foreign names.
545: When a name like \*QVal\o"e\(aa"ry Giscard d'Estaing\*U
546: is turned around by the \-a option of \fBrefer,\fP
547: it will appear as \*Qd'Estaing, Val\o"e\(aa"ry Giscard,\*U
548: rather than as \*QGiscard d'Estaing, Val\o"e\(aa"ry.\*U
549: To prevent this, enter names as follows:
550: .DS
551: %A Vale\e\e\(**\'ry Giscard\e0d'Estaing
552: %A Alexander Csoma\e0de\e0Ko\e\e\(**:ro\e\e\(**:s
553: .DE
554: (The second is the name of a famous Hungarian linguist.)
555: The backslash-zero is an \fBnroff/troff\fP request
556: meaning to insert a digit-width space.
557: It will protect against faulty name reversal,
558: and also against mis-sorting.
559: .PP
560: Footnote numbers are placed at the end of the line before the .[ macro.
561: This line should be a line of text, not a macro.
562: As an example, if the line before the .[ is a .R macro,
563: then the .R will eat the footnote number.
564: (The .R is an \-ms request meaning change to Roman font.)
565: In cases where the font needs changing,
566: it is necessary to do the following:
567: .DS
568: \efIet al.\efR
569: \&.[
570: awk aho kernighan weinberger
571: \&.]
572: .DE
573: Now the reference will be to Aho \fIet al\fR.
574: .[
575: awk aho kernighan
576: .]
577: The \efI changes to italics, and the \efR changes back to Roman font.
578: Both these requests are \fBnroff/troff\fP requests, not part of \-ms.
579: If and when a footnote number is added after this sequence,
580: it will indeed appear in the output.
581: .SH
582: Internal Details of Refer
583: .XS
584: Internal Details of Refer
585: .XE
586: .PP
587: You have already read everything you need to know
588: in order to use the \fBrefer\fP bibliography system.
589: The remaining sections are provided only for extra information,
590: and in case you need to change the way \fBrefer\fP works.
591: .PP
592: The output of \fBrefer\fP is a stream of string definitions,
593: one for each field in a reference.
594: To create string names,
595: percent signs are simply changed to an open bracket,
596: and an [F string is added, containing the footnote number.
597: The %X, %Y and %Z fields are ignored;
598: however, the \fBannobib\fP program changes the %X
599: to an .AP (annotation paragraph) macro.
600: The citation used above yields this intermediate output:
601: .DS
602: .ta \w'.ds\0'u +\w'[D\0'u
603: \&.ds [F 1
604: \&.]-
605: \&.ds [A Mike E. Lesk
606: \&.ds [T Some Applications of Inverted Indexes on the Unix System
607: \&.ds [J Unix Programmer's Manual
608: \&.ds [I Bell Laboratories
609: \&.ds [C Murray Hill, NJ
610: \&.ds [D 1978
611: \&.ds [V 2a
612: \&.nr [T 0
613: \&.nr [A 0
614: \&.nr [O 0
615: \&.][ 1 journal-article
616: .DE
617: These string definitions are sent to \fBnroff\fP,
618: which can use the \-ms macros defined in /usr/lib/mx/tmac.xref
619: to take care of formatting things properly.
620: The initializing macro \fB.]\-\fP precedes the string definitions,
621: and the labeled macro \fB.][\fP follows.
622: These are changed from the input \fB.[\fP and \fB.]\fP so that
623: running a file twice through \fBrefer\fP is harmless.
624: .PP
625: The \fB.][\fP macro, used to print the reference,
626: is given a type-number argument, which is a numeric label
627: indicating the type of reference involved.
628: Here is a list of the various kinds of references:
629: .DS
630: .ta \w'Field\0\0\0'u +\w'Value\0\0'u
631: Field Value Kind of Reference
632: \l'\w'Field\0\0\0Value\0\0Kind of Reference\0'u'
633: %J 1 Journal Article
634: %B 3 Article in Book
635: %R %G 4 Report, Government Report
636: %I 2 Book
637: %M 5 Bell Labs Memorandum (undefined)
638: none 0 Other
639: .DE
640: The order listed above is indicative of the precedence
641: of the various fields.
642: In other words, a reference that has both the %J and %B fields
643: will be classified as a journal article.
644: If none of the fields listed is present,
645: then the reference will be classified as \*Qother.\*U
646: .PP
647: The footnote number is flagged in the text with the following sequence,
648: where \fInumber\fP is the footnote number:
649: .DS
650: \e*([.\fInumber\fP\e*(.]
651: .DE
652: The \e*([. and \e*(.] stand for bracketing or superscripting.
653: In \fBnroff\fP with low-resolution devices such as the lpr and a crt,
654: footnote numbers will be bracketed.
655: In \fBtroff,\fP or on daisy-wheel printers,
656: footnote numbers will be superscripted.
657: Punctuation normally comes before the reference number;
658: this can be changed by using the \-P (postpunctuation)
659: option of \fBrefer\fP.
660: .PP
661: In some cases, it is necessary to override
662: certain fields in a reference.
663: For instance, each time a work is cited,
664: you may want to specify different page numbers,
665: and you may want to change certain fields.
666: This citation will find the Lesk reference,
667: but will add specific page numbers to the output,
668: even though no page numbers appeared in the original reference.
669: .DS
670: \&.[
671: lesk inverted indexes
672: %P 7-13
673: %I Computing Services
674: %O UNX 12.2.2.
675: \&.]
676: .DE
677: The %I line will also override any previous publisher information,
678: and the %O line will append some commentary.
679: The \fBrefer\fP program simply adds
680: the new %P, %I, and %O strings to the output,
681: and later strings definitions cancel earlier ones.
682: .PP
683: It is also possible to insert an entire citation
684: that does not appear in the bibliographic database.
685: This reference, for example, could be added as follows:
686: .DS
687: \&.[
688: %A Brian Kernighan
689: %T A Troff Tutorial
690: %I Bell Laboratories
691: %D 1978
692: \&.]
693: .DE
694: This will cause \fBrefer\fP to interpret the fields exactly as given,
695: without searching the bibliographic database.
696: This practice is not recommended, however, because it's better
697: to add new references to the database, so they can be used again later.
698: .PP
699: If you want to change the way footnote numbers are printed,
700: signals can be given on the \fB.[\fP and \fB.]\fP lines.
701: For example, to say \*QSee reference (2),\*U
702: the citation should appear as:
703: .DS
704: See reference
705: \&.[(
706: partial citation
707: \&.]),
708: .DE
709: Note that blanks are significant on these signal lines.
710: If a permanent change in the footnote format is desired,
711: it's best to redefine the \fB[.\fP and \fB.]\fP strings.
712: .SH
713: Changing the Refer Macros
714: .XS
715: Changing the Refer Macros
716: .XE
717: .PP
718: This section is provided for those who wish to rewrite
719: or modify the \fBrefer\fP macros.
720: This is necessary in order to make output correspond
721: to specific journal requirements, or departmental standards.
722: First there is an explanation of how new macros
723: can be substituted for the old ones.
724: Then several alterations are given as examples.
725: Finally, there is an annotated copy of
726: the \fBrefer\fP macros used by \fBroffbib\fP\|.
727: .PP
728: The \fBrefer\fP macros for \fBnroff/troff\fP supplied by
729: the \-ms macro package reside in /usr/lib/mx/tmac.xref;
730: they are reference macros, for producing footnotes or endnotes.
731: The \fBrefer\fP macros used by \fBroffbib,\fP
732: on the other hand, reside in /usr/lib/tmac/tmac.bib;
733: they are for producing a stand-alone bibliography.
734: .PP
735: To change the macros used by \fBroffbib,\fP
736: you will need to get your own version of this shell script
737: into the directory where you are working.
738: These two commands will get you a copy of \fBroffbib\fP
739: and the macros it uses: \(dg
740: .DS
741: % \fBcp /usr/lib/tmac/tmac.bib bibmac\fP
742: .DE
743: You can proceed to change bibmac as much as you like.
744: Then when you use \fBroffbib\fP,
745: you should specify your own version of the macros,
746: which will be substituted for the normal ones
747: .DS
748: % \fBroffbib \-m bibmac\fR \fIfilename\fP
749: .DE
750: where \fIfilename\fP is the name of your bibliography file.
751: Make sure there's a space between \-m and \fBbibmac\fP.
752: .PP
753: If you want to modify the \fBrefer\fP macros
754: for use with \fBnroff\fP and the \-ms macros,
755: you will need to get a copy of \*Qtmac.xref\*U:
756: .DS
757: % \fBcp /usr/lib/ms/s.ref refmac\fP
758: .DE
759: These macros are much like \*Qbibmac\*U,
760: except they have .FS and .FE requests,
761: to be used in conjunction with the \-ms macros,
762: rather than independently defined .XP and .AP requests.
763: Now you can put this line at the top of the paper to be formatted:
764: .DS
765: \&.so refmac
766: .DE
767: Your new \fBrefer\fP macros will override the definitions
768: previously read in by the \-ms package.
769: This method works only if \*Qrefmac\*U is in the working directory.
770: .PP
771: Suppose you didn't like the way dates are printed,
772: and wanted them to be parenthesized, with no comma before.
773: There are five identical lines you will have to change.
774: The first line below is the old way,
775: while the second is the new way:
776: .DS
777: \&.if !"\e\e*([D"" , \e\e*([D\ec
778: \&.if !"\e\e*([D"" \e& (\e\e*([D)\ec
779: .DE
780: In the first line, there is a comma and a space, but no parentheses.
781: The \*Q\ec\*U at the end of each line
782: indicates to \fBnroff\fP that it should continue,
783: leaving no extra space in the output.
784: The \*Q\e&\*U in the second line is the do-nothing character;
785: when followed by a space, a space is sent to the output.
786: .PP
787: If you need to format a reference in the style
788: favored by the Modern Language Association
789: or Chicago University Press,
790: in the form (city: publisher, date),
791: then you will have to change the middle of
792: the book macro [2 as follows:
793: .DS
794: \e& (\ec
795: \&.if !"\e\e*([C"" \e\e*([C:
796: \e\e*([I\ec
797: \&.if !"\e\e*([D"" , \e\e*([D\ec
798: )\ec
799: .DE
800: This would print (Berkeley: Computing Services, 1982)
801: if all three strings were present.
802: The first line prints a space and a parenthesis;
803: the second prints the city (and a colon) if present;
804: the third always prints the publisher
805: (books must have a publisher, or else they're classified as other);
806: the fourth line prints a comma and the date if present;
807: and the fifth line closes the parentheses.
808: You would need to make similar changes to the other macros as well.
809: .SH
810: Acknowledgements
811: .XS
812: Acknowledgements
813: .XE
814: .PP
815: Mike Lesk of Bell Laboratories wrote the original \fBrefer\fP software,
816: including the indexing programs.
817: Al Stangenberger of the Forestry Department
818: wrote the first version of \fBaddbib\fP, then called \fBbibin\fP.
819: Greg Shenaut of the Linguistics Department
820: wrote the original versions of \fBsortbib\fP and \fBroffbib\fP.
821: All these contributions are greatly appreciated.
822: .nr Pg \n(PN+1
823: .XS \n(Pg
824: Commented Refer Macros
825: .XE
826: .nr LL 6i
827: .TC
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.