> You should run refer directly on your example file and
> examine how it's changed it.

I was about to suggest the same.

Based on this (and just for fun), I quickly hacked together
the attached macros.  They are by no means sufficient for a
real application, but they should give you some idea on how
you might go about if you want to write your own macros
instead of including one of the "refer-m*.tmac" macro files
provided with groff.

By the way, unless the bibliography file is automatically
generated and you have no influence over it, I would suggest
to get this into a consistent format first (for example, with
author first names either all abbreviated or all written out),
so you don't have to do extra processing in the macros (e.g.,
abbreviating names) to achieve consistency in the final output.

Also, on my machine I've had to use a space between the
opening brackets:

  and another to
  .[ [
  Large Imagery
  .]],

otherwise refer would glue the reference to the preceding word.
(For the same reason, the first argument of bracket-label
also has a leading space.)


.\" ----------------------------------------------------------------
.\" start of references
.de ]<
.sp 2
.ft B
References
.ft
.sp 1
.nh
.ad l
..
.\" ----------------------------------------------------------------
.\" end of references
.de ]>
.hy
.ad b
..
.\" ----------------------------------------------------------------
.\" start of bibliography entry
.de ]-
.\" clear all registers in preparation for a new item
.ds [A
.ds [C
.ds [D
.ds [I
.ds [T
.ds [W
..
.\" ----------------------------------------------------------------
.\" end of bibliography entry
.de ][
.in +2n
.ti -2n
.DT \\*([D\" extract year from date
.ref-\\$2
.in -2n
.sp .5
..
.\" ----------------------------------------------------------------
.de DT
.ds [D \\$\\n(.$\" year is assumed to be the last argument
..
.\" ----------------------------------------------------------------
.de ref-article-in-book
\\*([A:
.ft I
\\*([T\c
\&.
.ft
In:
.ft I
\\*([B\c
.ft
.tr -\(en
.if !'\\*([P'', p.\~\\*([P\c
.tr --
\&.
.if !'\\*([I''\\*([I,
\\*([C
(\\*([D)
..
.\" ----------------------------------------------------------------
.de ref-book
\\*([A:
.ft I
\\*([T\c
.ft
\&.
.if !'\\*([I''\\*([I,
\\*([C
(\\*([D)
..
.\" ----------------------------------------------------------------

Reply via email to