mp@whuxle.UUCP (Mark Plotnick) (04/24/84)
The 4.2bsd version of refer comes with tools to sort and print out entire bibliographies, as well as a new manual written by Bill Tuthill. I prefer the U. Arizona ``bib'' package, which also comes with 4.2bsd, because it seems easier to reconfigure to suit the reference style you want. Here are some bugs I've found so far in ``bib''. (see also <6620@arizona.UUCP> for another bug) Overall it's a very nice package. invert needs an exit(0) at the end of main so that it behaves well if used in a Makefile. several format files begin with a troff command (a \" comment containing the sccs id; this is the result of being "Berkeleyized") rather than bib format commands, thus, the format commands that do come after this first line are copied into the document instead of being interpreted by bib. bib.opena contains a # line down where the troff commands belong, and it was being copied to the output. The macros to format references turn off hyphenation with .nh, but never turn it back on. I added a ``.hy 14'' in the e[ macro. Ideally, the macros should save/restore hyphenation state, but they probably can't use environments because that would interfere with macro packages. bmac.std has an older version of itself concatenated onto the end, so all the macros are defined twice and the older ones get used! bib.supn has a similar problem. The MM package uses some string registers that begin with ``]''; here are the available string registers beginning with ``]'': ABDGHIJKLMOPQRSTUVWXYijklmopqsu0789 It looks like there aren't any conflicts right now, but be careful about using registers when extending the bib macros. System V portability problems: the global variable tmpfile conflicts with char *tmpfile() in stdio.h index, rindex don't exist under System V. install is totally different on System V; the -c option means "copy the file to the following directory only if the file isn't there already", and the -s option means "suppress error messages". Until people agree on what install should do, I'll use cp. %D doesn't exist any more; using %ld should be portable Finally, here are some changes I made in the macros; if you're sane you'll have typed ``q'' by now. In the bmac.open macros for articles in books, there was a missing comma before the editor field, and a spurious lone ``.'' on the line after the editor field. Also, "other information" field was always preceded by a `` ,'', and this looked funny since the previous field ended with a ``.''. So I moved the O field to its own line, because the open macros did so for other reference types. *** bmac.open.0 --- bmac.open *************** *** 130,138 in \\fI\\*([B\\fP\c .if !~\\*([V~~ , Vol \\*([V\c .if !~\\*([E~~ \{\ ! . ie \\n([E-1 , \\*([E, editors. ! . el \\*([E, editor.\} ! .br \&. .br .if !~\\*([I~~ \\*([I\c --- 130,137 ----- in \\fI\\*([B\\fP\c .if !~\\*([V~~ , Vol \\*([V\c .if !~\\*([E~~ \{\ ! . ie \\n([E-1 , \\*([E, editors\c ! . el , \\*([E, editor\c\} \&. .br .if !~\\*([I~~ \\*([I\c *************** *** 139,145 .if !~\\*([C~~ , \\*([C\c .if !~\\*([D~~ , \\*([D\c \&. ! .if !~\\*([O~~ , \\*([O. .e[ .. .de 4[ \" report --- 138,145 ----- .if !~\\*([C~~ , \\*([C\c .if !~\\*([D~~ , \\*([D\c \&. ! .br ! .if !~\\*([O~~ \\*([O. .e[ .. .de 4[ \" report There's still a minor problem with books that have no authors (but do have editors): the macros always do a .br after the author fields (if any) are put out, so the first line of an entry may be blank. I don't know if this is part of the correct style or not, so I didn't touch it. In bmac.std, the macros dealing with articles in books had an extra blank after the volume number. *** bmac.std.old --- bmac.std *************** *** 101,107 .if !"\\*([A"" \\*([A, .if !"\\*([T"" \\*([T, in \\fI\\*([B\\fP\c ! .if !"\\*([V"" , vol. \\*([V .if !~\\*([E~~ \{\ . ie , \\n([E-1 \\*([E (editors)\c . el , \\*([E (editor)\c\} --- 101,107 ----- .if !"\\*([A"" \\*([A, .if !"\\*([T"" \\*([T, in \\fI\\*([B\\fP\c ! .if !"\\*([V"" , vol. \\*([V\c .if !~\\*([E~~ \{\ . ie \\n([E-1 , \\*([E (editors)\c . el , \\*([E (editor)\c\} *************** *** 103,109 in \\fI\\*([B\\fP\c .if !"\\*([V"" , vol. \\*([V .if !~\\*([E~~ \{\ ! . ie , \\n([E-1 \\*([E (editors)\c . el , \\*([E (editor)\c\} .if !"\\*([I"" , \\*([I\c .if !"\\*([C"" , \\*([C\c --- 103,109 ----- in \\fI\\*([B\\fP\c .if !"\\*([V"" , vol. \\*([V\c .if !~\\*([E~~ \{\ ! . ie \\n([E-1 , \\*([E (editors)\c . el , \\*([E (editor)\c\} .if !"\\*([I"" , \\*([I\c .if !"\\*([C"" , \\*([C\c In the macros for the SP&E style, dealing with conference articles, if there's no city specified you'll get 2 commas in a row. I'm not sure how to solve this, because the conference references I saw in an issue of SP&E here didn't match what the macros would produce, anyway. If you change all the left brackets above to right brackets, you'll probably get a TECO program that prints out Pig Latin. Mark Plotnick