CITEFIND 1 "19 February 1999" "Version 1.03"

Table of contents


citefind - extract matching bibliography entries from BibTeX .bib files


citefind tags-file bibfile(s) >newbibfile
citefind - bibfile(s) >newbibfile


citefind extracts from a list of BibTeX .bib files those bibliography entries that match a specified list of citation tags, possibly produced by citetags(1), sending the entries to stdout, together with all BibTeX ``@Preamble{...}'' and ``@String{...}'' commands.

If the first argument, tags-file, is ``-'', the tag list is read from stdin, allowing it to be piped from citetags(1).

Bibliography entries are output in the order found in the .bib files. In the absence of cross references, you may be able to use bibsort(1) to sort them by citation key. While such sorting is unnecessary for BibTeX itself, it is convenient for a human reader of the .bib file.

When documents are prepared using a large bibliography data base collection, it is sometimes convenient to extract a subset BibTeX bibliography file incorporating only those entries that are cited in the document. A good example is a document to be submitted to a publisher, or otherwise distributed in electronic form.

citefind expects the bibliography file(s) to be consistently formatted in the style produced by bibclean(1), which allows use of simple pattern matching to recognize the required entries.

To guard against match failures, from version 1.03, citefind will complain if requested entries are not found at all, or are found (and output) more than once. It will also complain if end-of-file is reached during collection of any bibliography entry.


citefind is not smart enough to incorporate BibTeX cross references unless their citation tags are included in the input list.

No attempt is made to reduce the output ``@String{...}'' commands to just those that are actually referenced.

Those features should be added.


bibcheck(1), bibclean(1), bibdup(1), bibextract(1), bibjoin(1), biblabel(1), biblex(1), biborder(1), bibparse(1), bibsort(1), bibtex(1), bibunlex(1), citesub(1), citetags(1), gawk(1), latex(1), nawk(1), tex(1).


nawk(1) program for tag extraction.
user-callable shell script to invoke nawk(1).


Nelson H. F. Beebe
Center for Scientific Computing
University of Utah
Department of Mathematics, 322 INSCC
155 S 1400 E RM 233
Salt Lake City, UT 84112-0090
Tel: +1 801 581 5254
FAX: +1 801 585 1640, +1 801 581 4148
Email:,, (Internet)