# Citation Style Language (CSL)

How can I use Citation Style Language(CSL) in LaTeX Bibliography? It seems fantastic, there is 2,803 Citation Style right now in Zotero Style Repository.

The Citation Style Language (CSL) is an XML format for describing the formatting of in-text citations, notes and bibliographies. CSL offers:

• An open format that may be used by any application
• The ability to write compact and robust styles
• Extensive support for style requirements
• Automatic style localization
• Easy distribution and updating of styles
• A fast growing library with thousands of freely available styles
-
never heard of such a thing, but some xsl (to generate a native language such as bibtex) wouldn't (surely) be difficult. never heard of anyone doing such a thing, though. –  wasteofspace Aug 29 '12 at 10:22
maybe this interview is of interest for you: tex.blogoverflow.com/2012/08/textalk-an-interview-with-plk –  matth May 9 '13 at 9:35
@matth Thanks for the link –  PHPst May 9 '13 at 14:02

There is in fact a tool to use CSL when compiling LaTeX documents. Pandoc accepts a `--csl=<csl file>` argument, and it will use the supplied CSL style to format your bibliography.

For example:

``````pandoc --bibliography=refs.bib --csl=mystyle.csl -o out.pdf doc.tex
``````

Will happily generate `out.pdf` file via LaTeX using the bibtex file `refs.bib` and CSL file `mystyle.csl`, from source `doc.tex`, which presumably has a `\thebibliography` or some citations in there somewhere.

-
This is a great idea for many use cases. However, Pandoc uses only a subset of LaTeX and when converting from raw TeX, the internal document model doesn't even support some basic LaTeX environments like \includegraphics. –  Arthur Apr 4 at 11:36
@Arthur sorry, but that's incorrect. Pandoc passes the LaTeX through either XeTeX or PDFTeX, and supports whatever they do as long as your output is in a format that doesn't require additional transformation by Pandoc. I've used \includegraphics before via Pandoc, since the Pandoc markdown format doesn't support image transforms. –  alyu Apr 5 at 0:36
I should have been more specific. See this issue on the Pandoc GitHub; specifying width/height is not supported which, to my mind, means `\includegraphics` is not fully supported. –  Arthur Apr 6 at 18:13

In one word: no.

Bruce D'Arcus, the original creator of CSL, has repeatedly said that he would like to see an implementation of CSL for LaTeX (to be more precise: he often talked about LuaLaTeX) and that such a thing wouldn't be too difficult to achieve in theory (see this and the following posts for example), but so far, no one has been interested in doing it (the post I linked to dates back to 2008!).

In my opinion, CSL for LaTeX would be extremely useful. CSL is getting more and more traction (there are about half a dozen of implementations ATM), and although it's not quite as powerful as `biblatex` (but what is?), it's very versatile, and, most important, truly system-agnostic.

It would be the first solution to offer bibliography styles which work equally for a LaTeX and a variety of word processors and is really able to deal with complex styles.

-
What you mean from: "although it's not quite as powerful as biblatex ...", I think they are not comparable, indeed BibLaTeX may use CSL files to style its output. –  PHPst Oct 10 '12 at 16:28
I mean, among other things, that `biblatex` has a more exhaustive data model, allows (in combination with `biber`) for more complex sorting and offers more fine-grained typographic control. And no, CSL files are completely useless for `biblatex`. –  Simifilm Oct 10 '12 at 20:26
"...CSL files are completely useless for `biblatex.` " ???????? –  PHPst May 9 '13 at 9:24
Yes, they are. CSL files need a CSL processor which `biblatex` is not, which, as I wrote in my answer, doesn't exist (yet) for `LaTeX`. –  Simifilm May 9 '13 at 15:50
@Simifilm `biber` would be such a processor. Given its active development, it'd be a prime candidate for use. –  Sean Allred Nov 21 '13 at 2:47