Article View: net.text
Article #566Re: -me macros with refer(1)
From: Stephen J. Muir
Date: Wed, 10 Jul 1985 21:48
Date: Wed, 10 Jul 1985 21:48
257 lines
6542 bytes
6542 bytes
In article <287@dcl-cs.UUCP> stephen@dcl-cs.UUCP (Stephen J. Muir) writes:
>Actually, there is nothing wrong with the -me macros - the fault is in
>refer(1). We have fixed ours to work properly. Also, you need to delete the
>"(f" and ")f" macros if you want the bibliography at the end - just say
>".rm (f" and ".rm )f" immediately before the "$LIST$" line. If there is
>sufficient demand, I might be persuaded to post my pathes to refer(1).
As there HAS been a demand - here they are.
----------------------------------- cut here ----------------------------------
*** refer..c.old Wed Jul 10 20:29:02 1985
--- refer..c Wed Jul 10 20:28:52 1985
***************
*** 5,10
#include <assert.h>
#define FLAG 003
#define NRFTXT 10000
#define NRFTBL 500
#define NTFILE 20
--- 5,11 -----
#include <assert.h>
#define FLAG 003
+ # define FFLAG 004
#define NRFTXT 10000
#define NRFTBL 500
#define NTFILE 20
*** refer1.c.old Wed Jul 10 20:30:15 1985
--- refer1.c Wed Jul 10 20:29:55 1985
***************
*** 90,96
}
sep = 002; /* separate records without confusing sort..*/
}
! if (sort && !labels) {
sprintf(ofile, "/tmp/rj%db", getpid());
ftemp = fopen(ofile, "w");
if (ftemp == NULL) {
--- 90,96 -----
}
sep = 002; /* separate records without confusing sort..*/
}
! if (sort) {
sprintf(ofile, "/tmp/rj%db", getpid());
ftemp = fopen(ofile, "w");
if (ftemp == NULL) {
***************
*** 126,132
if (endpush && fo != NULL)
dumpold();
output("");
! if (sort && !labels)
recopy(ofile);
clfgrep();
cleanup();
--- 126,132 -----
if (endpush && fo != NULL)
dumpold();
output("");
! if (sort)
recopy(ofile);
clfgrep();
cleanup();
*** refer2.c.old Wed Jul 10 20:31:11 1985
--- refer2.c Wed Jul 10 20:30:50 1985
***************
*** 112,118
nf = tabs(flds, one);
nf += tabs(flds+nf, dbuff);
assert(nf < NFLD);
! putsig(nf,flds,nr,line1,line);
}
return;
}
--- 112,118 -----
nf = tabs(flds, one);
nf += tabs(flds+nf, dbuff);
assert(nf < NFLD);
! putsig(nf,flds,nr,line1,line,0);
}
return;
}
***************
*** 129,135
if (sort)
putkey(nf, flds, refnum, keystr);
if (bare < 2)
! putsig(nf, flds, refnum, line1, line);
else
flout();
putref(nf, flds);
--- 129,135 -----
if (sort)
putkey(nf, flds, refnum, keystr);
if (bare < 2)
! putsig(nf, flds, refnum, line1, line, 1);
else
flout();
putref(nf, flds);
*** refer5.c.old Wed Jul 10 20:36:29 1985
--- refer5.c Wed Jul 10 20:35:50 1985
***************
*** 9,15
static char sig[NLABC];
static char bflab[NFLAB];
! static char *labtab[NLABC];
static char *lbp = bflab;
static char labc[NLABC];
static char stbuff[50];
--- 9,15 -----
static char sig[NLABC];
static char bflab[NFLAB];
! char *labtab[NLABC];
static char *lbp = bflab;
char labc[NLABC];
static char stbuff[50];
***************
*** 11,17
static char bflab[NFLAB];
static char *labtab[NLABC];
static char *lbp = bflab;
! static char labc[NLABC];
static char stbuff[50];
static int prevsig;
--- 11,17 -----
static char bflab[NFLAB];
char *labtab[NLABC];
static char *lbp = bflab;
! char labc[NLABC];
static char stbuff[50];
static int prevsig;
***************
*** 15,21
static char stbuff[50];
static int prevsig;
! putsig (nf, flds, nref, nstline, endline) /* choose signal style */
char *flds[], *nstline, *endline;
{
char t[100], t1[100], t2[100], format[10], *sd, *stline;
--- 15,21 -----
static char stbuff[50];
static int prevsig;
! putsig (nf, flds, nref, nstline, endline, new) /* choose signal style */
char *flds[], *nstline, *endline;
{
char t[100], t1[100], t2[100], format[10], *sd, *stline;
***************
*** 143,151
}
}
}
! if (bare < 2)
! if (nf > 0)
! fprintf(fo,".ds [F %s%c",t,sep);
if (bare > 0)
flout();
#if EBUG
--- 143,150 -----
}
}
}
! if (new && bare < 2 && nf > 0)
! fprintf(fo,".ds [F %s%c",t,sep);
if (bare > 0)
flout();
#if EBUG
***************
*** 238,244
char *t;
{
int i;
! int x = -1;
for(i = 1; i < nref; i++) {
if (strcmp(labtab[i], t) == 0)
--- 237,243 -----
char *t;
{
int i;
! int x = 'a' - 1;
for(i = 1; i < nref; i++) {
if (strcmp(labtab[i], t) == 0)
*** refer7.c.old Wed Jul 10 20:37:16 1985
--- refer7.c Wed Jul 10 20:37:00 1985
***************
*** 3,8
#endif
#include "refer..c"
int newr[250];
--- 3,10 -----
#endif
#include "refer..c"
+ extern char *labtab [];
+ extern char labc [];
int newr[250];
***************
*** 96,101
*s = 0;
printf("%d", newr[atoi(tb)]);
continue;
}
putchar(c);
}
--- 98,120 -----
*s = 0;
printf("%d", newr[atoi(tb)]);
continue;
+ }
+ if (c == FFLAG)
+ { char tb [100];
+ char *s = tb;
+ while ((c = getc (ftemp)) != FFLAG)
+ *s++ = c;
+ if (*--s == 'a')
+ { *s = 0;
+ for (c = 1; c <= refnum; ++c)
+ if (labc [c] != 'a' && strcmp (labtab [c], tb) == 0)
+ { *s = 'a';
+ break; /* optimisation */
+ }
+ }
+ *++s = 0;
+ printf ("%s", tb);
+ continue;
}
putchar(c);
}
--
UUCP: ...!seismo!mcvax!ukc!dcl-cs!stephen
DARPA: stephen%lancs.comp@ucl-cs | Post: University of Lancaster,
JANET: stephen@uk.ac.lancs.comp | Department of Computing,
Phone: +44 524 65201 Ext. 4599 | Bailrigg, Lancaster, UK.
Project:Alvey ECLIPSE Distribution | LA1 4YR
Technical Details
Message-ID:
<293@dcl-cs.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!mcvax!ukc!icdoc!dcl-cs!stephenReferences:
<5957@duke.UUCP> <287@dcl-cs.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84 +2.11; site dcl-cs.UUCP Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!mcvax!ukc!icdoc!dcl-cs!stephen From: stephen@dcl-cs.UUCP (Stephen J. Muir) Newsgroups: net.text Subject: Re: -me macros with refer(1) Message-ID: <293@dcl-cs.UUCP> Date: Wed, 10-Jul-85 17:48:16 EDT Article-I.D.: dcl-cs.293 Posted: Wed Jul 10 17:48:16 1985 Date-Received: Sat, 13-Jul-85 10:19:11 EDT References: <5957@duke.UUCP> <287@dcl-cs.UUCP> Reply-To: stephen@dcl-cs.UUCP (Stephen J. Muir) Organization: Department of Computing at Lancaster University. Lines: 257 Xpath: icdoc ivax