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