Home | Research Pages | Pages for Grad Students

Bill Gardner / Bibliographic Tools

[RefWorks: new IEEE - URL output style prints "Anonymous" for web pages w/o author]

[In general, we still need to improve the output styles, both RefWorks & .bst (re URL treatment)]

Last updated 25/Aug/11

  • Note: These are guidelines for my own students, but anyone is welcome to adapt them and download anything you find useful.
  • Every researcher needs a way to collect a personal set of bibliographic references, share them with others, cite them in articles and theses, and have them print out in some standard formats. Relying on hand editing of bibliographies is a recipe for producing messy, unattractive, and inaccurate publications, that nonetheless consume a great deal of time in achieving these poor results.

  • To be precise, a citation is where you refer to ("cite") a reference in the text of your document. It may look like [2], [Adam98], (Brown 1998), or some other format, which will be dictated by the publisher, or in the case of your thesis, by your supervisor or department.
  • The bibliography or references section of your document is where the details of all the cited references are printed out together. The format of the references and the order of listing will be dictated by the publisher.
  • What you want is the freedom to cite at will any reference you have accumulated, and have both the citation and the corresponding reference formatted properly according to the publisher's demands. If you edit the document for a different publisher, these formats should change automatically without hand editing. If you remove or insert citations, you should not have to massage the reference list by hand to bring it up to date, nor change the other citations to match the updated reference list.

    The problem is to find a format for storing references that is easy to share, and is possible to transfer among the citation tools needed for use with the different word processing programs that we like to employ. It is not feasible to impose a single word processor, since we all have our habits and are unwilling to climb the learning curve of an unfamiliar/distasteful product. Still, some publishers impose specific requirements that take precedence over our habits.

    Requirements for a solution
  • Must work with MS Word, since it's required by some conferences/journals, we have a site license, and it's all that many students know how to use.
  • Must work with LaTeX, since it is widely used, efficient for equation-laden text, and is accepted by most conferences/journals.
  • Should work with FrameMaker, which I personally use whenever I can get away with it.
  • Should work with alternative word processors, such as OpenOffice.
  • Must allow for off-line working mode.
  • Must provide an easy way to incorporate URLs, since these are increasingly common in references.
  • Ingredients of a solution

    This suggested solution is believed to satisfy the requirements. As a compromise, it is more awkward than a narrowly-targeted solution, but pays off in sharing, flexibility, and portability. We start with a dataflow diagram of the solution:

    The components are explained in the next two subsections, followed by a special section on how to reference URLs. Finally, good practices are suggested for formatting citations and references.

    The bibliographic database: JabRef, .bib files, RefWorks

    The bibliographic database (the references) will be maintained as BibTeX .bib files using a GUI-based tool, JabRef , that helps identify which fields have to be filled in for various types of references. BibTeX files use a classic human-readable format that shows no sign of becoming obsolete, and they are easy to transfer among different tools. The preferred encoding is UTF-8, in order to store accented characters without requiring LaTeX escape conventions. This is to facilitate transferring to/from tools that recognize UTF-8 but not LaTeX escapes.

    There are other GUIs for manipulating BibTeX files, and even a simple text editor will do. But JabRef is a cross-platform Java program, and has a "custom export" feature needed to massage BibTeX files into the format required downstream.

    Filling in BibTex entries

    Get help here. Note on entry types:

  • "Conference" is for compatibility with another bibliography system (Scribe), and is identical to "Inproceedings." Stick with "Inproceedings."
  • "Inbook" is for untitled book chapters, since you can only enter a single title plus a chapter number. Use "Incollection" for titled book chapters, and enter both (chapter) Title and Booktitle.
  • Use "Misc" when nothing else fits. Do not use "Other."
  • Be careful about where you store URLs. If under a "Url" field, it will be displayed in the bibliography if the bib style handles URLs. If you don't want it to display, put is in Jabref's General > File (click +, fill in Link, File type = URL)
  • Note that if your references do not use special characters, UTF-8 is equivalent to ASCII and you can name the file .bib , implying that it is ready to use as ASCII input. But if it does have special characters, name it .bub ("u" for UTF), implying that it must be converted before the LaTeX-based downstream tools can process it correctly. The utf2any script is used to convert UTF-8 files to ASCII with LaTeX special-character escapes.

    You also need to put {braces} around any acronyms and proper nouns that you don't want converted to lower case by BibTeX, if this wasn't done by your citation source (ACM does it properly; IEEE does not). Those escapes are transparent to utf2any.

    utf2any utility

    For Win32, download utf2any.exe and maps/latex.map. If you need to compile it for Unix, there's a .c file and makefile (uses flex and gcc).

    To execute: utf2any -8 -f latex.map mybib.bub > mybib.bib

    where mybib.bub stands for the BibTeX file with UTF-8 encoding, and mybib.bib is the converted file with LaTeX escapes. CAUTION: utf2any does not like long filenames for its input files!

    ASCII .bib files are directly usable with LaTeX/BibTeX and with FrameMaker (via the CiteMaker plugin).

    To use BibTeX format files with MS Word , another reference maintenance tool is needed. Our university has a free site license to RefWorks and runs free training seminars, so that is preferred, but other tools, such as EndNote, can be adopted. To be sure, RefWorks overlaps the functionality of JabRef, but experimentation shows that using RefWorks for the primary database makes it impossible to get accurate exports of BibTeX files, whereas the reverse route is dependable. JabRef can export a RefWorks Tagged file (.rwt) which can be imported by RefWorks with the correct results. Accented characters encoded in UTF-8 will stay correct in the RefWorks entry, and any extra { } for BibTeX capitalization will be stripped off automatically. This custom export operation requires additional "layout files" and Java classes, which we have created.

    The following table explains how to obtain and configure JabRef to support a primary UTF-8 database in .bib files, and export a derivative database in .rwt files for RefWorks:

    1. Configuring JabRef

    Configuration Step

    Purpose

    Download JabRef (2.2 or higher) and install.

    Windows: After installing, go to the Start Menu and find JabRef. Right-click on it to get Properties. Then, if necessary, change "Start in" to match the directory where the JabRef files are located.

    Linux: Ensure that the directory where the JabRef files are located is in the classpath that is in effect when JabRef is launched.

    The program needs to be started in its own directory in order to find the extra Java classes that will be compiled in the next step.

    NOTE: The key symptom of setup problems, especially with the classpath, is the error message "Formatter Not Found" when attempting to export RefWorks tagged format.

    Download additional files here, and unzip them in same directory as JabRef's .jar file. In that directory, invoke the Java compiler with this command:

    javac -classpath *.jar -d . *.java

    A subdir called "net" should appear, and the classes should be in net/sf/jabref/export/layout/format.

    The JabRef *.layout files implement the custom export to RefWorks tagged format (.rwt) for these entry types:

    Phdthesis, Techreport, and Webpage

    The layout files invoke the Java classes to carry out some text filtering.

    (Try to replace our GetEnd/StartPage formatter classes with new builtin First/LastPage formatters.)

    This step is not needed for 2.5 and above.

    Still in the same directory, invoke the Java archive manager with this command:

    jar ufm *.jar cp.mf

    If it works, it will not output any messages.

    The jarfile supplied with JabRef has no classpath defined. This means that it cannot find the Java classes you just compiled in the previous step, and you will get the "Formatter Not Found" error.

    This command updates the jarfile's "manifest" to include the classpath "." meaning the startup directory that contains subdir "net". The manifest update is contained in cp.mf.

    Options > Manage custom exports > Add new:
    Export name = RefWorks Tagged
    Main layout file = browse to where you unzipped rwtf.layout in the previous step
    File extension = rwt

    This will add a menu item under File > Custom export to output entries in RefWorks "tagged" format (.rwt file). The layout files explicitly map BibTeX fields into certain RefWorks fields, so that they will be displayed properly. In contrast, the default BibTeX import of RefWorks is unpredictable and unhelpful.

    Options > Customize entry types:
    Add a "webpage" type, with Required fields title and url, and optional fields author, note, year, month, and lastchecked. All of the fields can be selected from the menus, except for lastchecked, which must be manually typed in.

    BibTeX does not define a "webpage" entry type, so we create one. The supplied layout files know how to export this type to RefWorks.

    Options > Preferences > General:
    Default encoding = UTF8

    Maintains .bib (.bub) files in the format needed by RefWorks without use of LaTeX special-characters escapes.

    The following settings are suggested, not mandatory:

    Options > Preferences > BibTeX key generator:
    Default pattern = [authshort][shortyear]

    Webpage = web_[veryshorttitle]

    Proceedings = acronym+[shortyear]

    This is to allow for automatic key generation by JabRef for references imported from any tool that supplies its own (useless) citation keys. The generated keys will come out in an easy-to-anticipate form.

    If you use the Proceedings type, you should create a key by hand, e.g., RSP05, CCECE04. This place-holding auto-generated key will remind you to do that.

    Making citations and building a bibliography: MS Word, LaTeX, FrameMaker
    MS Word (Windows or Mac)

    For MS Word , follow the instructions in the table below to download the RefWorks Word plugin , and configure your RefWorks account.

    1. Configuring RefWorks

    Configuration Step

    Purpose

    Read about RefWorks, create an account, and login.

    Download the Write-N-Cite plugin from the Tools menu.

    The plugin provides a convenient interface to the backend server that holds your RefWorks account.

    Download this file, RWOutputStyles.rwb.

    In RefWorks, select Tools > Backup/Restore

    Click Restore and browse to where you saved RWOutputStyles.rwb. Be sure to check Include Output Styles.

    Click Perform Restore.

    This loads the modified output styles that are capable of printing URLs as stored by JabRef:

    Harvard - British Standard - URL2
    IEEE - URL

    These two will show up in red in the list of output styles when you select Bibliography.

    Then, to use a JabRef-maintained BibTeX database in RefWorks, select References > Import with "RefWorks Tagged Format" to import the UTF-8 .rwt file exported from JabRef. Each reference will automatically be given an internal RefWorks ID number, unique within your RefWorks account. (If you are using EndNote or other such product, you may try JabRef's File > Export, or simply import the .bib BibTeX file directly.) You can now use the plugin tool to insert RefWorks citations in your document. If you are off-line, you can type the citations by hand, but you must know the ID numbers! (You can print them out in advance for off-line reference.)

    Use RefWorks to generate a bibliography for the citations and insert it into a new document, whose name is formed by prefixing Final- to your original document. Since the output styles built into RefWorks do not handle URLs well, we have prepared some output styles that do. These were imported to your account via the backup/restore feature (directions above).

    Since RefWorks maintains its own database of references on a central server, it is necessary to keep it in sync with your primary BibTeX file. It is a good idea to use JabRef's "mark" feature (Ctrl-M or "Mark" button) to mark any item you are exporting to RefWorks. This will make it easier for you to keep track of what has been imported and what has not.

    Your choices re synchronizing are (1) to edit both databases in parallel, or (2) to edit the BibTeX file, re-export a .rwt file, and re-import it to RefWorks. Minor imports can be done quickly by copying a JabRef entry (use Ctrl-C to put a BibTeX record on the clipboard) and pasting it into the RefWorks window "Import Data from the following Text" (after setting the Import Filter to BibTeX).

    A problem with strategy (2) is that the re-imported references will unfortunately have new ID numbers, creating duplicates and near-duplicates with the old entries. Duplicates either have to be pruned, or one can avoid creating them by purging RefWorks before reimporting. Then in the Word document one must find and change the old citations to the new ones. This is such an unpleasant chore that it is best to either leave inserting citations until the end of document editing (meanwhile perhaps using unchanging BibTeX indexes as place holders for the future RefWorks ID numbers) or else do the parallel editing of strategy (1) once you have built up a substantial amount of citations.

    LaTeX

    For LaTeX , citations can simply be inserted using "\cite" and the respective JabRef/BibTeX index. If the reference database is a UTF-8 .bub file, first convert its special characters into LaTeX escape conventions by running utf2any. Finally, running BibTeX will pull the citations out of the database file and format them according to the specified bib style (.bst file). A selection of URL-enhanced .bst files are here.

    NOTE: If you find that some escape sequences are showing up in plain text in your output, or are not producing the expected accented characters, read the comments in latex.map . You may need to insert a \usepackage in your input file.

    FrameMaker

    FrameMaker users should obtain the plugin CiteMaker, which will install a new menu. This tool inserts variables into your document containing BibTeX indexes. As with LaTeX, a .bub file must first be converted to LaTeX conventions via utf2any. (Unfortunately, there is no way to insert a \usepackage if the accented characters are not coming out right.)

    To begin using CiteMaker with a new document, you need to select 3 items from the menu:

  • Select BibTeX database: Browse to your .bib file.
  • Select Reference Page Template: You can edit your own template based on the "template" file in CiteMaker\Frame55\work. What matters are the BibHeader and BibEntry paragraph formats, not the text in the file.
  • Select BibTeX Style File: Browse to the one you want in CiteMaker\bstfiles.
  • When CiteMaker generates a new bibliography, it replaces the variables with properly formatted citations and puts the bibliography into a file whose name is formed by suffixing your original document name by -bib.fm . The ideal way to import this file is to insert it one time via File > Import > File , by reference, into your original document where you want the bibliography to appear. Later, whenever the bibliography is regenerated, the reference will automatically be updated.

    TIP for importing bib file by reference: Citemaker will output the word "References" in BibHeader paragraph format, followed by all the references in BibEntry format, followed by two more blank lines in BibHeader format. You cannot change this behaviour. The very last blank line will assume the paragraph format of the paragraph where the importation marker is anchored. If this is the title of a chapter that uses "Start new page," then the references will end with a page break that seems impossible to remove. Furthermore, one will struggle in vain to eliminate the word "References." You can work around these facts of life as follows:

  • Go to the chapter where you want to import the bib file. In a typical scenario where you have a chapter title like "Bibliography," press Enter to get a blank line and change its paragraph format to BibHeader. Go to the Paragraph Designer (^m) and change the Color of the Default Font to No Show, then click Update All. This magic will suppress the word "References" and make BibHeader into an innocuous format.
  • With the cursor still on that blank line, do File > Import > File by reference, and carefully select these options: "Reformat using current document's formats," and "While importing, remove manual page breaks (and) other format overrides." This is crucial in order to apply the No Show treatment to "References" and the extra lines. The last setting, "Updating of imported flow" can be either auto or manual, as you wish.
  • The following table explains how to obtain and configure CiteMaker:

    1. Configuring CiteMaker

    Configuration Step

    Purpose

    CiteMaker comes bundled with its own copy of BibTeX and a selection of .bst style files. CiteMaker 1.2 is written for FM 5.5, but it does work fine with 7.0. Caution: CiteMaker does not like spaces in pathnames, so install it under C:\ (not Program Files) and place your .bib and .bst files in your file system without intervening space-filled directory names. There are some problems with CiteMaker's readme.txt, so follow the instructions below.

    Download CiteMaker, and run the installer.

    If the site is not available, there is a backup here.

    Locate your FM directory and open maker.ini for editing. Find the section called [APIClients]. At the end of this section, add the single line (adapted according to where you installed CiteMaker):

    CiteMaker=Standard, CiteMaker Utility, c:\CiteMaker\Frame55\bin\citemaker.dll, all

    Adds "CiteMaker" menu to FM's menu bar, connected to citemaker.dll.

    See the next section for additional "URL-enabled" .bst style files that you can download and store in CiteMaker\Frame55\bstfiles.

    Other word processors

    For other word processors, such as OpenOffice , you can copy/paste citations created by RefWorks (since the Word plugin won't apply), save your document as .doc or .rtf, and generate the bibliography by passing it through RefWorks. JabRef does have an export format called "OpenOffice Calc," but its use has not been explored.

    Referencing URLs

    The need for including URLs in references is constantly expanding, but tool support is still lacking or introduces incompatibilities. For the recommended tool flow, this requires work to set up, but it only has to be done once and the results are worth it.

    There are two issues: (1) how to insert URLs into .bib entries so that they are accessible to both BibTeX and RefWorks (when imported); and (2) how to make BibTeX and RefWorks pull them out of the entries and print them nicely. The solution to the first issue is easy: Just use the "url" field on JabRef's General tab. You can even drag/drop a URL from your browser into the url field. When imported by RefWorks, this field will end up under Links. It is recommended not to add any LaTeX escapes (such as \url{...}), because they will not be stripped off by RefWorks and will end up printing out verbatim. If BibTeX ends up breaking long URLs awkwardly or inserting "%" characters, you can arbitrarily insert blanks to help it break the URL in reasonable places.

  • For printing via BibTeX , you need to use styles (.bst files) that print the url field. The old, traditional styles (including the ones that come with CiteMaker) do not, but suitable ones can be downloaded from the bottom of this web page: URLs in BibTeX bibliographies. If you use an old .bst file, the URLs just won't appear. Best of all is to download the four .bst files, which implement a new "webpage" reference type (see above where you configured JabRef). Alternatively, you can use the urlbst perl script to add "webpage" to any .bst file you wish.
  • For generation via CiteMaker , it is well to keep in mind that CiteMaker's internal version of BibTeX does not invoke LaTeX. The chief consequence is that URL-enabled .bst files which use "\url" commands will fail is a particular way: Your output will have the characters "rl" in front of every URL. It doesn't do any good to supply a style file and insert "\input url.sty". This is because LaTeX is not invoked. Instead, to overcome this problem, the .bst files must be edited and the instances of "\url" removed. (Global replace "\url" to "" will do it.) The four .bst files mentioned above have had these fixes applied, and are available here with filenames in the form style -cm.bst, where "cm" stands for CiteMaker.
  • NOTE that you can actually replace CiteMaker's minimal BibTeX with a full-featured one having LaTeX support! On Windows, for example, if you obtain MiKTeX, go to miktex\bin and copy bibtex.exe to \Citemaker\Frame55\bin, replacing the bibtex.exe you find there. Now CiteMaker will invoke MiKTeX's program instead, and you may be able to take advantage of more advanced style files.

  • For printing via RefWorks , none of the built-in output styles have been found to print Links, but you can modify a style to do what you want: Click Bibliography, select the Output Style you want to modify, then click Edit. Choose Links under "Fields for this type" and move it into "Output Field Order." Unfortunately, you need to repeat this step for every Reference Type you want to print a URL from. Finally, use Save As to save the edited style under another name. You can use Tools > Backup/Restore to create a local disk file with your edited styles, which can then be "restored" to another user in order to share the URL-enabled styles. The "Configuring RefWorks" table above tells how to obtain some URL-enabled output styles.
  • The above instructions apply to adding URLs to conventional reference types (article, book, etc.). If the reference is purely a web page, as has become common, you can use the Webpage type if you configured it in JabRef. Otherwise, select the Misc type, and invent a key (unless it will be derived automatically from the author or page title). In Optional Fields, fill in the Title of the page, and Author, if any. Put a "freshness date" (last checked) in Year. In General, paste the URL in Url. Misc entries are imported into RefWorks as Generic, so you'll need to edit the output style's Generic type to make it print the Links field.

    If you want to record a "freshness date," put it in the new "lastchecked" optional field, which needs to be added to any type you want to use it with.

    If you want to record a URL with a reference for your personal information, but not have it print out, go to the General tab and enter it in some field other than Url, say Comment.

    Citation and reference formats

    It is important to appreciate that the needs of article-readers and thesis-readers differ. Articles are usually short, and the desire is to be able to look up a citation rapidly, therefore a numeric format is ideal. Theses, on the other hand, are long, with many citations. In reading through the thesis, it is often enough to know the cited author's name, without looking up the citation in detail, so a name/year format is good. Furthermore, one often wants to consult a thesis' reference list as a comprehensive bibliography on the research area, so it should be organized alphabetically by author. For a thesis, numeric citations and references listed in order of occurrence greatly limit the usability, at least in this author's opinion.

  • Thesis: Good .bst styles without URL support are acmtrans and acm . For URL support try alphaurl [-cm]. In RefWorks, use Harvard - British Standard - URL2, or just Harvard.
  • Conferences/journals/books: Study the publisher's requirements carefully. If they supply a BibTeX .bst file, use that (but it may not print URLs without editing), or find its RefWorks equivalent output style. Good .bst styles are acm , ieeetr , plain and unsrt . In RefWorks, use IEEE - URL.
  • Home | Research Pages | Pages for Grad Students