papowell@umn-cs.UUCP (02/28/87)
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
# refer.src
# refer.text
# tmac.ref.7.tex
# tmac.refCACM
# tmac.refDEF
# This archive created: Sat Feb 28 08:55:28 1987
export PATH; PATH=/bin:/usr/bin:$PATH
if test -f 'refer.src'
then
echo shar: "will not over-write existing file 'refer.src'"
else
cat << \SHAR_EOF > 'refer.src'
.\" Documentation for Refer macros (October 28, 1982)
.\" R. Goebel
.\" Department of Computer Science
.\" University of Waterloo
.\" Waterloo, Ontario
.\" Canada N2L 3G1 (519) 885-1211 x3512
.\" UUCP: watmath!rggoebel
.\" ------------------------------------------------
.\"
.\" To produce hard copies:
.\"
.\" cd /u/rggoebel/pub/doc
.\" versatec: make vpr INPUT=refer
.\" imagen: make dipr INPUT=refer
.\" printer: make hpr INPUT=refer
.\" ________________________________________________
.\"
.ds nt \fInroff\fR(1)/\fItroff\fR(1)
.ds rf \fIrefer\fR(1)
.RP
.TL
Reference Formatting Macros
.AU
Randy Goebel
.AI
Computer Science Department
University of Waterloo
Waterloo, Ontario
Canada N2L 3G1
.AB
This brief document describes the use of a set of \*(nt macros
for formatting bibliographic entries maintained with the inverted index
utilities described by Lesk.
.[
Lesk 1979
.]
The macros extend the set of ``%'' keys used by Lesk's suite of
programs to provide for a bit more flexibility
in defining and formatting various kinds of bibliographic citations.
It is important to realize that extending the ``%'' key fields for each
bibliographic entry is, in part, a response to the many bugs of the \*(rf
software.
The macros are written to be independent of any existing macro package
(e.g., MS or ME), and can be used alone or together with other macro
packages.
.AE
.SH
Introduction
.PP
The UNIX suite of programs for maintaining and using bibliographic
data is extremely useful,
.[
Lesk 1979
.]
but suffers from at least two difficulties:
1) the \*(rf program attempts to make inferences about what
kind of bibliographic entry is being cited (e.g., book article,
proceedings article, etc.) but its inferences are frequently wrong.
Its inferences are communicated as integer arguments
to the formatting macros and can thus be ignored.
The macros described herein provide an alternative when
those inferences are ignored;
2) the \*(rf program fails to communicate more detailed bibliographic
data to the standard formatting macros,
e.g., multiple editors should be flagged as ``(eds.)'' not ``(ed.)''.
The macros herein were designed to overcome several such difficulties.
.PP
Many of \*(rf's difficulties result from a lack of communication
between the bibliographic data base entry and the formatting macros.
Rather than rewrite \*(rf, the approach taken here is to provide
extra information in each bibliographic entry by extra ``%'' key fields,
and then have the macro definitions use those fields to produce a more
``accurate'' formatting of the citation.
.SH
Document formats
.PP
Instead of relying on \*(rf
to make the correct inference about the kind of document cited, these macros
.B require
that a ``%l'' entry be associated with each bibliographic data base
entry. The value of the ``%l'' field fixes the document type once and for all,
and is used to determine the final format of any citation of that document.
.PP
Current document types supported are:
.DS
book
journal-article
proceedings-article
book-article
edited-book
edited-proceedings
technical-report
manuscript
dissertation
edited-journal
.DE
.PP
The formatting macros use the ``%l'' field to determine how
a reference is to be formatted.
If the ``%l'' field is missing or is not one of the
document types named above, the macros will use a default format.
Consider the following example bibliographic entry:
.DS
%A F. Foo
%A B. Bar
%D 1982
%e 2
%J Artificial Insemination
%T Special issue on bull-breeding
%V 11
%N 4
%l edited-journal
.DE
The above document is formatted as follows:
.LP
.in +5
.na
.ds [F Foo82a
.]-
.ds [A Foo, F.
.as [A " and Bar, B.
.ds [D 1982
.ds [e 2
.ds [J Artificial Insemination
.ds [T Special issue on bull-breeding
.ds [V 11
.ds [N 4
.ds [l edited-journal
.nr [T 0
.nr [A 1
.nr [O 0
.][ 1
.in -5
.ad
.LP
If the ``%e'' field is included and is not null, then the formatting
macros will produce ``F. Foo and B. Bar (1982, eds.)'' instead of
``F. Foo and B. Bar (1982, ed.)''
As with all bibliographic entries, the order of fields is
not important.
.SH
Document formatting details
.PP
The University of Chicago Manual of Style was used as a basic guideline
for the preparation of these macros.
.[
Chicago 1969 A manual of style
.]
Among other things, this means that \*(rf's in-text citation style using
footnotes is
.B not
used; as indicated by the Chicago Manual of Style, citations
in the Natural Sciences normally use the (<author><year>) style of in-text
citation.
The footnote style can be provided by changing the string definitions
for the in-text citation brackets (see below), but the reference listing
will be produced in the same way.
.PP
The use of each field for each document type is given below.
An asterisk beside a field name indicates a required field.
Note that very few fields are required; the macro for each
format will do its best to provide reasonable output with the
information provided.
.LP
.DS L
.B book
.sp
%A <author(s)>*
%D <year>*
%T <title>*
%V <volume> (appears as ``vol. <volume>'')
%S <series> (include series number if it exists)
%n <edition> (appears as ``edition <edition>'')
%I <publisher>*
%C <city of publication>
%O <optional> (appears within square brackets ``[<optional>]'')
%l book*
.DE
.LP
.DS L
.B journal-article
.sp
%A <author(s)>*
%D <year>*
%T <title>*
%J <journal>*
%V <volume>
%N <number>
%M <month>
%I <publisher>
%C <city of publication>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears within square brackets ``[<optional>]'')
%l journal-article*
.DE
.LP
.DS L
.B proceedings-article
.sp
%A <author(s)>*
%D <year>*
%T <title>*
%J <proceedings title>*
%V <volume>
%M <month>
%I <institution> (e.g., name of university, corporation, etc.)
%C <city of conference>
%E <editor(s)> (multiple editors must be given in one field)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%O <optional> (appears within square brackets ``[<optional>]'')
%l proceedings-article*
.DE
.LP
.DS L
.B book-article
.sp
%A <author(s)>*
%D <year>*
%T <title>*
%B <book title>*
%n <edition> (appears as ``edition <edition>'')
%V <volume> (appears as ``vol. <volume>'')
%S <series> (include series number if it exists)
%E <editor(s)> (multiple editors must be given in one field)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%I <publisher>*
%C <city of publication>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears within square brackets ``[<optional>]'')
%l book-article*
.DE
.LP
.DS L
.B edited-book
.sp
%A <editor(s)>* (note that multiple entries can appear here)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%D <year>*
%T <title>*
%n <edition> (appears as ``edition <edition>'')
%V <volume> (appears as ``vol. <volume>'')
%S <series> (include series number if it exists)
%I <publisher>*
%C <city of publication>
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l edited-book*
.DE
.LP
.DS L
.B edited-proceedings
.sp
%A <editor(s)>* (note that multiple entries can appear here)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%D <year>*
%J <proceedings title>*
%V <volume>
%M <month>
%I <institution> (e.g., name of university, corporation, etc.)
%C <city of conference>
%O <optional> (appears within square brackets ``[<optional>]'')
%l edited-proceedings*
.DE
.LP
.DS L
.B technical-report
.sp
%A <author(s)>*
%D <year>*
%T <title>*
%R <report number>
%S <subdivision> (e.g., Computer Science Department, Systems Lab, etc.)
%I <institution> (e.g., name of university, corporation, etc.)
%C <city>
%M <month>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l technical-report*
.DE
.LP
.DS L
.B manuscript
.sp
%A <author(s)>*
%D <year>*
%T <title>*
%S <subdivision> (e.g., Computer Science Department, Systems Lab, etc.)
%I <institution> (e.g., name of university, corporation, etc.)
%C <city>
%M <month>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l manuscript*
.DE
.LP
.DS L
.B dissertation
.sp
%A <author>*
%D <year>*
%T <title>*
%Q <level> (e.g., Ph.D., M.Math., D.Sc., etc.)
%S <subdivision> (e.g., Computer Science Department, Systems Lab, etc.)
%I <institution> (e.g., name of university, corporation, etc.)
%C <city>
%M <month>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l dissertation*
.DE
.LP
.DS L
.B edited-journal
.sp
%A <editor(s)>* (note that multiple entries can appear here)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%D <year>*
%T <title>* (e.g., special issue title)
%J <journal>*
%V <volume>
%N <number>
%M <month>
%I <publisher>
%C <city of publication>
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l edited-journal*
.DE
.SH
User options
.PP
As with the standard set of \*(rf macros, the user can redefine a few
macros and strings to customize his in-text citation format and
reference listing.
The following macro definition is used at the beginning of each reference
in the reference list:
.LP
.DS
\\.de rF
\\.ne 4
\\.ti -5
[\\\\\\\\*([F]
\\.br
\\..
.DE
.LP
The ``rF'' macro works in conjunction with the following two macros, called
at the beginning and end (respectively) of the collected list of references:
.LP
.DS
\\.de ]<
\\.ft R
\\.ls 1
\\.in 5
\\.sp 2
\\.na
\\..
\\.de ]>
\\.ft P
\\.ad
\\.in 0
\\.sp 2
\\..
.DE
.LP
In the reference list, the indenting of each reference can be
changed by replacing the definitions of the above macros.
.PP
The \*(rf software constructs an \*(nt string ``[F'' to be used as
the in-text citation for each document cited.
The contents of this string is controlled by \*(rf command line
parameters,
.[
Lesk 1979
.]
and can be adjusted by the user.
The in-text citation brackets are defined as
.LP
.DS
\\.ds [. " [
\\.ds .] ]
.DE
The first definition is expanded before the in-text citation is formatted,
and the latter definition is expanded just after.
Thus, the default in-text citation is a blank, a left square bracket,
the string value of ``[F'' followed by a right square bracket.
These bracketing strings can be redefined by the user,
e.g., to produce in-text citations as footnotes.
.PP
The following string definitions control the positioning
of punctuation:
.LP
.DS
\\.ds >. .
\\.ds <. \&
\\.ds >, ,
\\.ds <, \&
\\.ds >; ;
\\.ds <; \&
\\.ds >: :
\\.ds <: \&
.DE
The above definitions will position all punctuation after the in-text
citation.
.SH
References
.LP
.[
$LIST$
.]
_____________________
.TH TMAC.REF 7 "Waterloo"
.\" Programmer's Manual entry for Refer macros (September 17, 1983)
.\" R. Goebel
.\" Department of Computer Science
.\" University of Waterloo
.\" Waterloo, Ontario
.\" Canada N2L 3G1 (519) 885-1211 x3512
.\" UUCP: watmath!rggoebel
.\" ------------------------------------------------
.\"
.\" To produce hard copies (at UWaterloo):
.\"
.\" versatec: vtroff -man /u/rggoebel/pub/doc/tmac.ref.7
.\" imagen: ditroff -man /u/rggoebel/pub/doc/tmac.ref.7 | dcan
.\" printer: nroff -man -Tlpr /u/rggoebel/pub/doc/tmac.ref.7
.\" ________________________________________________
.\"
.ds nt \fInroff\fR(1)/\fItroff\fR(1)
.ds rf \fIrefer\fR(1)
.SH NAME
.B tmac.ref
\- a family of macros for formatting \fIrefer\fR(1) output.
.SH SYNOPSIS
Include the \*(nt command
.br
.B " .so /u/rggoebel/pub/src/tmac.ref\c"
<style>
.br
in <sourcefile> and use the commands
.br
.B " refer"
[options]\ <sourcefile>
.B "| nroff"
[options]\ ...
.br
.B " refer"
[options]\ <sourcefile>
.B "| troff"
[options]\ ...
.SH DESCRIPTION
.PP
This package of \*(nt macro definitions will format the reference
citation strings produced by the \*(nt preprocessor \*(rf.
The macros are compatible with the
.IR ms (7)
and
.IR me (7)
macro packages.
The currently available options for <style> are:
.TP
DEF
.B ".so /u/rggoebel/pub/src/tmac.refDEF"
.br
to format each reference in the default style.
.TP
CACM
.B ".so /u/rggoebel/pub/src/tmac.refCACM"
.br
with the \*(rf command line options
.B "-a -s"
for ACM Communications format.
.SH FILES
/u/rggoebel/pub/src/tmac.refDEF
.br
/u/rggoebel/pub/src/tmac.refCACM
.SH "SEE ALSO"
.nf
/u/rggoebel/pub/doc/refer.text documentation for alternative macros
/u/rggoebel/pub/doc/addbib.1.text update bibliographic databases
/u/rggoebel/pub/doc/indxbib.1.text create inverted indices
/u/rggoebel/pub/doc/sortbib.1.text sort bibiographic databases
/u/rggoebel/pub/doc/roffbib.1.text print bibilographic databases
.fi
.SH DIAGNOSTICS
Each <style> will remind the user of any required \*(rf command line
options.
.SH AUTHOR
Randy Goebel, Department of Computer Science, University of Waterloo,
Waterloo, Ontario, Canada, N2L 3G1, (519) 885-1211 (x3512),
UUCP: watmath!rggoebel.
------------------
Notice that the latter uses -man, and the former users -ms
Randy
SHAR_EOF
fi
if test -f 'refer.text'
then
echo shar: "will not over-write existing file 'refer.text'"
else
cat << \SHAR_EOF > 'refer.text'
Reference Formatting Macros
Randy Goebel
Computer Science Department
University of Waterloo
Waterloo, Ontario
Canada N2L 3G1
_A_B_S_T_R_A_C_T
This brief document describes the use of a set of
_n_r_o_f_f(1)/_t_r_o_f_f(1) macros for formatting bibliographic
entries maintained with the inverted index utilities
described by Lesk [Lesk79a]. The macros extend the set
of ``%'' keys used by Lesk's suite of programs to pro-
vide for a bit more flexibility in defining and format-
ting various kinds of bibliographic citations. It is
important to realize that extending the ``%'' key
fields for each bibliographic entry is, in part, a
response to the many bugs of the _r_e_f_e_r(1) software.
The macros are written to be independent of any exist-
ing macro package (e.g., MS or ME), and can be used
alone or together with other macro packages.
September 20, 1983
Reference Formatting Macros
Randy Goebel
Computer Science Department
University of Waterloo
Waterloo, Ontario
Canada N2L 3G1
_I_n_t_r_o_d_u_c_t_i_o_n
The UNIX suite of programs for maintaining and using biblio-
graphic data is extremely useful [Lesk79a], but suffers from at
least two difficulties: 1) the _r_e_f_e_r(1) program attempts to make
inferences about what kind of bibliographic entry is being cited
(e.g., book article, proceedings article, etc.) but its infer-
ences are frequently wrong. Its inferences are communicated as
integer arguments to the formatting macros and can thus be
ignored. The macros described herein provide an alternative when
those inferences are ignored; 2) the _r_e_f_e_r(1) program fails to
communicate more detailed bibliographic data to the standard for-
matting macros, e.g., multiple editors should be flagged as
``(eds.)'' not ``(ed.)''. The macros herein were designed to
overcome several such difficulties.
Many of _r_e_f_e_r(1)'s difficulties result from a lack of com-
munication between the bibliographic data base entry and the for-
matting macros. Rather than rewrite _r_e_f_e_r(1), the approach taken
here is to provide extra information in each bibliographic entry
by extra ``%'' key fields, and then have the macro definitions
use those fields to produce a more ``accurate'' formatting of the
citation.
_D_o_c_u_m_e_n_t _f_o_r_m_a_t_s
Instead of relying on _r_e_f_e_r(1) to make the correct inference
about the kind of document cited, these macros _r_e_q_u_i_r_e that a
``%l'' entry be associated with each bibliographic data base
entry. The value of the ``%l'' field fixes the document type once
and for all, and is used to determine the final format of any
citation of that document.
Current document types supported are:
September 20, 1983
- 2 -
book
journal-article
proceedings-article
book-article
edited-book
edited-proceedings
technical-report
manuscript
dissertation
edited-journal
The formatting macros use the ``%l'' field to determine how
a reference is to be formatted. If the ``%l'' field is missing
or is not one of the document types named above, the macros will
use a default format. Consider the following example biblio-
graphic entry:
%A F. Foo
%A B. Bar
%D 1982
%e 2
%J Artificial Insemination
%T Special issue on bull-breeding
%V 11
%N 4
%l edited-journal
The above document is formatted as follows:
[Foo82a]
Foo, F. and Bar, B. (1982, eds.), Special issue on bull-
breeding, _A_r_t_i_f_i_c_i_a_l _I_n_s_e_m_i_n_a_t_i_o_n 11(4).
If the ``%e'' field is included and is not null, then the format-
ting macros will produce ``F. Foo and B. Bar (1982, eds.)''
instead of ``F. Foo and B. Bar (1982, ed.)'' As with all biblio-
graphic entries, the order of fields is not important.
_D_o_c_u_m_e_n_t _f_o_r_m_a_t_t_i_n_g _d_e_t_a_i_l_s
The University of Chicago Manual of Style was used as a
basic guideline for the preparation of these macros [Chicago69a].
Among other things, this means that _r_e_f_e_r(1)'s in-text citation
style using footnotes is _n_o_t used; as indicated by the Chicago
Manual of Style, citations in the Natural Sciences normally use
the (<author><year>) style of in-text citation. The footnote
style can be provided by changing the string definitions for the
in-text citation brackets (see below), but the reference listing
will be produced in the same way.
The use of each field for each document type is given below.
An asterisk beside a field name indicates a required field. Note
that very few fields are required; the macro for each format will
September 20, 1983
- 3 -
do its best to provide reasonable output with the information
provided.
_b_o_o_k
%A <author(s)>*
%D <year>*
%T <title>*
%V <volume> (appears as ``vol. <volume>'')
%S <series> (include series number if it exists)
%n <edition> (appears as ``edition <edition>'')
%I <publisher>*
%C <city of publication>
%O <optional> (appears within square brackets ``[<optional>]'')
%l book*
_j_o_u_r_n_a_l-_a_r_t_i_c_l_e
%A <author(s)>*
%D <year>*
%T <title>*
%J <journal>*
%V <volume>
%N <number>
%M <month>
%I <publisher>
%C <city of publication>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears within square brackets ``[<optional>]'')
%l journal-article*
_p_r_o_c_e_e_d_i_n_g_s-_a_r_t_i_c_l_e
%A <author(s)>*
%D <year>*
%T <title>*
%J <proceedings title>*
%V <volume>
%M <month>
%I <institution> (e.g., name of university, corporation, etc.)
%C <city of conference>
%E <editor(s)> (multiple editors must be given in one field)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%O <optional> (appears within square brackets ``[<optional>]'')
%l proceedings-article*
September 20, 1983
- 4 -
_b_o_o_k-_a_r_t_i_c_l_e
%A <author(s)>*
%D <year>*
%T <title>*
%B <book title>*
%n <edition> (appears as ``edition <edition>'')
%V <volume> (appears as ``vol. <volume>'')
%S <series> (include series number if it exists)
%E <editor(s)> (multiple editors must be given in one field)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%I <publisher>*
%C <city of publication>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears within square brackets ``[<optional>]'')
%l book-article*
_e_d_i_t_e_d-_b_o_o_k
%A <editor(s)>* (note that multiple entries can appear here)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%D <year>*
%T <title>*
%n <edition> (appears as ``edition <edition>'')
%V <volume> (appears as ``vol. <volume>'')
%S <series> (include series number if it exists)
%I <publisher>*
%C <city of publication>
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l edited-book*
_e_d_i_t_e_d-_p_r_o_c_e_e_d_i_n_g_s
%A <editor(s)>* (note that multiple entries can appear here)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%D <year>*
%J <proceedings title>*
%V <volume>
%M <month>
%I <institution> (e.g., name of university, corporation, etc.)
%C <city of conference>
%O <optional> (appears within square brackets ``[<optional>]'')
%l edited-proceedings*
September 20, 1983
- 5 -
_t_e_c_h_n_i_c_a_l-_r_e_p_o_r_t
%A <author(s)>*
%D <year>*
%T <title>*
%R <report number>
%S <subdivision> (e.g., Computer Science Department, Systems Lab, etc.)
%I <institution> (e.g., name of university, corporation, etc.)
%C <city>
%M <month>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l technical-report*
_m_a_n_u_s_c_r_i_p_t
%A <author(s)>*
%D <year>*
%T <title>*
%S <subdivision> (e.g., Computer Science Department, Systems Lab, etc.)
%I <institution> (e.g., name of university, corporation, etc.)
%C <city>
%M <month>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l manuscript*
_d_i_s_s_e_r_t_a_t_i_o_n
%A <author>*
%D <year>*
%T <title>*
%Q <level> (e.g., Ph.D., M.Math., D.Sc., etc.)
%S <subdivision> (e.g., Computer Science Department, Systems Lab, etc.)
%I <institution> (e.g., name of university, corporation, etc.)
%C <city>
%M <month>
%P <pages> (i.e., range, e.g., 23-35, or count, e.g., 45 pages)
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l dissertation*
September 20, 1983
- 6 -
_e_d_i_t_e_d-_j_o_u_r_n_a_l
%A <editor(s)>* (note that multiple entries can appear here)
%e <editor(s) flag> (non-null flag produces ``(eds.)'' otherwise ``(ed.)'')
%D <year>*
%T <title>* (e.g., special issue title)
%J <journal>*
%V <volume>
%N <number>
%M <month>
%I <publisher>
%C <city of publication>
%O <optional> (appears enclosed within square brackets ``[<optional>]'')
%l edited-journal*
_U_s_e_r _o_p_t_i_o_n_s
As with the standard set of _r_e_f_e_r(1) macros, the user can
redefine a few macros and strings to customize his in-text cita-
tion format and reference listing. The following macro defini-
tion is used at the beginning of each reference in the reference
list:
.de rF
.ne 4
.ti -5
[\\*([F]
.br
..
The ``rF'' macro works in conjunction with the following two mac-
ros, called at the beginning and end (respectively) of the col-
lected list of references:
.de ]<
.ft R
.ls 1
.in 5
.sp 2
.na
..
.de ]>
.ft P
.ad
.in 0
.sp 2
..
September 20, 1983
- 7 -
In the reference list, the indenting of each reference can be
changed by replacing the definitions of the above macros.
The _r_e_f_e_r(1) software constructs an _n_r_o_f_f(1)/_t_r_o_f_f(1) string
``[F'' to be used as the in-text citation for each document
cited. The contents of this string is controlled by _r_e_f_e_r(1) com-
mand line parameters [Lesk79a], and can be adjusted by the user.
The in-text citation brackets are defined as
.ds [. " [
.ds .] ]
The first definition is expanded before the in-text citation is
formatted, and the latter definition is expanded just after.
Thus, the default in-text citation is a blank, a left square
bracket, the string value of ``[F'' followed by a right square
bracket. These bracketing strings can be redefined by the user,
e.g., to produce in-text citations as footnotes.
The following string definitions control the positioning of
punctuation:
.ds >. .
.ds <.
.ds >, ,
.ds <,
.ds >; ;
.ds <;
.ds >: :
.ds <:
The above definitions will position all punctuation after the
in-text citation.
_R_e_f_e_r_e_n_c_e_s
[Chicago69a]
University of Chicago (1969), _A _M_a_n_u_a_l _o_f _S_t_y_l_e, edition 12,
University of Chicago Press, Chicago, Illinois.
[Lesk79a]
M.E. Lesk (1979), Some applications of inverted indexes on
the UNIX system, _U_N_I_X _P_r_o_g_r_a_m_m_e_r_s _M_a_n_u_a_l, edition 7,
vol. 2A, .
September 20, 1983
SHAR_EOF
chmod +x 'refer.text'
fi
if test -f 'tmac.ref.7.tex'
then
echo shar: "will not over-write existing file 'tmac.ref.7.tex'"
else
cat << \SHAR_EOF > 'tmac.ref.7.tex'
TMAC.REF(7) UNIX Programmer's Manual TMAC.REF(7)
NAME
tmac.ref - a family of macros for formatting _r_e_f_e_r(1) out-
put.
SYNOPSIS
Include the _n_r_o_f_f(1)/_t_r_o_f_f(1) command
.so /u/rggoebel/pub/src/tmac.ref<style>
in <sourcefile> and use the commands
refer [options] <sourcefile> | nroff [options] ...
refer [options] <sourcefile> | troff [options] ...
DESCRIPTION
This package of _n_r_o_f_f(1)/_t_r_o_f_f(1) macro definitions will
format the reference citation strings produced by the
_n_r_o_f_f(1)/_t_r_o_f_f(1) preprocessor _r_e_f_e_r(1). The macros are
compatible with the _m_s(7) and _m_e(7) macro packages. The
currently available options for <style> are:
DEF .so /u/rggoebel/pub/src/tmac.refDEF
to format each reference in the default style.
CACM .so /u/rggoebel/pub/src/tmac.refCACM
with the _r_e_f_e_r(1) command line options -a -s for ACM
Communications format.
FILES
/u/rggoebel/pub/src/tmac.refDEF
/u/rggoebel/pub/src/tmac.refCACM
SEE ALSO
/u/rggoebel/pub/doc/refer.text documentation for alternative macros
/u/rggoebel/pub/doc/addbib.1.text update bibliographic databases
/u/rggoebel/pub/doc/indxbib.1.text create inverted indices
/u/rggoebel/pub/doc/sortbib.1.text sort bibiographic databases
/u/rggoebel/pub/doc/roffbib.1.text print bibilographic databases
DIAGNOSTICS
Each <style> will remind the user of any required _r_e_f_e_r(1)
command line options.
AUTHOR
Randy Goebel, Department of Computer Science, University of
Waterloo, Waterloo, Ontario, Canada, N2L 3G1, (519) 885-1211
(x3512), UUCP: watmath!rggoebel.
Printed 9/18/83 Waterloo 1
SHAR_EOF
chmod +x 'tmac.ref.7.tex'
fi
if test -f 'tmac.refCACM'
then
echo shar: "will not over-write existing file 'tmac.refCACM'"
else
cat << \SHAR_EOF > 'tmac.refCACM'
.\" Refer Macros, ACM Communications format
.\" R. Goebel, September 20, 1983
.\" Test version: report bugs to rggoebel
.\" Documentation: /u/rggoebel/pub/doc/refer.text
.\" /u/rggoebel/pub/doc/tmac.ref.7.text
.\" ________________________________________________
.\"
.\" Inform user about required Refer options
.\"
.tm CACM format: requires Refer options "-a -s"
.\"
.\" reference format selection macro
.\" notice last entry is default format
.de ][
.ie \\*([lbook .[0
.el .ie \\*([ljournal-article .[1
.el .ie \\*([lproceedings-article .[2
.el .ie \\*([lbook-article .[3
.el .ie \\*([ledited-book .[4
.el .ie \\*([ledited-proceedings .[5
.el .ie \\*([ltechnical-report .[6
.el .ie \\*([lmanuscript .[7
.el .ie \\*([ldissertation .[8
.el .ie \\*([ledited-journal .[9
.el .[d
..
.\" placement of in text citation
.de rF
.ne 4
\f3\\*([F\f1.
.
.\" punctuation definition
.ds >. .
.ds <. \&
.ds >, ,
.ds <, \&
.ds >; ;
.ds <; \&
.ds >: :
.ds <: \&
.\" in-text citation brackets
.ds [. [
.ds .] ]
.\" reference list initialization macro
.de ]<
.ft R
.ls 1
.na
.sp
..
.\" reference list termination macro
.de ]>
.ft P
.ad
..
.\" string definition reset macro
.de ]-
.rm [V [P [A [T [N [C [B [O [R [I [E [D [L [J [S [M [l [e [n [c
..
.de [0 \" book format
.rF
\\*([A\&
\\f2\\*([T\\f1\c
.if !\\*([n , \\f2edition \\*([n\\f1\c
.if !\\*([S , \\f2\\*([S\\f1\c
.if !\\*([V , \\f2vol.\ \\*([V\\f1\c
, \\*([I\c
.if !\\*([C , \\*([C\c
, \\*([D\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [1 \" journal-article format
.rF
\\*([A\&
\\*([T,
\\f2\\*([J\\f1
.if !\\*([V \\f2\\*([V\\f1\c
.if !\\*([N , \\*([N
.ie !\\*([M , (\\*([M \\*([D),
.el (\\*([D),
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [2 \" proceedings-article format
.rF
\\*([A\&
\\*([T,
\\f2\\*([J\\f1\c
.if !\\*([V \& \\f2\\*([V\\f1\c
.if !\\*([M , \\*([M\c
, \\*([D\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([E \{\
, \\*([E
.ie !\\*([e (eds.)\c
.el (ed.)\c
.\}
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [3 \" book-article format
.rF
\\*([A\&
\\*([T,
\\f2\\*([B\\f1\c
.if !\\*([n , \\f2edition \\*([n\\f1\c
.if !\\*([S , \\f2\\*([S\\f1\c
.if !\\*([V , \\f2vol.\ \\*([V\\f1\c
.if !\\*([E \{\
, \\*([E
.ie !\\*([e (eds.)\c
.el (ed.)\c\}
, \\*([I\c
.if !\\*([C , \\*([C\c
, \\*([D
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [4 \" edited-book format
.rF
\\*([A\&
.ie \\*([e (ed.).\&
.el (eds.).\&
\\f2\\*([T\\f1\c
.if !\\*([n , \\f2edition \\*([n\\f1\c
.if !\\*([S , \\f2\\*([S\\f1\c
.if !\\*([V , \\f2vol.\ \\*([V\\f1\c
, \\*([I\c
.if !\\*([C , \\*([C\c
, \\*([D\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [5 \" edited-proceedings format
.rF
\\*([A\&
.ie \\*([e (ed.).\&
.el (eds.).\&
\\f2\\*([J\\f1\c
.if !\\*([V \& \\f2\\*([V\\f1\c
.if !\\*([M , \\*([M\c
, \\*([D\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [6 \" technical-report format
.rF
\\*([A\&
\\*([T\c
.if !\\*([R , \\*([R\c
.if !\\*([S , \\*([S\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([M , \\*([M\c
, \\*([D\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [7 \" manuscript format
.rF
\\*([A\&
\\*([T\c
.if !\\*([S , \\*([S\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([M , \\*([M\c
, \\*([D\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [8 \" dissertation format
.rF
\\*([A\&
\\*([T\c
.if !\\*([Q , \\*([Q dissertation\c
.if !\\*([S , \\*([S\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([M , \\*([M\c
, \\*([D\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [9 \" edited-journal
.rF
\\*([A\&
.ie \\*([e (ed.).
.el (eds.).
\\*([T,
\\f2\\*([J\\f1
.if !\\*([V \\f2\\*([V\\f1\c
.if !\\*([N , \\*([N
.ie !\\*([M , (\\*([M \\*([D),
.el (\\*([D),
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [d \" default format
.rF
\\*([A\&
\\*([T\c
.if !\\*([E \{\
, \\*([E
.ie !\\*([e (eds.)\c
.el (ed.)\c\}
.if !\\*([B , \\f2\\*([B\\f1\c
.if !\\*([S , \\*([S\c
.if !\\*([I , \\*([I\c
.if !\\*([J , \\f2\\*([J\\f1
.if !\\*([V , vol.\ \\*([V\\f1\c
.if !\\*([N , no.\ \\*([N
.if !\\*([M , \\*([M\c
.if !\\*([D , \\*([D\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
SHAR_EOF
chmod +x 'tmac.refCACM'
fi
if test -f 'tmac.refDEF'
then
echo shar: "will not over-write existing file 'tmac.refDEF'"
else
cat << \SHAR_EOF > 'tmac.refDEF'
.\" Refer macros default format
.\" R. Goebel, May 1, 1983
.\" Documentation: /u/rggoebel/pub/doc/refer.text
.\" /u/rggoebel/pub/doc/tmac.ref.7.text
.\" ________________________________________________
.\"
.\" reference format selection macro
.\" notice that last entry is default format
.de ][
.ie \\*([lbook .[0
.el .ie \\*([ljournal-article .[1
.el .ie \\*([lproceedings-article .[2
.el .ie \\*([lbook-article .[3
.el .ie \\*([ledited-book .[4
.el .ie \\*([ledited-proceedings .[5
.el .ie \\*([ltechnical-report .[6
.el .ie \\*([lmanuscript .[7
.el .ie \\*([ldissertation .[8
.el .ie \\*([ledited-journal .[9
.el .[d
..
.\" format in-text citation
.de rF
.ne 4
.ti -5
.if !\\*([F [\\*([F]
.br
..
.\" punctuation definition
.ds >. .
.ds <. \&
.ds >, ,
.ds <, \&
.ds >; ;
.ds <; \&
.ds >: :
.ds <: \&
.\" in-text citation brackets
.ds [. " [
.ds .] ]
.\" reference list initialization macro
.de ]<
.ft R
.ls 1
.in 5
.sp 2
.na
..
.\" reference list termination macro
.de ]>
.ft P
.ad
.in 0
.sp 2
..
.\" string definition reset macro
.de ]-
.rm [V [P [A [T [N [C [B [O [R [I [E [D [L [J [S [M [l [e [n [c
..
.de [0 \" book format
.rF
\\*([A (\\*([D),
\\f2\\*([T\\f1\c
.if !\\*([n , edition \\*([n\c
.if !\\*([S , \\*([S\c
.if !\\*([V , vol.\ \\*([V\c
, \\*([I\c
.if !\\*([C , \\*([C\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [1 \" journal-article format
.rF
\\*([A (\\*([D),
\\*([T,
\\f2\\*([J\\f1\c
.if !\\*([V \& \\f3\\*([V\\f1\c
.if !\\*([N (\\*([N)\c
.if !\\*([M , \\*([M\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [2 \" proceedings-article format
.rF
\\*([A (\\*([D),
\\*([T,
\\f2\\*([J\\f1\c
.if !\\*([V \& \\f3\\*([V\\f1\c
.if !\\*([M , \\*([M\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([E \{\
, \\*([E
.ie !\\*([e (eds.)\c
.el (ed.)\c
.\}
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [3 \" book-article format
.rF
\\*([A (\\*([D),
\\*([T,
\\f2\\*([B\\f1\c
.if !\\*([n , edition \\*([n\c
.if !\\*([S , \\*([S\c
.if !\\*([V , vol.\ \\*([V\c
.if !\\*([E \{\
, \\*([E
.ie !\\*([e (eds.)\c
.el (ed.)\c\}
, \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [4 \" edited-book format
.rF
\\*([A (\\*([D,
.ie \\*([e ed.),
.el eds.),
\\f2\\*([T\\f1\c
.if !\\*([n , edition \\*([n\c
.if !\\*([S , \\*([S\c
.if !\\*([V , vol.\ \\*([V\c
, \\*([I\c
.if !\\*([C , \\*([C\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [5 \" edited-proceedings format
.rF
.ie \\*([e \\*([A (\\*([D, ed.),
.el \\*([A (\\*([D, eds.),
\\f2\\*([J\\f1\c
.if !\\*([V \& \\f3\\*([V\\f1\c
.if !\\*([M , \\*([M\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [6 \" technical-report format
.rF
\\*([A (\\*([D),
\\*([T\c
.if !\\*([R , \\*([R\c
.if !\\*([S , \\*([S\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([M , \\*([M\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [7 \" manuscript format
.rF
\\*([A (\\*([D),
\\*([T\c
.if !\\*([S , \\*([S\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([M , \\*([M\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [8 \" dissertation format
.rF
\\*([A (\\*([D),
\\*([T\c
.if !\\*([Q , \\*([Q dissertation\c
.if !\\*([S , \\*([S\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([M , \\*([M\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [9 \" edited-journal
.rF
\\*([A (\\*([D,
.ie \\*([e ed.),
.el eds.),
\\*([T,
\\f2\\*([J\\f1\c
.if !\\*([V \& \\f3\\*([V\\f1\c
.if !\\*([N (\\*([N)\c
.if !\\*([M , \\*([M\c
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.ie \\*([O \&.
.el \& [\\*([O].
..
.de [d \" default format
.rF
\\*([A (\\*([D),
\\*([T\c
.if !\\*([J , \\f2\\*([J\\f1\c
.if !\\*([B , \\f2\\*([B\\f1\c
.if !\\*([S , \\*([S\c
.if !\\*([V , vol.\ \\*([V\c
.if !\\*([N , no.\ \\*([N\c
.if !\\*([E \{\
, \\*([E
.ie !\\*([e (eds.)\c
.el (ed.)\c\}
.if !\\*([I , \\*([I\c
.if !\\*([C , \\*([C\c
.if !\\*([M , \\*([M\c
.if !\\*([P , \\*([P\c
.ie \\*([O \&.
.el \& [\\*([O].
..
SHAR_EOF
chmod +x 'tmac.refDEF'
fi
exit 0
# End of shell archive
--
Patrick Powell, Dept. Computer Science, 136 Lind Hall, 207 Church St. SE,
University of Minnesota, Minneapolis, MN 55455 (612)625-3543/625-4002