version 1, including all changes.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
REFER |
|
|
2 |
!!!REFER |
|
|
3 |
NAME |
|
|
4 |
SYNOPSIS |
|
|
5 |
DESCRIPTION |
|
|
6 |
OPTIONS |
|
|
7 |
USAGE |
|
|
8 |
FILES |
|
|
9 |
SEE ALSO |
|
|
10 |
BUGS |
|
|
11 |
---- |
|
|
12 |
!!NAME |
|
|
13 |
|
|
|
14 |
|
|
|
15 |
refer - preprocess bibliographic references for groff |
|
|
16 |
!!SYNOPSIS |
|
|
17 |
|
|
|
18 |
|
|
|
19 |
__refer__ [[ __-benvCPRS__ ] [[ __-a__''n'' ] [[ |
|
|
20 |
__-c__''fields'' ] [[ __-f__''n'' ] [[ |
|
|
21 |
__-i__''fields'' ] [[ __-k__''field'' ] [[ |
|
|
22 |
__-l__''m,n'' ] [[ __-p__''filename'' ] [[ |
|
|
23 |
__-s__''fields'' ] [[ __-t__''n'' ] [[ |
|
|
24 |
__-B__''field.macro'' ] [[ ''filename''... |
|
|
25 |
] |
|
|
26 |
|
|
|
27 |
|
|
|
28 |
It is possible to have whitespace between a command line |
|
|
29 |
option and its parameter. |
|
|
30 |
!!DESCRIPTION |
|
|
31 |
|
|
|
32 |
|
|
|
33 |
This file documents the GNU version of __refer__, which |
|
|
34 |
is part of the groff document formatting system. |
|
|
35 |
__refer__ copies the contents of ''filename''... to |
|
|
36 |
the standard output, except that lines between __.[[__ and |
|
|
37 |
__.]__ are interpreted as citations, and lines between |
|
|
38 |
__.R1__ and __.R2__ are interpreted as commands about |
|
|
39 |
how citations are to be processed. |
|
|
40 |
|
|
|
41 |
|
|
|
42 |
Each citation specifies a reference. The citation can |
|
|
43 |
specify a reference that is contained in a bibliographic |
|
|
44 |
database by giving a set of keywords that only that |
|
|
45 |
reference contains. Alternatively it can specify a reference |
|
|
46 |
by supplying a database record in the citation. A |
|
|
47 |
combination of these alternatives is also |
|
|
48 |
possible. |
|
|
49 |
|
|
|
50 |
|
|
|
51 |
For each citation, __refer__ can produce a mark in the |
|
|
52 |
text. This mark consists of some label which can be |
|
|
53 |
separated from the text and from other labels in various |
|
|
54 |
ways. For each reference it also outputs __groff__ |
|
|
55 |
commands that can be used by a macro package to produce a |
|
|
56 |
formatted reference for each citation. The output of |
|
|
57 |
__refer__ must therefore be processed using a suitable |
|
|
58 |
macro package. The __-ms__ and __-me__ macros are both |
|
|
59 |
suitable. The commands to format a citation's reference can |
|
|
60 |
be output immediately after the citation, or the references |
|
|
61 |
may be accumulated, and the commands output at some later |
|
|
62 |
point. If the references are accumulated, then multiple |
|
|
63 |
citations of the same reference will produce a single |
|
|
64 |
formatted reference. |
|
|
65 |
|
|
|
66 |
|
|
|
67 |
The interpretation of lines between __.R1__ and |
|
|
68 |
__.R2__ as commands is a new feature of GNU refer. |
|
|
69 |
Documents making use of this feature can still be processed |
|
|
70 |
by Unix refer just by adding the lines |
|
|
71 |
|
|
|
72 |
|
|
|
73 |
__.de R1 |
|
|
74 |
.ig R2 |
|
|
75 |
.. |
|
|
76 |
__ |
|
|
77 |
|
|
|
78 |
|
|
|
79 |
to the beginning of the document. This will cause |
|
|
80 |
__troff__ to ignore everything between __.R1__ and |
|
|
81 |
__.R2__. The effect of some commands can also be achieved |
|
|
82 |
by options. These options are supported mainly for |
|
|
83 |
compatibility with Unix refer. It is usually more convenient |
|
|
84 |
to use commands. |
|
|
85 |
|
|
|
86 |
|
|
|
87 |
__refer__ generates __.lf__ lines so that filenames |
|
|
88 |
and line numbers in messages produced by commands that read |
|
|
89 |
__refer__ output will be correct; it also interprets |
|
|
90 |
lines beginning with __.lf__ so that filenames and line |
|
|
91 |
numbers in the messages and __.lf__ lines that it |
|
|
92 |
produces will be accurate even if the input has been |
|
|
93 |
preprocessed by a command such as |
|
|
94 |
soelim(1). |
|
|
95 |
!!OPTIONS |
|
|
96 |
|
|
|
97 |
|
|
|
98 |
Most options are equivalent to commands (for a description |
|
|
99 |
of these commands see the __Commands__ |
|
|
100 |
subsection): |
|
|
101 |
|
|
|
102 |
|
|
|
103 |
__-b__ |
|
|
104 |
|
|
|
105 |
|
|
|
106 |
__no-label-in-text; no-label-in-reference__ |
|
|
107 |
|
|
|
108 |
|
|
|
109 |
__-e__ |
|
|
110 |
|
|
|
111 |
|
|
|
112 |
__accumulate__ |
|
|
113 |
|
|
|
114 |
|
|
|
115 |
__-n__ |
|
|
116 |
|
|
|
117 |
|
|
|
118 |
__no-default-database__ |
|
|
119 |
|
|
|
120 |
|
|
|
121 |
__-C__ |
|
|
122 |
|
|
|
123 |
|
|
|
124 |
__compatible__ |
|
|
125 |
|
|
|
126 |
|
|
|
127 |
__-P__ |
|
|
128 |
|
|
|
129 |
|
|
|
130 |
__move-punctuation__ |
|
|
131 |
|
|
|
132 |
|
|
|
133 |
__-S__ |
|
|
134 |
|
|
|
135 |
|
|
|
136 |
__label |
|
|
137 |
__ |
|
|
138 |
|
|
|
139 |
|
|
|
140 |
__-a__''n'' |
|
|
141 |
|
|
|
142 |
|
|
|
143 |
__reverse A__''n'' |
|
|
144 |
|
|
|
145 |
|
|
|
146 |
__-c__''fields'' |
|
|
147 |
|
|
|
148 |
|
|
|
149 |
__capitalize__ ''fields'' |
|
|
150 |
|
|
|
151 |
|
|
|
152 |
__-f__''n'' |
|
|
153 |
|
|
|
154 |
|
|
|
155 |
__label %__''n'' |
|
|
156 |
|
|
|
157 |
|
|
|
158 |
__-i__''fields'' |
|
|
159 |
|
|
|
160 |
|
|
|
161 |
__search-ignore__ ''fields'' |
|
|
162 |
|
|
|
163 |
|
|
|
164 |
__-k__ |
|
|
165 |
|
|
|
166 |
|
|
|
167 |
__label L~%a__ |
|
|
168 |
|
|
|
169 |
|
|
|
170 |
__-k__''field'' |
|
|
171 |
|
|
|
172 |
|
|
|
173 |
__label__ ''field''__~%a__ |
|
|
174 |
|
|
|
175 |
|
|
|
176 |
__-l__ |
|
|
177 |
|
|
|
178 |
|
|
|
179 |
__label A.nD.y%a__ |
|
|
180 |
|
|
|
181 |
|
|
|
182 |
__-l__''m'' |
|
|
183 |
|
|
|
184 |
|
|
|
185 |
__label A.n+__''m''__D.y%a__ |
|
|
186 |
|
|
|
187 |
|
|
|
188 |
__-l,__''n'' |
|
|
189 |
|
|
|
190 |
|
|
|
191 |
__label A.nD.y-__''n''__%a__ |
|
|
192 |
|
|
|
193 |
|
|
|
194 |
__-l__''m''__,__''n'' |
|
|
195 |
|
|
|
196 |
|
|
|
197 |
__label |
|
|
198 |
A.n+__''m''__D.y-__''n''__%a__ |
|
|
199 |
|
|
|
200 |
|
|
|
201 |
__-p__''filename'' |
|
|
202 |
|
|
|
203 |
|
|
|
204 |
__database__ ''filename'' |
|
|
205 |
|
|
|
206 |
|
|
|
207 |
__-s__''spec'' |
|
|
208 |
|
|
|
209 |
|
|
|
210 |
__sort__ ''spec'' |
|
|
211 |
|
|
|
212 |
|
|
|
213 |
__-t__''n'' |
|
|
214 |
|
|
|
215 |
|
|
|
216 |
__search-truncate__ ''n'' |
|
|
217 |
|
|
|
218 |
|
|
|
219 |
These options are equivalent to the following commands with |
|
|
220 |
the addition that the filenames specified on the command |
|
|
221 |
line are processed as if they were arguments to the |
|
|
222 |
__bibliography__ command instead of in the normal |
|
|
223 |
way: |
|
|
224 |
|
|
|
225 |
|
|
|
226 |
__-B__ |
|
|
227 |
|
|
|
228 |
|
|
|
229 |
__annotate X AP; no-label-in-reference__ |
|
|
230 |
|
|
|
231 |
|
|
|
232 |
__-B__''field''__.__''macro'' |
|
|
233 |
|
|
|
234 |
|
|
|
235 |
__annotate__ ''field macro''__; |
|
|
236 |
no-label-in-reference__ |
|
|
237 |
|
|
|
238 |
|
|
|
239 |
The following options have no equivalent |
|
|
240 |
commands: |
|
|
241 |
|
|
|
242 |
|
|
|
243 |
__-v__ |
|
|
244 |
|
|
|
245 |
|
|
|
246 |
Print the version number. |
|
|
247 |
|
|
|
248 |
|
|
|
249 |
__-R__ |
|
|
250 |
|
|
|
251 |
|
|
|
252 |
Don't recognize lines beginning with |
|
|
253 |
__.R1__/__.R2__. |
|
|
254 |
!!USAGE |
|
|
255 |
|
|
|
256 |
|
|
|
257 |
__Bibliographic databases__ |
|
|
258 |
|
|
|
259 |
|
|
|
260 |
The bibliographic database is a text file consisting of |
|
|
261 |
records separated by one or more blank lines. Within each |
|
|
262 |
record fields start with a __%__ at the beginning of a |
|
|
263 |
line. Each field has a one character name that immediately |
|
|
264 |
follows the __%__. It is best to use only upper and lower |
|
|
265 |
case letters for the names of fields. The name of the field |
|
|
266 |
should be followed by exactly one space, and then by the |
|
|
267 |
contents of the field. Empty fields are ignored. The |
|
|
268 |
conventional meaning of each field is as |
|
|
269 |
follows: |
|
|
270 |
|
|
|
271 |
|
|
|
272 |
__A__ |
|
|
273 |
|
|
|
274 |
|
|
|
275 |
The name of an author. If the name contains a title such as |
|
|
276 |
__Jr.__ at the end, it should be separated from the last |
|
|
277 |
name by a comma. There can be multiple occurrences of the |
|
|
278 |
__A__ field. The order is significant. It is a good idea |
|
|
279 |
always to supply an __A__ field or a __Q__ |
|
|
280 |
field. |
|
|
281 |
|
|
|
282 |
|
|
|
283 |
__B__ |
|
|
284 |
|
|
|
285 |
|
|
|
286 |
For an article that is part of a book, the title of the |
|
|
287 |
book |
|
|
288 |
|
|
|
289 |
|
|
|
290 |
__C__ |
|
|
291 |
|
|
|
292 |
|
|
|
293 |
The place (city) of publication. |
|
|
294 |
|
|
|
295 |
|
|
|
296 |
__D__ |
|
|
297 |
|
|
|
298 |
|
|
|
299 |
The date of publication. The year should be specified in |
|
|
300 |
full. If the month is specified, the name rather than the |
|
|
301 |
number of the month should be used, but only the first three |
|
|
302 |
letters are required. It is a good idea always to supply a |
|
|
303 |
__D__ field; if the date is unknown, a value such as |
|
|
304 |
__in press__ or __unknown__ can be used. |
|
|
305 |
|
|
|
306 |
|
|
|
307 |
__E__ |
|
|
308 |
|
|
|
309 |
|
|
|
310 |
For an article that is part of a book, the name of an editor |
|
|
311 |
of the book. Where the work has editors and no authors, the |
|
|
312 |
names of the editors should be given as __A__ fields and |
|
|
313 |
__, (ed)__ or __, (eds)__ should be appended to the |
|
|
314 |
last author. |
|
|
315 |
|
|
|
316 |
|
|
|
317 |
__G__ |
|
|
318 |
|
|
|
319 |
|
|
|
320 |
US Government ordering number. |
|
|
321 |
|
|
|
322 |
|
|
|
323 |
__I__ |
|
|
324 |
|
|
|
325 |
|
|
|
326 |
The publisher (issuer). |
|
|
327 |
|
|
|
328 |
|
|
|
329 |
__J__ |
|
|
330 |
|
|
|
331 |
|
|
|
332 |
For an article in a journal, the name of the |
|
|
333 |
journal. |
|
|
334 |
|
|
|
335 |
|
|
|
336 |
__K__ |
|
|
337 |
|
|
|
338 |
|
|
|
339 |
Keywords to be used for searching. |
|
|
340 |
|
|
|
341 |
|
|
|
342 |
__L__ |
|
|
343 |
|
|
|
344 |
|
|
|
345 |
Label. |
|
|
346 |
|
|
|
347 |
|
|
|
348 |
__N__ |
|
|
349 |
|
|
|
350 |
|
|
|
351 |
Journal issue number. |
|
|
352 |
|
|
|
353 |
|
|
|
354 |
__O__ |
|
|
355 |
|
|
|
356 |
|
|
|
357 |
Other information. This is usually printed at the end of the |
|
|
358 |
reference. |
|
|
359 |
|
|
|
360 |
|
|
|
361 |
__P__ |
|
|
362 |
|
|
|
363 |
|
|
|
364 |
Page number. A range of pages can be specified as |
|
|
365 |
''m''__-__''n''. |
|
|
366 |
|
|
|
367 |
|
|
|
368 |
__Q__ |
|
|
369 |
|
|
|
370 |
|
|
|
371 |
The name of the author, if the author is not a person. This |
|
|
372 |
will only be used if there are no __A__ fields. There can |
|
|
373 |
only be one __Q__ field. |
|
|
374 |
|
|
|
375 |
|
|
|
376 |
__R__ |
|
|
377 |
|
|
|
378 |
|
|
|
379 |
Technical report number. |
|
|
380 |
|
|
|
381 |
|
|
|
382 |
__S__ |
|
|
383 |
|
|
|
384 |
|
|
|
385 |
Series name. |
|
|
386 |
|
|
|
387 |
|
|
|
388 |
__T__ |
|
|
389 |
|
|
|
390 |
|
|
|
391 |
Title. For an article in a book or journal, this should be |
|
|
392 |
the title of the article. |
|
|
393 |
|
|
|
394 |
|
|
|
395 |
__V__ |
|
|
396 |
|
|
|
397 |
|
|
|
398 |
Volume number of the journal or book. |
|
|
399 |
|
|
|
400 |
|
|
|
401 |
__X__ |
|
|
402 |
|
|
|
403 |
|
|
|
404 |
Annotation. |
|
|
405 |
|
|
|
406 |
|
|
|
407 |
For all fields except __A__ and __E__, if there is |
|
|
408 |
more than one occurrence of a particular field in a record, |
|
|
409 |
only the last such field will be used. |
|
|
410 |
|
|
|
411 |
|
|
|
412 |
If accent strings are used, they should follow the character |
|
|
413 |
to be accented. This means that the __AM__ macro must be |
|
|
414 |
used with the __-ms__ macros. Accent strings should not |
|
|
415 |
be quoted: use one __\__ rather than two. |
|
|
416 |
|
|
|
417 |
|
|
|
418 |
__Citations__ |
|
|
419 |
|
|
|
420 |
|
|
|
421 |
The format of a citation is |
|
|
422 |
|
|
|
423 |
|
|
|
424 |
__.[[__''opening-text |
|
|
425 |
flags keywords |
|
|
426 |
fields''__ |
|
|
427 |
.]__''closing-text'' |
|
|
428 |
|
|
|
429 |
|
|
|
430 |
The ''opening-text'', ''closing-text'' and |
|
|
431 |
''flags'' components are optional. Only one of the |
|
|
432 |
''keywords'' and ''fields'' components need be |
|
|
433 |
specified. |
|
|
434 |
|
|
|
435 |
|
|
|
436 |
The ''keywords'' component says to search the |
|
|
437 |
bibliographic databases for a reference that contains all |
|
|
438 |
the words in ''keywords''. It is an error if more than |
|
|
439 |
one reference if found. |
|
|
440 |
|
|
|
441 |
|
|
|
442 |
The ''fields'' components specifies additional fields to |
|
|
443 |
replace or supplement those specified in the reference. When |
|
|
444 |
references are being accumulated and the ''keywords'' |
|
|
445 |
component is non-empty, then additional fields should be |
|
|
446 |
specified only on the first occasion that a particular |
|
|
447 |
reference is cited, and will apply to all citations of that |
|
|
448 |
reference. |
|
|
449 |
|
|
|
450 |
|
|
|
451 |
The ''opening-text'' and ''closing-text'' component |
|
|
452 |
specifies strings to be used to bracket the label instead of |
|
|
453 |
the strings specified in the __bracket-label__ command. |
|
|
454 |
If either of these components is non-empty, the strings |
|
|
455 |
specified in the __bracket-label__ command will not be |
|
|
456 |
used; this behaviour can be altered using the __[[__ and |
|
|
457 |
__]__ flags. Note that leading and trailing spaces are |
|
|
458 |
significant for these components. |
|
|
459 |
|
|
|
460 |
|
|
|
461 |
The ''flags'' component is a list of non-alphanumeric |
|
|
462 |
characters each of which modifies the treatment of this |
|
|
463 |
particular citation. Unix refer will treat these flags as |
|
|
464 |
part of the keywords and so will ignore them since they are |
|
|
465 |
non-alphanumeric. The following flags are currently |
|
|
466 |
recognized: |
|
|
467 |
|
|
|
468 |
|
|
|
469 |
__#__ |
|
|
470 |
|
|
|
471 |
|
|
|
472 |
This says to use the label specified by the |
|
|
473 |
__short-label__ command, instead of that specified by the |
|
|
474 |
__label__ command. If no short label has been specified, |
|
|
475 |
the normal label will be used. Typically the short label is |
|
|
476 |
used with author-date labels and consists of only the date |
|
|
477 |
and possibly a disambiguating letter; the __#__ is |
|
|
478 |
supposed to be suggestive of a numeric type of |
|
|
479 |
label. |
|
|
480 |
|
|
|
481 |
|
|
|
482 |
__[[__ |
|
|
483 |
|
|
|
484 |
|
|
|
485 |
Precede ''opening-text'' with the first string specified |
|
|
486 |
in the __bracket-label__ command. |
|
|
487 |
|
|
|
488 |
|
|
|
489 |
__]__ |
|
|
490 |
|
|
|
491 |
|
|
|
492 |
Follow ''closing-text'' with the second string specified |
|
|
493 |
in the __bracket-label__ command. |
|
|
494 |
|
|
|
495 |
|
|
|
496 |
One advantages of using the __[[__ and __]__ flags |
|
|
497 |
rather than including the brackets in ''opening-text'' |
|
|
498 |
and ''closing-text'' is that you can change the style of |
|
|
499 |
bracket used in the document just by changing the |
|
|
500 |
__bracket-label__ command. Another advantage is that |
|
|
501 |
sorting and merging of citations will not necessarily be |
|
|
502 |
inhibited if the flags are used. |
|
|
503 |
|
|
|
504 |
|
|
|
505 |
If a label is to be inserted into the text, it will be |
|
|
506 |
attached to the line preceding the __.[[__ line. If there |
|
|
507 |
is no such line, then an extra line will be inserted before |
|
|
508 |
the __.[[__ line and a warning will be given. |
|
|
509 |
|
|
|
510 |
|
|
|
511 |
There is no special notation for making a citation to |
|
|
512 |
multiple references. Just use a sequence of citations, one |
|
|
513 |
for each reference. Don't put anything between the |
|
|
514 |
citations. The labels for all the citations will be attached |
|
|
515 |
to the line preceding the first citation. The labels may |
|
|
516 |
also be sorted or merged. See the description of the |
|
|
517 |
____ label expression, and of the |
|
|
518 |
__sort-adjacent-labels__ and |
|
|
519 |
__abbreviate-label-ranges__ command. A label will not be |
|
|
520 |
merged if its citation has a non-empty ''opening-text'' |
|
|
521 |
or ''closing-text''. However, the labels for a citation |
|
|
522 |
using the __]__ flag and without any ''closing-text'' |
|
|
523 |
immediately followed by a citation using the __[[__ flag |
|
|
524 |
and without any ''opening-text'' may be sorted and merged |
|
|
525 |
even though the first citation's ''opening-text'' or the |
|
|
526 |
second citation's ''closing-text'' is non-empty. (If you |
|
|
527 |
wish to prevent this just make the first citation's |
|
|
528 |
''closing-text'' ____.) |
|
|
529 |
|
|
|
530 |
|
|
|
531 |
__Commands__ |
|
|
532 |
|
|
|
533 |
|
|
|
534 |
Commands are contained between lines starting with |
|
|
535 |
__.R1__ and __.R2__. Recognition of these lines can be |
|
|
536 |
prevented by the __-R__ option. When a __.R1__ line is |
|
|
537 |
recognized any accumulated references are flushed out. |
|
|
538 |
Neither __.R1__ nor __.R2__ lines, nor anything |
|
|
539 |
between them is output. |
|
|
540 |
|
|
|
541 |
|
|
|
542 |
Commands are separated by newlines or __;__s. __#__ |
|
|
543 |
introduces a comment that extends to the end of the line |
|
|
544 |
(but does not conceal the newline). Each command is broken |
|
|
545 |
up into words. Words are separated by spaces or tabs. A word |
|
|
546 |
that begins with ____ extends to the next |
|
|
547 |
____ that is not followed by another ____. |
|
|
548 |
If there is no such ____ the word extends to the |
|
|
549 |
end of the line. Pairs of ____ in a word beginning |
|
|
550 |
with ____ collapse to a single ____. |
|
|
551 |
Neither __#__ nor __;__ are recognized inside |
|
|
552 |
____s. A line can be continued by ending it with |
|
|
553 |
__\__; this works everywhere except after a |
|
|
554 |
__#__. |
|
|
555 |
|
|
|
556 |
|
|
|
557 |
Each command ''name'' that is marked with * has an |
|
|
558 |
associated negative command __no-__''name'' that |
|
|
559 |
undoes the effect of ''name''. For example, the |
|
|
560 |
__no-sort__ command specifies that references should not |
|
|
561 |
be sorted. The negative commands take no |
|
|
562 |
arguments. |
|
|
563 |
|
|
|
564 |
|
|
|
565 |
In the following description each argument must be a single |
|
|
566 |
word; ''field'' is used for a single upper or lower case |
|
|
567 |
letter naming a field; ''fields'' is used for a sequence |
|
|
568 |
of such letters; ''m'' and ''n'' are used for a |
|
|
569 |
non-negative numbers; ''string'' is used for an arbitrary |
|
|
570 |
string; ''filename'' is used for the name of a |
|
|
571 |
file. |
|
|
572 |
|
|
|
573 |
|
|
|
574 |
__abbreviate__* ''fields string1 string2 string3 |
|
|
575 |
string4'' |
|
|
576 |
|
|
|
577 |
|
|
|
578 |
Abbreviate the first names of ''fields''. An initial |
|
|
579 |
letter will be separated from another initial letter by |
|
|
580 |
''string1'', from the last name by ''string2'', and |
|
|
581 |
from anything else (such as a __von__ or __de__) by |
|
|
582 |
''string3''. These default to a period followed by a |
|
|
583 |
space. In a hyphenated first name, the initial of the first |
|
|
584 |
part of the name will be separated from the hyphen by |
|
|
585 |
''string4''; this defaults to a period. No attempt is |
|
|
586 |
made to handle any ambiguities that might result from |
|
|
587 |
abbreviation. Names are abbreviated before sorting and |
|
|
588 |
before label construction. |
|
|
589 |
|
|
|
590 |
|
|
|
591 |
__abbreviate-label-ranges__* ''string'' |
|
|
592 |
|
|
|
593 |
|
|
|
594 |
Three or more adjacent labels that refer to consecutive |
|
|
595 |
references will be abbreviated to a label consisting of the |
|
|
596 |
first label, followed by ''string'' followed by the last |
|
|
597 |
label. This is mainly useful with numeric labels. If |
|
|
598 |
''string'' is omitted it defaults to |
|
|
599 |
__-__. |
|
|
600 |
|
|
|
601 |
|
|
|
602 |
__accumulate__* Accumulate references instead of writing |
|
|
603 |
out each reference as it is encountered. Accumulated |
|
|
604 |
references will be written out whenever a reference of the |
|
|
605 |
form |
|
|
606 |
|
|
|
607 |
|
|
|
608 |
__.[[ |
|
|
609 |
$LIST$ |
|
|
610 |
.]__ |
|
|
611 |
|
|
|
612 |
|
|
|
613 |
is encountered, after all input files hve been processed, |
|
|
614 |
and whenever __.R1__ line is recognized. |
|
|
615 |
|
|
|
616 |
|
|
|
617 |
__annotate__* ''field string'' |
|
|
618 |
|
|
|
619 |
|
|
|
620 |
''field'' is an annotation; print it at the end of the |
|
|
621 |
reference as a paragraph preceded by the line |
|
|
622 |
|
|
|
623 |
|
|
|
624 |
__.__''string'' |
|
|
625 |
|
|
|
626 |
|
|
|
627 |
If ''macro'' is omitted it will default to __AP__; if |
|
|
628 |
''field'' is also omitted it will default to __X__. |
|
|
629 |
Only one field can be an annotation. |
|
|
630 |
|
|
|
631 |
|
|
|
632 |
__articles__ ''string''... |
|
|
633 |
|
|
|
634 |
|
|
|
635 |
''string''... are definite or indefinite articles, and |
|
|
636 |
should be ignored at the beginning of __T__ fields when |
|
|
637 |
sorting. Initially, __the__, __a__ and __an__ are |
|
|
638 |
recognized as articles. |
|
|
639 |
|
|
|
640 |
|
|
|
641 |
__bibliography__ ''filename''... |
|
|
642 |
|
|
|
643 |
|
|
|
644 |
Write out all the references contained in the bibliographic |
|
|
645 |
databases ''filename''... |
|
|
646 |
|
|
|
647 |
|
|
|
648 |
__bracket-label__ ''string1 string2 |
|
|
649 |
string3'' |
|
|
650 |
|
|
|
651 |
|
|
|
652 |
In the text, bracket each label with ''string1'' and |
|
|
653 |
''string2''. An occurrence of ''string2'' immediately |
|
|
654 |
followed by ''string1'' will be turned into |
|
|
655 |
''string3''. The default behaviour is |
|
|
656 |
|
|
|
657 |
|
|
|
658 |
__bracket-label *([[. *(.] __ |
|
|
659 |
|
|
|
660 |
|
|
|
661 |
__capitalize__ ''fields'' Convert ''fields'' to |
|
|
662 |
caps and small caps. |
|
|
663 |
|
|
|
664 |
|
|
|
665 |
__compatible__* Recognize __.R1__ and __.R2__ even |
|
|
666 |
when followed by a character other than space or |
|
|
667 |
newline. |
|
|
668 |
|
|
|
669 |
|
|
|
670 |
__database__ ''filename''... |
|
|
671 |
|
|
|
672 |
|
|
|
673 |
Search the bibliographic databases ''filename''... For |
|
|
674 |
each ''filename'' if an index ''filename''__.i__ |
|
|
675 |
created by indxbib(1) exists, then it will be |
|
|
676 |
searched instead; each index can cover multiple |
|
|
677 |
databases. |
|
|
678 |
|
|
|
679 |
|
|
|
680 |
__date-as-label__* ''string'' |
|
|
681 |
|
|
|
682 |
|
|
|
683 |
''string'' is a label expression that specifies a string |
|
|
684 |
with which to replace the __D__ field after constructing |
|
|
685 |
the label. See the __Label expressions__ subsection for a |
|
|
686 |
description of label expressions. This command is useful if |
|
|
687 |
you do not want explicit labels in the reference list, but |
|
|
688 |
instead want to handle any necessary disambiguation by |
|
|
689 |
qualifying the date in some way. The label used in the text |
|
|
690 |
would typically be some combination of the author and date. |
|
|
691 |
In most cases you should also use the |
|
|
692 |
__no-label-in-reference__ command. For |
|
|
693 |
example, |
|
|
694 |
|
|
|
695 |
|
|
|
696 |
__date-as-label D.+yD.y%a*D.-y__ |
|
|
697 |
|
|
|
698 |
|
|
|
699 |
would attach a disambiguating letter to the year part of the |
|
|
700 |
__D__ field in the reference. |
|
|
701 |
|
|
|
702 |
|
|
|
703 |
__default-database__* The default database should be |
|
|
704 |
searched. This is the default behaviour, so the negative |
|
|
705 |
version of this command is more useful. refer determines |
|
|
706 |
whether the default database should be searched on the first |
|
|
707 |
occasion that it needs to do a search. Thus a |
|
|
708 |
__no-default-database__ command must be given before |
|
|
709 |
then, in order to be effective. |
|
|
710 |
|
|
|
711 |
|
|
|
712 |
__discard__* ''fields'' When the reference is read, |
|
|
713 |
''fields'' should be discarded; no string definitions for |
|
|
714 |
''fields'' will be output. Initially, ''fields'' are |
|
|
715 |
__XYZ__. |
|
|
716 |
|
|
|
717 |
|
|
|
718 |
__et-al__* ''string m n'' Control use of __et al__ |
|
|
719 |
in the evaluation of __@__ expressions in label |
|
|
720 |
expressions. If the number of authors needed to make the |
|
|
721 |
author sequence unambiguous is ''u'' and the total number |
|
|
722 |
of authors is ''t'' then the last ''t''-''u'' |
|
|
723 |
authors will be replaced by ''string'' provided that |
|
|
724 |
''t''-''u'' is not less than ''m'' and ''t'' is |
|
|
725 |
not less than ''n''. The default behaviour |
|
|
726 |
is |
|
|
727 |
|
|
|
728 |
|
|
|
729 |
__et-al __ |
|
|
730 |
|
|
|
731 |
|
|
|
732 |
__include__ ''filename'' Include ''filename'' and |
|
|
733 |
interpret the contents as commands. |
|
|
734 |
|
|
|
735 |
|
|
|
736 |
__join-authors__ ''string1 string2 |
|
|
737 |
string3'' |
|
|
738 |
|
|
|
739 |
|
|
|
740 |
This says how authors should be joined together. When there |
|
|
741 |
are exactly two authors, they will be joined with |
|
|
742 |
''string1''. When there are more than two authors, all |
|
|
743 |
but the last two will be joined with ''string2'', and the |
|
|
744 |
last two authors will be joined with ''string3''. If |
|
|
745 |
''string3'' is omitted, it will default to |
|
|
746 |
''string1''; if ''string2'' is also omitted it will |
|
|
747 |
also default to ''string1''. For example, |
|
|
748 |
|
|
|
749 |
|
|
|
750 |
__join-authors |
|
|
751 |
__ |
|
|
752 |
|
|
|
753 |
|
|
|
754 |
will restore the default method for joining |
|
|
755 |
authors. |
|
|
756 |
|
|
|
757 |
|
|
|
758 |
__label-in-reference__* |
|
|
759 |
|
|
|
760 |
|
|
|
761 |
When outputting the reference, define the string __[[F__ |
|
|
762 |
to be the reference's label. This is the default behaviour; |
|
|
763 |
so the negative version of this command is more |
|
|
764 |
useful. |
|
|
765 |
|
|
|
766 |
|
|
|
767 |
__label-in-text__* For each reference output a label in |
|
|
768 |
the text. The label will be separated from the surrounding |
|
|
769 |
text as described in the __bracket-label__ command. This |
|
|
770 |
is the default behaviour; so the negative version of this |
|
|
771 |
command is more useful. |
|
|
772 |
|
|
|
773 |
|
|
|
774 |
__label__ ''string string'' is a label expression |
|
|
775 |
describing how to label each reference. |
|
|
776 |
|
|
|
777 |
|
|
|
778 |
__separate-label-second-parts__ |
|
|
779 |
''string'' |
|
|
780 |
|
|
|
781 |
|
|
|
782 |
When merging two-part labels, separate the second part of |
|
|
783 |
the second label from the first label with ''string''. |
|
|
784 |
See the description of the ____ label |
|
|
785 |
expression. |
|
|
786 |
|
|
|
787 |
|
|
|
788 |
__move-punctuation__* In the text, move any punctuation |
|
|
789 |
at the end of line past the label. It is usually a good idea |
|
|
790 |
to give this command unless you are using superscripted |
|
|
791 |
numbers as labels. |
|
|
792 |
|
|
|
793 |
|
|
|
794 |
__reverse__* ''string'' Reverse the fields whose names |
|
|
795 |
are in ''string''. Each field name can be followed by a |
|
|
796 |
number which says how many such fields should be reversed. |
|
|
797 |
If no number is given for a field, all such fields will be |
|
|
798 |
reversed. |
|
|
799 |
|
|
|
800 |
|
|
|
801 |
__search-ignore__* ''fields'' |
|
|
802 |
|
|
|
803 |
|
|
|
804 |
While searching for keys in databases for which no index |
|
|
805 |
exists, ignore the contents of ''fields''. Initially, |
|
|
806 |
fields __XYZ__ are ignored. |
|
|
807 |
|
|
|
808 |
|
|
|
809 |
__search-truncate__* ''n'' |
|
|
810 |
|
|
|
811 |
|
|
|
812 |
Only require the first ''n'' characters of keys to be |
|
|
813 |
given. In effect when searching for a given key words in the |
|
|
814 |
database are truncated to the maximum of ''n'' and the |
|
|
815 |
length of the key. Initially ''n'' is 6. |
|
|
816 |
|
|
|
817 |
|
|
|
818 |
__short-label__* ''string'' |
|
|
819 |
|
|
|
820 |
|
|
|
821 |
''string'' is a label expression that specifies an |
|
|
822 |
alternative (usually shorter) style of label. This is used |
|
|
823 |
when the __#__ flag is given in the citation. When using |
|
|
824 |
author-date style labels, the identity of the author or |
|
|
825 |
authors is sometimes clear from the context, and so it may |
|
|
826 |
be desirable to omit the author or authors from the label. |
|
|
827 |
The __short-label__ command will typically be used to |
|
|
828 |
specify a label containing just a date and possibly a |
|
|
829 |
disambiguating letter. |
|
|
830 |
|
|
|
831 |
|
|
|
832 |
__sort__* ''string'' Sort references according to |
|
|
833 |
__string__. References will automatically be accumulated. |
|
|
834 |
''string'' should be a list of field names, each followed |
|
|
835 |
by a number, indicating how many fields with the name should |
|
|
836 |
be used for sorting. __+__ can be used to indicate that |
|
|
837 |
all the fields with the name should be used. Also __.__ |
|
|
838 |
can be used to indicate the references should be sorted |
|
|
839 |
using the (tentative) label. (The __Label expressions__ |
|
|
840 |
subsection describes the concept of a tentative |
|
|
841 |
label.) |
|
|
842 |
|
|
|
843 |
|
|
|
844 |
__sort-adjacent-labels__* |
|
|
845 |
|
|
|
846 |
|
|
|
847 |
Sort labels that are adjacent in the text according to their |
|
|
848 |
position in the reference list. This command should usually |
|
|
849 |
be given if the __abbreviate-label-ranges__ command has |
|
|
850 |
been given, or if the label expression contains a |
|
|
851 |
____ expression. This will have no effect unless |
|
|
852 |
references are being accumulated. |
|
|
853 |
|
|
|
854 |
|
|
|
855 |
__Label expressions__ |
|
|
856 |
|
|
|
857 |
|
|
|
858 |
Label expressions can be evaluated both normally and |
|
|
859 |
tentatively. The result of normal evaluation is used for |
|
|
860 |
output. The result of tentative evaluation, called the |
|
|
861 |
''tentative label,'' is used to gather the information |
|
|
862 |
that normal evaluation needs to disambiguate the label. |
|
|
863 |
Label expressions specified by the __date-as-label__ and |
|
|
864 |
__short-label__ commands are not evaluated tentatively. |
|
|
865 |
Normal and tentative evaluation are the same for all types |
|
|
866 |
of expression other than __@__, __*__, and __%__ |
|
|
867 |
expressions. The description below applies to normal |
|
|
868 |
evaluation, except where otherwise specified. |
|
|
869 |
|
|
|
870 |
|
|
|
871 |
''field'' |
|
|
872 |
|
|
|
873 |
|
|
|
874 |
''field n'' |
|
|
875 |
|
|
|
876 |
|
|
|
877 |
The ''n''-th part of ''field''. If ''n'' is |
|
|
878 |
omitted, it defaults to 1. |
|
|
879 |
|
|
|
880 |
|
|
|
881 |
__'__''string''__'__ |
|
|
882 |
|
|
|
883 |
|
|
|
884 |
The characters in ''string'' literally. |
|
|
885 |
|
|
|
886 |
|
|
|
887 |
__@__ |
|
|
888 |
|
|
|
889 |
|
|
|
890 |
All the authors joined as specified by the |
|
|
891 |
__join-authors__ command. The whole of each author's name |
|
|
892 |
will be used. However, if the references are sorted by |
|
|
893 |
author (that is the sort specification starts with |
|
|
894 |
__A+__), then authors' last names will be used instead, |
|
|
895 |
provided that this does not introduce ambiguity, and also an |
|
|
896 |
initial subsequence of the authors may be used instead of |
|
|
897 |
all the authors, again provided that this does not introduce |
|
|
898 |
ambiguity. The use of only the last name for the ''i''-th |
|
|
899 |
author of some reference is considered to be ambiguous if |
|
|
900 |
there is some other reference, such that the first |
|
|
901 |
''i''-1 authors of the references are the same, the |
|
|
902 |
''i''-th authors are not the same, but the ''i''-th |
|
|
903 |
authors' last names are the same. A proper initial |
|
|
904 |
subsequence of the sequence of authors for some reference is |
|
|
905 |
considered to be ambiguous if there is a reference with some |
|
|
906 |
other sequence of authors which also has that subsequence as |
|
|
907 |
a proper initial subsequence. When an initial subsequence of |
|
|
908 |
authors is used, the remaining authors are replaced by the |
|
|
909 |
string specified by the __et-al__ command; this command |
|
|
910 |
may also specify additional requirements that must be met |
|
|
911 |
before an initial subsequence can be used. __@__ |
|
|
912 |
tentatively evaluates to a canonical representation of the |
|
|
913 |
authors, such that authors that compare equally for sorting |
|
|
914 |
purpose will have the same representation. |
|
|
915 |
|
|
|
916 |
|
|
|
917 |
__%__''n'' |
|
|
918 |
|
|
|
919 |
|
|
|
920 |
__%a__ |
|
|
921 |
|
|
|
922 |
|
|
|
923 |
__%A__ |
|
|
924 |
|
|
|
925 |
|
|
|
926 |
__%i__ |
|
|
927 |
|
|
|
928 |
|
|
|
929 |
__%I__ |
|
|
930 |
|
|
|
931 |
|
|
|
932 |
The serial number of the reference formatted according to |
|
|
933 |
the character following the __%__. The serial number of a |
|
|
934 |
reference is 1 plus the number of earlier references with |
|
|
935 |
same tentative label as this reference. These expressions |
|
|
936 |
tentatively evaluate to an empty string. |
|
|
937 |
|
|
|
938 |
|
|
|
939 |
''expr''__*__ |
|
|
940 |
|
|
|
941 |
|
|
|
942 |
If there is another reference with the same tentative label |
|
|
943 |
as this reference, then ''expr'', otherwise an empty |
|
|
944 |
string. It tentatively evaluates to an empty |
|
|
945 |
string. |
|
|
946 |
|
|
|
947 |
|
|
|
948 |
''expr''__+__''n'' |
|
|
949 |
|
|
|
950 |
|
|
|
951 |
''expr''__-__''n'' |
|
|
952 |
|
|
|
953 |
|
|
|
954 |
The first (__+__) or last (__-__) ''n'' upper or |
|
|
955 |
lower case letters or digits of ''expr''. Troff special |
|
|
956 |
characters (such as ____) count as a single |
|
|
957 |
letter. Accent strings are retained but do not count towards |
|
|
958 |
the total. |
|
|
959 |
|
|
|
960 |
|
|
|
961 |
''expr''__.l__ |
|
|
962 |
|
|
|
963 |
|
|
|
964 |
''expr'' converted to lowercase. |
|
|
965 |
|
|
|
966 |
|
|
|
967 |
''expr''__.u__ |
|
|
968 |
|
|
|
969 |
|
|
|
970 |
''expr'' converted to uppercase. |
|
|
971 |
|
|
|
972 |
|
|
|
973 |
''expr''__.c__ |
|
|
974 |
|
|
|
975 |
|
|
|
976 |
''expr'' converted to caps and small caps. |
|
|
977 |
|
|
|
978 |
|
|
|
979 |
''expr''__.r__ |
|
|
980 |
|
|
|
981 |
|
|
|
982 |
''expr'' reversed so that the last name is |
|
|
983 |
first. |
|
|
984 |
|
|
|
985 |
|
|
|
986 |
''expr''__.a__ |
|
|
987 |
|
|
|
988 |
|
|
|
989 |
''expr'' with first names abbreviated. Note that fields |
|
|
990 |
specified in the __abbreviate__ command are abbreviated |
|
|
991 |
before any labels are evaluated. Thus __.a__ is useful |
|
|
992 |
only when you want a field to be abbreviated in a label but |
|
|
993 |
not in a reference. |
|
|
994 |
|
|
|
995 |
|
|
|
996 |
''expr''__.y__ |
|
|
997 |
|
|
|
998 |
|
|
|
999 |
The year part of ''expr''. |
|
|
1000 |
|
|
|
1001 |
|
|
|
1002 |
''expr''__.+y__ |
|
|
1003 |
|
|
|
1004 |
|
|
|
1005 |
The part of ''expr'' before the year, or the whole of |
|
|
1006 |
''expr'' if it does not contain a year. |
|
|
1007 |
|
|
|
1008 |
|
|
|
1009 |
''expr''__.-y__ |
|
|
1010 |
|
|
|
1011 |
|
|
|
1012 |
The part of ''expr'' after the year, or an empty string |
|
|
1013 |
if ''expr'' does not contain a year. |
|
|
1014 |
|
|
|
1015 |
|
|
|
1016 |
''expr''__.n__ |
|
|
1017 |
|
|
|
1018 |
|
|
|
1019 |
The last name part of ''expr''. |
|
|
1020 |
|
|
|
1021 |
|
|
|
1022 |
''expr1''__~__''expr2'' |
|
|
1023 |
|
|
|
1024 |
|
|
|
1025 |
''expr1'' except that if the last character of |
|
|
1026 |
''expr1'' is __-__ then it will be replaced by |
|
|
1027 |
''expr2''. |
|
|
1028 |
|
|
|
1029 |
|
|
|
1030 |
''expr1 expr2'' |
|
|
1031 |
|
|
|
1032 |
|
|
|
1033 |
The concatenation of ''expr1'' and |
|
|
1034 |
''expr2''. |
|
|
1035 |
|
|
|
1036 |
|
|
|
1037 |
''expr1''__|__''expr2'' |
|
|
1038 |
|
|
|
1039 |
|
|
|
1040 |
If ''expr1'' is non-empty then ''expr1'' otherwise |
|
|
1041 |
''expr2''. |
|
|
1042 |
|
|
|
1043 |
|
|
|
1044 |
''expr1''____''expr2'' |
|
|
1045 |
|
|
|
1046 |
|
|
|
1047 |
If ''expr1'' is non-empty then ''expr2'' otherwise an |
|
|
1048 |
empty string. |
|
|
1049 |
|
|
|
1050 |
|
|
|
1051 |
''expr1''__?__''expr2''__:__''expr3'' |
|
|
1052 |
|
|
|
1053 |
|
|
|
1054 |
If ''expr1'' is non-empty then ''expr2'' otherwise |
|
|
1055 |
''expr3''. |
|
|
1056 |
|
|
|
1057 |
|
|
|
1058 |
____''expr''____ |
|
|
1059 |
|
|
|
1060 |
|
|
|
1061 |
The label is in two parts, which are separated by |
|
|
1062 |
''expr''. Two adjacent two-part labels which have the |
|
|
1063 |
same first part will be merged by appending the second part |
|
|
1064 |
of the second label onto the first label separated by the |
|
|
1065 |
string specified in the __separate-label-second-parts__ |
|
|
1066 |
command (initially, a comma followed by a space); the |
|
|
1067 |
resulting label will also be a two-part label with the same |
|
|
1068 |
first part as before merging, and so additional labels can |
|
|
1069 |
be merged into it. Note that it is permissible for the first |
|
|
1070 |
part to be empty; this maybe desirable for expressions used |
|
|
1071 |
in the __short-label__ command. |
|
|
1072 |
|
|
|
1073 |
|
|
|
1074 |
__(__''expr''__)__ |
|
|
1075 |
|
|
|
1076 |
|
|
|
1077 |
The same as ''expr''. Used for grouping. |
|
|
1078 |
|
|
|
1079 |
|
|
|
1080 |
The above expressions are listed in order of precedence |
|
|
1081 |
(highest first); ____ and __|__ have the same |
|
|
1082 |
precedence. |
|
|
1083 |
|
|
|
1084 |
|
|
|
1085 |
__Macro interface__ |
|
|
1086 |
|
|
|
1087 |
|
|
|
1088 |
Each reference starts with a call to the macro __]-__. |
|
|
1089 |
The string __[[F__ will be defined to be the label for |
|
|
1090 |
this reference, unless the __no-label-in-reference__ |
|
|
1091 |
command has been given. There then follows a series of |
|
|
1092 |
string definitions, one for each field: string |
|
|
1093 |
__[[__''X'' corresponds to field ''X''. The number |
|
|
1094 |
register __[[P__ is set to 1 if the __P__ field |
|
|
1095 |
contains a range of pages. The __[[T__, __[[A__ and |
|
|
1096 |
__[[O__ number registers are set to 1 according as the |
|
|
1097 |
__T__, __A__ and __O__ fields end with one of the |
|
|
1098 |
characters __.?!__. The __[[E__ number register will be |
|
|
1099 |
set to 1 if the __[[E__ string contains more than one |
|
|
1100 |
name. The reference is followed by a call to the __][[__ |
|
|
1101 |
macro. The first argument to this macro gives a number |
|
|
1102 |
representing the type of the reference. If a reference |
|
|
1103 |
contains a __J__ field, it will be classified as type 1, |
|
|
1104 |
otherwise if it contains a __B__ field, it will type 3, |
|
|
1105 |
otherwise if it contains a __G__ or __R__ field it |
|
|
1106 |
will be type 4, otherwise if contains a __I__ field it |
|
|
1107 |
will be type 2, otherwise it will be type 0. The second |
|
|
1108 |
argument is a symbolic name for the type: __other__, |
|
|
1109 |
__journal-article__, __book__, __article-in-book__ |
|
|
1110 |
or __tech-report__. Groups of references that have been |
|
|
1111 |
accumulated or are produced by the __bibliography__ |
|
|
1112 |
command are preceded by a call to the __]__ macro and |
|
|
1113 |
followed by a call to the __]__ macro. |
|
|
1114 |
!!FILES |
|
|
1115 |
|
|
|
1116 |
|
|
|
1117 |
__/usr/dict/papers/Ind__ |
|
|
1118 |
|
|
|
1119 |
|
|
|
1120 |
Default database. |
|
|
1121 |
|
|
|
1122 |
|
|
|
1123 |
''file''__.i__ Index files. |
|
|
1124 |
!!SEE ALSO |
|
|
1125 |
|
|
|
1126 |
|
|
|
1127 |
indxbib(1), lookbib(1), |
|
|
1128 |
lkbib(1) |
|
|
1129 |
!!BUGS |
|
|
1130 |
|
|
|
1131 |
|
|
|
1132 |
In label expressions, ____ expressions are |
|
|
1133 |
ignored inside __.__''char'' expressions. |
|
|
1134 |
---- |