Navigate

· Home page

· Bio

· Projects

· Tips & Tricks

    · LaTeX

        · BibTeX

    · C/C++

    · DOCTYPEs

    · Linux

· Programming

· More Links

· Colleagues

· Weekly Schedule

· Research


Trent Apted's Photo




My BibTeX to Endnote converter

BibTeX to Endnote (proprietary XML) converter (download) This now has a Java GUI.
You can still run the old version with 'java -classpath bib2endnote.jar BibEndnote bibfile.bib > endnote.xml'

How to use it

Download the .jar file. (Note: if you use Internet Explorer, it may try to tell you that the file has a .zip extension. It doesn't. Save it as .jar and get a better browser.) Old versions can be downloaded below, in case I break something. If you have a Java Virtual Machine (JVM) installed properly, you should be able to simply double-click the file to run the program. If you don't have a JVM, get the Java Runtime Environment (JRE) if you don't plan to write your own java code, or get the Java Development Kit (JDK) if you do. If you have a JVM installed, and double-clicking doesn't work, you will need to execute it from a command line, like:

java -jar bib2endnote.jar

Once the program is running, it's dead simple. Select Open, pick a .bib file, then select Save, enter filename (.xml), exit. If there are bugs in the BibTeX file, or if some things can't be converted to EndNote (e.g. keywords), then warnings will appear in the left pane. You can preview the XML in the right pane.

To import it, open EndNote, choose Import... (File menu) and select "EndNote generated XML" from the options. Then find the xml file you saved. The XML format is that used by EndNote 7, which EndNote 8 and 9 seem to understand fine. I can't guarantee it will work for other EndNotes because, frankly, EndNote's XML parser is crap (e.g. it is sensitive to the order of fields within each entry).

Changes

Planned Changes

Why is it such a pain to convert BibTeX to EndNote?

Simple: cross references.

BibTeX cross references are the shiznit. Rather than having

[1] Some Guy. Some Title. In Some Chic (ed.) Proceedings of First International Blah on Blah. Somewhere, Someplace, January, 2000.
[2] Someother Guy. Someother title. In Some Chic (ed.) Proceedings of First International Blah on Blah. Somewhere, Someplace, January, 2000.
[3] Thelast Guy. Last title. In Some Chic (ed.) Proceedings of First International Blah on Blah. Somewhere, Someplace, January, 2000.

BibTeX cross references can (automatically) do

[1] Some Chic (ed.) Proceedings of First International Blah on Blah. Somewhere, Someplace, January, 2000.
[2] Some Guy. Some Title. In Chic [1].
[3] Someother Guy. Someother title. In Chic [1].
[4] Thelast Guy. Last title. In Chic [1].

Note that if there is only one citation from a particular proceedings, it will not make the second reference for the proceedings itself.

Also, it goes some way towards flattening the BibTeX database.

This, as well as BibTeX string substitution and LaTeX escape codes (like Fr{\'{e}}d{\'{e}}ric) means that most BibTeX converters out there are crap. Also BibTeX and EndNote's fields don't correlate very well.. bib2endnote does a pretty good of saving all the fields in the BibTeX file and making them available (in some fashion) for EndNote to use. It creates an XML file, which is a native Endnote format (the XML is what EndNote embeds in your Word documents, for example) and that it can import easily. Known LaTeX escapes are converted to XML character entities eg {. However, EndNote doesn't support cross references, so the first thing that bib2endnote does is 'unflatten' the BibTeX database.

Acknowledgements: The BibTeX parser was written by Johannes Henkel (lastname@cs.colorado.edu), and some of the LaTeX -> XML conversion stuff was cut out of the source code for JabRef, a GPL-2 licence. Hence, the license for this stuff is probably GPL-2 as well. All the source code is contained within the .jar file. Enjoy.

-- TrentApted - 2007-02-23