Mediawiki citations, references, and bibliography management
|
By Eric Hartwell - last updated August 31, 2007
As a documentation tool, MediaWiki has several way to support citations, references, and bibliographies.
[edit] Citation support
[edit] Requirements
For ease of use, a MediaWiki citation tool should be directly accessible from any page in which a citation is used.
- The tool should recognize and use information stored in any Wikipedia Citation templates
- Formatting must be flexible enough to support the standard styles (MLA, APA, Chicago, etc.) and easily customized if required.
- It would be convenient to have centralized access to all citations in the wiki, with a cross reference by pages used and references per page.
- It should be possible to view and edit citations in a list format rather than page by page.
- A specific citation should NEVER be entered more than once. Ideally, the system would detect duplicates as they are input.
- Citation data should be stored with the corresponding wiki page data for easy import and export, rather than in a separate, additional database table
- It could be stored within the page contents as Category now is.
- It could be stored in a separate namespace as Image now is. This approach simplifies the use of citations shared between articles.
- It would be extremely helpful to have a form-based input mechanism, along with a tool that tries to automatically parse an input string into the citation fields
[edit] Proposal
Based on the requirements above, the cleanest way to integrate formal citation support with MediaWiki is to handle citations like images.
Use a syntax similar to Image:Xxx, such as Cite:Xxx in such a way that it's seamlessly compatible with existing Wikipedia citation templates.
- Citation data is stored as normal MediaWiki content but in its own namespace
- Just as with images, the citation reference is displayed as formatted data with a link to the source page
- Special: and Media: are pseudo-namespaces; no pages actually exist in them
- Parser.php makeImage() parses image options text and uses it to make an image, called from replaceInternalLinks()
- Optional parameters can control formatting and display (e.g.
Cite:Xxx|MLA|Jones, with alternate caption)
- Just as with images, the citation reference is displayed as formatted data with a link to the source page
- One page per citation
- Contents
- Additional information
- Discussion, History, all other MediaWiki tools available
- Citations may be unique to a page or shared among multiple pages
- Can borrow code for "The following pages link to this file:"
- Citation data should be stored in plan-text BibTeX format
- Citations can be imported and exported from existing BibTeX
- Can use existing input, parsing, and formatting tools
[edit] Implementation
If at all possible, citation support should be implemented as a standard MediaWiki extension rather than as a patch. This decouples it from the MediaWiki version and simplifies testing and deployment.
As always, the best approach is to use existing code wherever possible.
- Current MediaWiki tools:
- Extension:Cite is a collection of extensions that can be installed independently and operate independently of each other; the only thing that they have in common is that they improve citation support in one way or the other.
- Cite.php is a Cite extension that adds two parser hooks to MediaWiki,
<ref>and<references />; these operate together to add citations to pages. - SpecialCite.php is a Cite extension that adds a special page (Special:Cite) and in the main namespace, a toolbox link to it
- Cite.php is a Cite extension that adds two parser hooks to MediaWiki,
- Bibtex is designed to parse bibtex sources and display them in web pages using mediawiki engine. The bibtex code is placed inside
<bibtex>...</bibtex>markups. - Bibwiki offers a interface to manage bibliographies. Bibwiki is a Special: page where you can collect your bibliographic records. The bibliographies itself are stored a in plain text files in BibTeX format. In contrast to other programs, Bibwiki alters the bibliographic files directly. There's no need to import or export bibliographic information into or from a separate database.
- Wikicite is a Visual Basic .NET program for Microsoft Windows that helps people to properly add inline references to Wikipedia articles. As of 2006 it is the only program in the world that performs this function.
- Wikipedia:Citation templates examples of how to use templates to cite books, encyclopedias, journals, theses, papers, websites, comic strips, videos, and editorial comics.
- Wikicite project to create a card catlog on line, with an entry for each book, and for each article available.
- Extension:Cite is a collection of extensions that can be installed independently and operate independently of each other; the only thing that they have in common is that they improve citation support in one way or the other.
- From Wikipedia:Citing sources
- Wikipedia:WebCite - tool to archive webpages to allow stable citation links.
- Template builder — Given an ISBN, a PubMed ID, etc., output a citation which can be pasted into a Wikipedia article.
- Reference generator — generates wikicode for journals, webpages, and other commonly cited sources.
- Wikipedia:User:CitationTool - tool for finding citation errors and fixing them.
- Wikicite is a free program that helps editors to properly reference their Wikipedia contributions using citation templates. It is written in Visual Basic .NET, making it suitable only for users with the .NET Framework installed on Windows, or, for other platforms, the Mono alternative framework. Wikicite and its source code is freely available, see the developer's page for further details.
- Wikipedia:OttoBib.com a free tool to generate an alphabetized bibliography for books, using an input list of Wikipedia:International Standard Book Number (ISBN) numbers, with output in MLA, APA, Chicago/Wikipedia:Turabian, Wikipedia:BibTeX, or Wikipedia format (also generates a permalink).
- The <ref> element - adds ref functionality to wiki sites.
- Wikipedia:Zotero allows you to find articles in Mozilla Firefox and easily paste them into Wikipedia as citation templates using Ctrl-Alt-C
- Verisimilus's Cite generation page lets you find articles using built-in Google Scholar interface and automatically produce an appropriate cite template. It also features a BibTeX to {{cite}} converter.
We could reuse Bibwiki code for citation input and management and Bibtex code for formatting. Cite implements one way to manage references within an article page, but problems with the MediaWiki parser prevent its use with template pages.
[edit] Wikipedia Citation templates
Wikipedia uses the {{Citation}} template to cite books, encyclopedias, journals, theses, papers, websites, comic strips, videos, and editorial comics. As with most complex templates, the base template calls others. Here's a list of pages you can use to export from Wikipedia and import into your own wiki.
| Templates | Documentation | More docs, interwiki |
|---|---|---|
Template:Citation Template:Citation/authors Template:Citation/core Template:Citation/doc Template:Citation/patent Template:! Template:CMS Template:Esoteric Template:Harvard reference/authors Template:Howtoedit Template:Interwikitmp Template:Interwikitmp-grp Template:Link Template:Intricate template Template:Nowrap Template:Tl Template:Tl2 Template:Tlx Template:Tlxw Template:UF-COinS |
Template:Nowrap/doc Template:Template doc Template:Template doc inline Template:Template doc inline/doc Template:Template doc/doc Template:Template doc page transcluded Template:Template doc page transcluded/doc Template:Template doc page viewed directly Template:Template doc page viewed directly/doc Template:Tl/doc Template:Tlx/doc |
Template:Pp-template Template:Lcs Template:Ltsany Template:Ltswpd |
[edit] Citation data formats
[edit] BibTeX format
The most common and straightforward format for citations is BibTeX.
- BibTeX makes it easy to cite sources in a consistent manner, by separating bibliographic information from the presentation of this information. It uses a style-independent text-based file format for lists of bibliography items, such as articles, books, theses. BibTeX bibliography files usually end in .bib.
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A .bib file might contain the following entry, which describes a mathematical handbook:
@Book{abramowitz+stegun,
author = "Milton Abramowitz and Irene A. Stegun",
title = "Handbook of Mathematical Functions with
Formulas, Graphs, and Mathematical Tables",
publisher = "Dover",
year = 1964,
address = "New York",
edition = "ninth Dover printing, tenth GPO printing"
}
[edit] BibTeX tools
- Son of Citation Machine is an interactive web tool designed to assist high school, college, and university students, their teachers, and independent researchers in their effort to respect other people's intellectual properties. To use Citation Machine, simply...
- Click the citation format you need and then the type of resource you wish to cite,
- Complete the Web form that appears with information from your source, and
- Click Make Citations to generate standard bibliographic and in-text citations.
- Bibtex is designed to parse bibtex sources and display them in web pages using mediawiki engine. The bibtex code is placed inside
<bibtex>...</bibtex>markups. - Bibwiki offers a interface to manage bibliographies. Bibwiki is a Special: page where you can collect your bibliographic records. The bibliographies itself are stored a in plain text files in BibTeX format. In contrast to other programs, Bibwiki alters the bibliographic files directly. There's no need to import or export bibliographic information into or from a separate database