PREFER(1) PREFER(1) NAME prefer, pinvert, penter, plook, pconvert - maintain and use bibliographic references SYNOPSIS prefer [ option ... ] penter [ outfile ] pinvert [ option ... ] [ file ... ] plook [ -p dbfile ] [ keyword ... ] pconvert [ -d ] file DESCRIPTION Prefer is a troff(1) preprocessor for bibliographic refer- ences. It copies a document from the standard input to the standard output, using a bibliographic database to change symbolic references into full references ready for typeset- ting by troff(1). Although symbolic references are in the style of monk(1), prefer does not depend on monk. The options are: -n Format for nroff. -osortkey Under the |reference_list command, sort according to sortkey, any combinations of the letters `a' (author) `d' (date), and `t' (title), rather than in database sequence. If sortkey is `sort', sort according to the current style. -pdbfile Use dbfile as the bibliographic database (default -r Format as a released paper (technical memorandum default). -sstyle Set the formatting style , one of `att' (default), `acm', `apa', `ieee', `lsa', `pami', `spectrum'. Prefer recognizes the following commands, which may appear anywhere in a document. Parentheses () in the commands may be replaced by any of {} [] <> . |reference_style( style arg ...) Switch to a new formatting style. All previous refer- ences are forgotten and a new list of references is begun. If style is same the current style remains (but all previous references are forgotten). Optional args are: tm Format as a technical memorandum. PREFER(1) PREFER(1) rp Format as a released paper. nroff Format for nroff. troff Format for troff. sort Print a |reference_list in an order appropri- ate for the current style. sequence Print a |reference_list in database sequence. sortkey Print a |reference_list according to the sortkey, any combination of the letters `a', `d', `t' as above. |reference(keywords %ref_fields %flags) Insert a citation mark in the current style (e.g. [7], 3, (Knuth, 1975)). One or more keywords cause selec- tion from the bibliographic database. Each % argument must begin a new line. %ref_field lines override information from the database; with no keywords a com- plete reference may be given. For the form of refer- ence fields, see the output of penter or the paper in Volume 2. The following %flags may modify the cita- tion. %no_author Exclude author information. %no_date Exclude date from the citation mark. %no_cite Omit the entire citation, but include the entry in the final reference list. %pre_text string Insert string before the citation mark. %post_text string Insert string after the citation mark |reference_include( dbfile ...) Include the contents of the database(s) dbfile(s) in the list of references, treating them as %no_cite entries. |reference_placement Produce a list of all references specified in |reference or |reference_include commands since the beginning of the document or the last |reference_style or |reference_placement. |reference_list( dbfile ...) Format the contents of the database(s) dbfile. |reference_database( dbfile ) Switch to database dbfile Penter helps build prefer bibliographic databses. It prompts for a reference type, and then for admissible attributes, such as author, date, etc. A default value pro- posed in brackets [] may be accepted by typing a newline, PREFER(1) PREFER(1) skipped by typing spaces before the newline, or overridden by typing a new value. The character `&' appended to an attribute causes penter to prompt for the attribute again (to enter multiple authors, for example). The answer `?' to the initial prompt gets a list of all reference types. The answer `help' gets a subprompt for a reference type whose pertinent attributes will then be listed. The answer `?' to the subprompt gets attributes for every type. The attribute also permits one entry to refer to another by naming keywords for the other reference. An entire `also' citation may be included within a |reference thus: %also_begin text %ref_fields %also_end The attribute keywords prompts for distinguishing keys for the current entry, in addition to those already occurring within author, title, etc. The `reference type' quit causes penter to exit, first appending the collected database information to outfile by default). The `attribute' ~e permits editing of the current reference with the editor specified by environment variable EDITOR, ed(1) by default; ~v gets the editor VISUAL, vi(1) by default. Pinvert creates an inverted index to one or more biblio- graphic database files. The index is placed in file.i, where file is the first input file. An associated file.h contains the names of the input files. The options are: -ccommon Do not index words listed in file common (default -iignore Do not index information about attributes listed in file ignore. (The default lists %volume, %number, %part, %pages, %X (location status), %Y (read sta- tus), %Z (comment).) -ki Maximum number of keys kept per record (default 100). -li Maximum length of keywords (default 6, none is less than 3). -pfile The basename of the index is file. Prefer will write the index to file.i. -v Verbose. Print statistics. Plook uses the inverted index to retrieve bibliographic records by keywords from the command line or the standard input. Records that contain all the keywords in the request PREFER(1) PREFER(1) are sent to the standard output. Option -p is the same as for pinvert. Pconvert converts a refer(1) database to prefer style. Under option -d it converts refer-style commands in a docu- ment to prefer style. FILES default database default index file default header file containing names of databases default list of common words default list of %ref_fields to ignore for index- ing awk scripts of formatting instruc- tions for each style scratch file reference type definitions, self-describing program executed by penter SEE ALSO M. A. Derr, `Formatting References with Prefer', this man- ual, Volume 2 refer(1), monk(1), troff(1) BUGS Prefer commands don't work immediately after certain format- ting macros, e.g. .SM, .I, .B. Plook complains if the first key matches more references than it can store. Try rearranging your request so a less common word comes first. Pinvert does not record options -c and -l. If you use them with pinvert, you will have to supply them for prefer and plook as well.