обрабатывать библиографические ссылки для groff (process bibliographic references for groff)
Примеры (Examples)
We can illustrate the operation of refer with a sample
bibliographic database containing one entry and a simple roff
document to cite that entry.
$ cat > my-db-file
%A Daniel P.\& Friedman
%A Matthias Felleisen
%C Cambridge, Massachusetts
%D 1996
%I The MIT Press
%T The Little Schemer, Fourth Edition
$ refer -p my-db-file
Read the book
.[
friedman
.]
on your summer vacation.
<Control+D>
.lf 1 -
Read the book\*([.1\*(.]
.ds [F 1
.]-
.ds [A Daniel P. Friedman and Matthias Felleisen
.ds [C Cambridge, Massachusetts
.ds [D 1996
.ds [I The MIT Press
.ds [T The Little Schemer, Fourth Edition
.nr [T 0
.nr [A 0
.][ 2 book
.lf 5 -
on your summer vacation.
The foregoing shows us that refer (a) produces a label '1'; (b)
brackets that label with interpolations of the '[.
' and '.]
'
strings; (c) calls a macro ']-
'; (d) defines strings and
registers containing the label and bibliographic data for the
reference; (e) calls a macro '][
'; and (f) uses the lf
request to
restore the line numbers of the original input. As discussed in
subsection 'Macro interface' above, it is up to the document or a
macro package to employ and format this information usefully.
Let us see how we might turn groff_ms(7) to this task.
$ REFER=my-db-file groff -R -ms
.LP
Read the book
.[
friedman
.]
on your summer vacation.
Commentary is available.\*{*\*}
.FS \*{*\*}
Space reserved for penetrating insight.
.FE
ms's automatic footnote numbering mechanism is not aware of
refer's label numbering, so we have manually specified a
(superscripted) symbolic footnote for our non-bibliographic
aside.