#!/bin/csh -f # # makebib - make a bib file that has the given citations # # usage: # makebib [-n | -d | -u] file.bib... [citekey]... # Where -n means "no comment", ie, don't include any "comment" fields. # And -d means "dfk", ie, add attribution to dfk to all comment fields. # And -u means "unsorted", and comments are still included. # Output is to subset.bib. If citekey is not given, then all refs in # the bibfile are included. # # dfk 11/24/92: write the subset.aux file directly, skipping latex # dfk 9/99: add unsorted option onintr cleanup if ($#argv < 1) then echo 'usage: makebib [-n|-d] file.bib... [citekey]...' exit 1 endif if ("$1" == "-n") then set bst=subset-nocomment shift else if ("$1" == "-d") then set bst=subset-dfk shift else if ("$1" == "-u") then set bst=subset-unsorted shift else set bst=subset endif endif endif if ($#argv < 1) then echo 'usage: makebib [-n|-d|-u] file.bib... [citekey]...' exit 1 endif set files = $1:r shift while ($1:e == bib) set files=($files,$1:r) shift end echo creating subset.aux for $files cat > subset.aux < 0) then foreach f ($*) echo $citation"{$f}" >> subset.aux end else echo $citation'{*}' >> subset.aux endif rm -f subset.{log,dvi,bbl,blg} echo bibtex subset bibtex subset if (-e makebib.sed.Z) uncompress makebib.sed if (-e makebib.sed.gz) gunzip makebib.sed echo "" echo 'Fixing these lines (might be doing the wrong thing)' grep '[^\\]%$' subset.bbl echo end. echo "" sed -f makebib.sed subset.bbl > subset.bib echo "" echo output is in subset.bib cleanup: rm -f subset.{tex,aux,log,dvi,bbl,blg,sed}