Before browsing our style repository on GitHub, first read your software’s documentation to discover the easiest way to find and install CSL styles. For example, Zotero offers the Zotero Style Repository, whereas Mendeley allows styles to be installed from within the desktop client, while Papers comes with all our styles pre-installed.
And even if you don’t use Zotero, feel free to use the Zotero Style Repository, which is always up to date with all our styles. It allows you to search styles by title or file name, and filter them by citation format and field of study. Hover over a style’s title to preview its reference format, and click the title to download the style.
Styles in our CSL style repository on GitHub can only be searched by file name (press “t” to activate GitHub’s File Finder and start typing). After locating a style, click the “Raw” button to access the actual style file. To download the contents of our entire style repository, click the “Download ZIP” button.
If you don’t know the name of the citation style you are looking for, or are unable to find a style by name, you can search our styles by format by using our CSL style editor (documentation). Visit the “Search by Example” tab, and change one of the example references into the desired format. Clicking “Search” will show the CSL styles that most closely match your desired format. Be aware that the styles on this webpage are not regularly updated.
Once you have found a CSL style, here are some tips to get the best results.
In fields like biology, it is common to have rich text formatting within titles, e.g. “Metabolic engineering of Saccharomyces cerevisiae for C4-dicarboxylic acid production”. While not (yet) officially part of the CSL specification, most CSL-based software products support the following tags:
- <i> and </i> for italics
- <b> and </b> for bold
- <sub> and </sub> for subscript
- <sup> and </sup> for superscript
- <span style=”font-variant:small-caps;”> and </span> for small-caps
So, to obtain the formatted example above, you would store the title above as “Metabolic engineering of <i>Saccharomyces cerevisiae</i> for C<sub>4</sub>-dicarboxylic acid production” in your reference manager.
Sentence and Title Case
While CSL styles can automatically convert titles to sentence case, we rarely use this feature in our repository styles because it is rather error-prone. For example, most software won’t recognize that the word “Beagle” in the title “The Voyage of the Beagle” is a proper noun, and will incorrectly produce “The voyage of the beagle” when asked to convert the title to sentence case.
Converting sentence case to title case is much more reliable. We therefore recommend that you consistently store titles in sentence case in your reference database. Our repository CSL styles automatically convert titles to title case if the citation format calls for it.
You may notice that a CSL style adds given names or initials of authors to some, but not all, of the citations it generates, e.g. “(J.T. Kirk, 2002)” instead of just “(Kirk, 2002)”. This is typically the result of name disambiguation: the CSL style is adding the extra name information to distinguish between people with the same last name (e.g., James T. Kirk and Tiberius Kirk).
CSL styles only attempt name disambiguation if the citation format calls for it. However, name disambiguation can also occur inadvertently when a person’s name is stored multiple times with different spellings in your reference manager. E.g., your reference manager might assume that James T. Kirk, James Kirk, and J. T. Kirk are different persons. To avoid name disambiguation in this case, make sure that each person’s name is spelled consistently throughout your reference library.
With “author” and “author-date” styles, you might want to write “as discussed by Doe (2002), … ” instead of “as previously discussed (Doe, 2002)”.
While CSL styles only define complete citations, e.g. “(Doe, 2002)”, the word processor plugins of Zotero, Mendeley, and Papers all allow you to suppress the author(s) in individual citations, which would leave you with just “(2002)”. You then have to write the author’s name by hand.
Most CSL styles in our repository have a fixed locale. For example, a CSL style for a British journal will always produce citations and bibliographies with British English grammar, date formats, and translations. For styles with a fixed non-English locale, the language is indicated in the style title, e.g. “Soziale Welt (German)”.
We also offer CSL styles that can freely localize. These include several of our most popular generic styles, like those for APA, Chicago Manual of Style, IEEE, MLA, and Vancouver, as well as styles for journals that publish in multiple languages. Read your software’s documentation for details on how to change the localization of such styles.
CSL styles needs to be coded in a certain way to be usable in multiple locales: they need to use localized instead of non-localized date formats, use CSL terms instead of hard-coded strings, and a CSL locale file needs to be available for each language (although styles can overwrite parts of the locale files, if necessary). Even then there are still some limitations. CSL doesn’t yet allow for per-item localization (for example, some styles require Japanese items to be cited in Japanese, and English items in American English), and doesn’t always support all grammatical peculiarities of your favorite language.
Limitations of CSL
CSL has a number of limitations. They currently include:
- Limited support for “trigraph” styles. These styles use labels, like “ddb98”, that are based on the author names and date of publishing, to link in-text citations to bibliographic entries. CSL styles cannot customize the label format.
- No support for “composite” styles. With these styles, popular in the field of chemistry, each numbered bibliographic entry can contain more than one reference.
- Limited support for legal styles. Law professor Frank Bennett, author of the citeproc-js CSL processor, forked Zotero and CSL to create Multilingual Zotero and CSL-m, with the specific purpose of improving their legal support. We recommend you check it out!
- Limited support for citing items in multiple languages within a single document. Do citations and bibliographic entries need to be formatted according to the language of the cited items? Again Multilingual Zotero is the answer, at least for now.
- Limited support for journal abbreviations. CSL styles cannot choose between journal abbreviation lists.
There are a number of dedicated tools for editing CSL styles. Before getting started, we recommend that you first take a look at some CSL documentation. Our primer describes the basic structure of CSL styles, and CSL is extensively documented in its specification. The Zotero wiki also has some step-by-step instructions for editing CSL styles. And whatever tool you choose, some basic knowledge of XML or HTML will come in handy.
- The “Search by Name” tab allows you to search styles by their name.
- The “Search by Example” tab allows you to search for styles that produce a particular format (or something close to it), by reformatting the citation and bibliographic entry of one of the provided items. This can be useful to find styles that already exist under another name, or to find a closely matching style that you can use as a starting point for editing.
- The “Visual editor” tab contains the actual style editor, and shows a live preview of the style as you make your edits.
- The “Code editor” tab contains a more basic editor that allows you to directly edit the XML code of the style. This tab also has a live preview.
Second, the Zotero desktop clients (Zotero for Firefox and Zotero Standalone) ship with two utilities:
- The Reference Test pane allows you to edit the XML code of a style. A live preview is shown based on the items selected in your Zotero client.
- The Preview pane generates previews for the items selected in your Zotero client for all installed CSL styles.
Finally, CSL styles can also be edited in any text or XML editor, such as TextWrangler (OS X), Notepad++ (Windows), jEdit (cross-platform), GNU Emacs (cross-platform; with XML support through nXML mode), or <oXygen/> XML Editor (cross-platform; commercial).
If you would like to contribute new styles to our style repository, or submit changes to existing styles, please see our contribution guidelines. Keep in mind that style submissions are handled by a handful of volunteers. By closely following our guidelines, your styles will be accepted much faster.
Custom styles can be requested, but our capacity to create new styles for free is limited. To get preferential treatment (and support our work), you can contact us and offer payment. The cost of a custom-made CSL style is typically $100-300, depending on the amount of work.