This plugin is intended for two use cases:
- Easily reference books, articles and websites in your posts.
- Provide a neat list of your own publications.
There is probably potential for more; be creative!
Cite & List uses standard format BibTeX and bib2tpl in order to give you maximal control over the output and ease of use at the same time. You provide your bibliographic data in BibTeX format; the plugin can read it from custom fields as well as local and remote files. Parts of that data are rendered when you need it using templates powerful enough to create sophisticated pages. As BibTeX sources are often dotted with LaTeX commands, we allow you to clean them up on the fly—no need to change your sources.
See the Usage page for documentation.
For a list of known issues see here.
Cite & List works out of the box. You may want to change the way its output looks, however. To that end, visit the option page in the
Settings menu. You can control the following parameters:
- Bibliography Key Format:
Numberwill cause entries to number in order of citation. Else the keys provided in the respective sources are used.
- Citation Key Format: Controls how a single entry is represented in citations. Use the same syntax as for templates (see below).
- Citation Format: Specifies a container for citations.
@keys@is replaced with a comma-separated list of citations according to citation key format.
- Bibliography/Publication List Template: Controls how bibliographies and publication lists look, respectively. See below for details.
- Sanitisation Rules: BibTeX files might contain LaTeX syntax and other surprises. Here you can enter regexps to amend that.
Please read bib2tpl’s documentation. You can use all features mentioned there. There is an additional tag; use
@postid@ in cite key format and bibliography template as unique identifier for the current post or page.
The recommended way to add BibTeX to a post is using a custom field named
bibtex. Additionally, you can specify (local and remote) files via shortcode
bibsource, for example
In case of duplicate keys, files overwrite the custom field and later specified files overwrite earlier specified ones.
Note that you might have to avoid special characters in entry keys, for example if you want to use them as HTML IDs.
In order to cite entries use shortcode
cite in your text, for instance
[cite key="aaa,bbb,ccc"]. As you can see, you can cite multiple entries at once. The shortcode is replaced with a citation based on your settings. All keys cited in the current post are added to the bibliography which is automatically appended to the post if necessary.
Note that you can use keys from any source; it does not matter in which order
bibsource shortcodes appear.
[publications] creates a list of entries from all sources added so far and the
bibtex custom field. For explanation of possible parameters
lang see bib2tpl’s documention; they behave exactly in the same way as the corresponding API parameters. Filtering is done by parameters
only_xyz=abc which corresponds to an array entry
'xyz' => 'abc' in API parameter
only. Note that you have to escape backslashes in regular expressions with another
\ in filter parameter values.
- Install Cite & List via your blog’s plugin administration
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Configure Cite & List via the ‘Settings’ menu in WordPress
- BibTeX? What is that?
BibTeX is a long-time standard for storing bibliographic data in academia. Syntactically, it is not too different from JSON though the details differ. You find a description of the format here. Note that most publishers of academic texts offer valid BibTeX on article and book pages; you can just put such entries in a file sequentially.
- If I enter HTML as citation (key) format, everything breaks! What to do?
Due to how strings are handled internally, you have to use
"to delimit HTML attributes.
- Can I use shortcodes in my templates?
Yes! Specifically, you can use them in citation key format, citation format as well as bibliography and publication list template. Note that shortcodes are only evaluated after all output has been properly assembled as far as Cite & List is concerned.
- Does grouping work in sanitisation?
Yes, we got the full power of PCRE! More specifically, if you enter a line
a,,binto the sanitisation box, the plugin will execute
preg_replace('/a/', 'b', $string)on every string printed directly from BibTeX. For instance,
(\w)b,,$1cwill replace all
bthat are not the first character in their respective word to be replaced with
- Why is it so slow?
Every source file you specify is loaded and parsed once per page load and the templates you use are unfolded with that data. Especially the first part is bound to take its time if you use huge BibTeX files (the PEAR parser is not the summit of engineering, unfortunately); try using only the BibTeX you absolutely need, preferably via the
If this does not help or you have huge publication lists (wow, you’ve been busy!), you are out of luck. The way to go is caching so you can avoid running through the whole process every time. You should use a plugin dedicated to that task, for example WP Super Cache. Take care to purge page caches when you change your BibTeX sources, though.
- How can I help?
- use Cite & List,
- vote on the WordPress plugin portal for it,
- report bugs and/or propose ideas for improvement here and
- blog about your experience with it.
Contributors & Developers
“Cite & List” is open source software. The following people have contributed to this plugin.Contributors