[comp.arch] refer macro package

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