|This is a mirror of the Bibutils web site by Chris Putnam. Please see the original site for the most recent updates.
|bibliography conversion utilities
The bibutils program set interconverts between various bibliography formats using a common MODS-format XML intermediate. For example, one can convert RIS-format files to Bibtex by doing two transformations: RIS->MODS->Bibtex. By using a common intermediate for N formats, only 2N programs are required and not N²-N. These programs operate on the command line and are styled after standard UNIX-like filters.
I primarily use these tools at the command line, but they are suitable for scripting and have been incorporated into a number of different bibliographic projects.
The XML intermediate is the Library of Congress's Metadata Object Description Schema (MODS) version 3.1. This is a very flexible standard that should prove quite useful as the number of tools that directly interact with it increase. For other programmers working on tools for working with MODS, I've written a quick introduction.
Version 3 (history)
The older Bibutils version 2 generates a non-standard XML intermediate that isn't as useful as MODS. I'm still keeping it available; however, I encourage all users to migration to the latest version 3 release.
For other programmers working on tools for working with MODS, I've written a quick introduction.
Starting with the version 3.15 release, the programs have been reorganized into a nice library for being plugged into other progjects. Documentation for the library API will be available shortly.
Several flags available for the end2xml, endx2xml, bib2xml, ris2xml, med2xml, and copac2xml programs:
-h, --help display help -v, --version display version -a, --add-refcount add "_#", where # is reference count to reference id -s, --single-refperfile put one reference per file name by the reference number -i, --input-encoding interpret the input file as using the requested character set (use w/o argument for current list derived from character sets at www.kostis.net) unicode is now a character set option -u, --unicode-characters encode unicode characters directly in the file rather than as XML entities -un,--unicode-no-bom as -u, but don't include a byte order mark -d, --drop-key don't put citation key in the mods id field -c, --corporation-file with argument specifying a file containing a list of corporation names to be placed in <name type="corporate"></name> instead of type="personal" and eliminate name mangling --verbose verbose output --debug very verbose output (mostly for debugging)
bib2xml converts a BibTeX-formatted reference file to an XML-intermediate bibliography file. Specify file(s) to be converted on the command line. Files containing BibTeX substitutions strings should be specified before the files where substitutions are specified (or in the same file before their use). If no files are specified, then BibTeX information will be read from standard in.
bib2xml BibTeX_file.bib > output_file.xml
copac2xml converts a COPAC formatted reference file to a MODS XML-intermediate bibliography file.
end2xml converts a text endnote-formatted reference file to an XML-intermediate bibliography file. This program will not work on the binary library; the file needs to be exported first.
Endnote tagged formats ("Refer" format export) look like:
There are very nice instructions for making sure that you are properly exporting this at http://www.sonnysoftware.com/endnoteimport.html
Usage for end2xml is the same as bib2xml.
end2xml endnote_file.end > output_file.xml
endx2xml converts a EndNote-XML exported reference file to a MODS XML-intermediate bibliography file. This program will not work on the binary library; the file needs to be exported first.
isi2xml converts an ISI-web-of-science-formatted reference file to an XML-intermediate bibliography file.
Usage for isi2xml is the same as bib2xml.
isi2xml input_file.isi > output_file.xml
ris2xml converts a RIS-formatted reference file to an XML-intermediate bibliography file. ris2xml usage is as end2xml and bib2xml
ris2xml ris_file.ris > output_file.xml
xml2bib converts the MODS XML bibliography into a BibTeX-formatted reference file. xml2bib usage is as for other tools
xml2bib xml_file.xml > output_file.bib
Starting with 3.24, xml2bib output uses lowercase tags and mixed case reference types for better interaction with Emacs. The older behavior with all uppercase tags/reference types can still be generated using the command-line switch -U/--uppercase.
Command line options:
xml2ris converts the MODS XML bibliography to RIS-formatted bibliography file. xml2ris usage is as for other tools
xml2ris xml_file.xml > output_file.ris
Command line options:
xml2end converts the MODS XML bibliography to tagged Endnote (refer-format) bibliography file. xml2end usage is as for other tools
xml2end xml_file.xml > output_file.end
Command line options:
xml2wordbib converts the MODS XML bibliography to Word 2007-formatted XML bibliography file. xml2word usage is as for other tools
xml2wordbib xml_file.xml > output_file.word.xml
Command line options:
How do I download the files?
Files can be saved by right-clicking on the link. This will pull up a context-sensitive menu, from which you should choose "Save Link As..." (or whatever the appropriate item is for your web browser). Simply clicking on the links frequently loads the binary into the browser window. Not terribly useful.
Downloads on this page are going to be archives of all of the executables (as zipped or tarred/gzipped files depending on the architecture).
The programs don't run for me. What am I doing wrong?
If you send me this question, I would immediately have to ask for more information. The follow items address specific problems.
I am very interested in bug reports and problems in conversions. Feel free to e-mail me if you run into these issues. The absolute best bug reports provide error messages from the operating systems and/or input and outputs that detail the problems. Please remember that I'm not looking over your shoulder and I cannot read your mind to figure out what you are doing--"It doesn't work." isn't a bug report I can help you with.
You have a MacOSX version, can you give me a MacOS9 version?
Sorry. I'd like to, but these programs assume a command-line interface with normal standard in, standard out, and stardard error along with command-line arguments. MacOSX is a fundamental change in the operating sysem with a BSD (UNIX-like) core that I'm taking advantage of to provide a MacOSX binary. On the other hand, I don't know that much about MacOS9, and if it is possible to generate a useful binary from these sources let me know.
This stuff is great, how can I help?
OK, I actually don't get this question so often, though I have gotten very useful help through people who have willingly sent useful bug reports and sample problematic data to allow me to test these programs. I willingly accept bug reports, patches, new filters, suggestions on program improvements or better documentation and the like. All I can say is that users (or programmers) who contact me with these sorts of things are far more likely to get their itches scratched.
All versions of bibutils are
relased under the GNU Public License (GPL). In a nutshell, feel free to
download, run, and modify these programs as required. If you re-release these,
you need to release the modified version of the source. (And I'd appreciate
patches as well...if you care enough to make the change, then I'd like to
see what you're adding or fixing.)
Chris Putnam, Ph.D.
The Scripps Research Institute
Last Updated: 4/17/2007