Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site uvaee.UUCP
Path: utzoo!linus!decvax!mcnc!ncsu!uvacs!uvaee!tetres
From: tetres@uvaee.UUCP (Thomas E. Tkacik)
Newsgroups: net.text
Subject: Re: -me macros with refer(1)
Message-ID: <363@uvaee.UUCP>
Date: Fri, 12-Jul-85 15:33:00 EDT
Article-I.D.: uvaee.363
Posted: Fri Jul 12 15:33:00 1985
Date-Received: Wed, 17-Jul-85 01:30:51 EDT
References: <5957@duke.UUCP> <287@dcl-cs.UUCP>
Reply-To: tet@uvaee.UUCP (Thomas E. Tkacik)
Organization: EE Dept., U of Virginia, Charlottesville
Lines: 50

In article <287@dcl-cs.UUCP> stephen@dcl-cs.UUCP (Stephen J. Muir) writes:
>In article <5957@duke.UUCP> crm@duke.UUCP (Charlie Martin) writes:
>>Can anyone tell me how to fix the -me refer macros to work nicely with
>>the %LIST% construct (i.e. forcing the bibliography to the end of a 
>>document) or send me modified macros for -me which work?
>Actually, there is nothing wrong with the -me macros - the fault is in
>refer(1).  We have fixed ours to work properly.
I have found that there is indeed a slight error with the -me macros.
And nothing wrong with refer(1).
There is a missing macro definition. When the %LIST% construct is used
refer(1) adds the macro .]< before printing out the references. This
macro is defined in /usr/lib/me/refer.me, and removes the ".(f" and
".)f macros to prevent printing them at the bottom of the page.
However, this macro is not defined in /usr/lib/tmac/tmac.e (the -me macros),
and thus never gets called.  The fix is simple, put in tmac.e
the macro definition,

.de ]<
.rn ]< @]
.so \\*(||/refer.me
.]<
.rm @]
..

This macro is defined in refer.me, and works, but I have a slight
modificaltion to make it format better. Instead of removeing the
".(f" and ".)f" macros, they are redefined to be the
".(b" and ".)b" macros, which keeps the references from being
broken over two pages. The following is how ".]<" is now defined in
our version of refer.me.

.de ]<
.rn (f (@
.rn (b (f
.rn )f )@
.rn )b )f
.\" because the printing macros insert space between each refernce
.\" make the block macro inserts no extra space
.nr bs 0
.lp
..

All that is needed is to put the macro call (the first one shown above)
in the file /usr/lib/tmac/tmac.e, and possibly modify the macro
defined in /usr/lib/me/refer.me (to taste, as in the second example).

			Tom Tkacik
			...!decvax!mcnc!ncsu!uvacs!uvaee!tet

My apologies to those who do not like looking at troff macros.