Extension:Cite/Cite.php


 * ''This page is about the extension. See also Help:Footnotes, and Wikipedia:Footnotes for the use in the English Wikipedia.

Cite.php is a Cite extension that adds two parser hooks to MediaWiki,  and  ; these operate together to add citations to pages.

Installation

 * 1) Download the snapshot that matches your version of MediaWiki and put it in the extensions directory.
 * 2) * The SVN seems currently buggy. Keep to version Cite-MW1.16-r62678. See discussion page. Alkarex 09:45, 14 September 2010 (UTC)
 * 3) Create a folder called Cite and put the extracted files in this folder.
 * 4) Extract the new folder to your extensions directory folder.
 * 5) Add the following line to the bottom of LocalSettings.php (though not after trailing ?>, if it is present):
 * 6) Installation can now be verified through Special:Version of your wiki.
 * 1) Installation can now be verified through Special:Version of your wiki.

Usage
The basic concept of the &lt;ref> tag is that it inserts the text enclosed by the ref tags as a footnote in a designated section, which you indicate with the placeholder tag &lt;references/>. This format cannot be used interchangeably with the older format — you must pick one or the other.

If you forget to include &lt;references/> in the article, the footnotes will not appear, but a red error message will be displayed at the end of the page.

This page itself uses footnotes, such as the one at the end of this sentence. If you [ view the source] of this page by clicking "Edit this page", you can see a working example of footnotes.

Example
 According to scientists, the Sun is pretty big. &lt;ref>E. Miller, The Sun, (New York: Academic Press, 2005), 23-5.&lt;/ref> The Moon, however, is not so big. &lt;ref>R. Smith, "Size of the Moon", Scientific American, 46 (April 1978): 44-6.&lt;/ref> &#61;=Notes== '''&lt;references/> 

Multiple uses of the same footnote
To give a footnote a unique identifier, use &lt;ref name="name">. You can then refer to the same footnote again by using a ref tag with the same name. The text inside the second tag doesn't matter, because the text already exists in the first reference. You can either copy the whole footnote, or you can use a terminated empty ref tag that looks like this: &lt;ref name="name" />. The quotes are not required (but not incorrect) if the name contains no embedded spaces. The space before the closing "/" may be omitted.

In the following example, the same source is cited three times.

 This is an example of multiple references to the same footnote. &lt;ref name&#61;"multiple">Remember that when you refer to the same footnote multiple times, the text from the first reference is used.&lt;/ref> Such references are particularly useful when citing sources, if different statements come from the same source. &lt;ref name&#61;"multiple">This text is superfluous, and won't show up anywhere. We may as well just use an empty tag.&lt;/ref> A concise way to make multiple references is to use empty ref tags, which have a slash at the end. Although this may reduce redundant work, please be aware that if a future editor removes the first reference, this will result in the loss of all references using the empty ref tags. &lt;ref name&#61;"multiple" /> &#61;=Notes== &lt;references/> 

The text above gives the following result in the article (see also section below): This is an example of multiple references to the same footnote. Such references are particularly useful when citing sources, when different statements come from the same source. A concise way to make multiple references is to use empty ref tags, which have a slash at the end. Although this may reduce redundant work, please be aware that if a future editor removes the first reference, this will result in the loss of all references using the empty ref tags.

Note: identifiers require alphabetic characters; solely relying on numerals will generate an error message

&lt;references/&gt;
Placing  inserts the full text of all pending inline citations defined by , anywhere on the page. For example, based on the citations above, the code:

will yield:

, which incorporates. It provides an optional parameter to display the reference list in multiple columns. For instance, the English, Hindi and Interlingua Wikipedias use the css selector  to make the reference text smaller than normal text.

In the case of multiple references-tags on a page, each gives the references defined in the ref-tags from the previous references-tag. In the case that these references-tags are produced by templates, each gives the references defined in the ref-tags before the first references-tag, and there is an error message that there is a ref-tag but not a references-tag.

Grouped references
This may be disabled by  if desired. However, it is enabled on the foundation wikis.

The following example generates separate reference lists for citations and miscellaneous footnotes:

 According to scientists, the Sun is pretty big &lt;ref>E. Miller, The Sun, (New York: Academic Press, 2005), 23-5.&lt;/ref>. In fact, it is very big &lt;ref group="footnotes">Take their word for it. Don't look directly at the sun!&lt;/ref>. &#61;=Notes== '''&lt;references group="footnotes"/> &#61;=References== '''&lt;references/>  The anonymous group works as before, while the named group reference will show up as, and the references will look like this: section, to the place where they will actually appear to the reader. Thus,

 According to scientists, the Sun is pretty big. &lt;ref name="miller"/> The Moon, however, is not so big. &lt;ref name="smith"/> &#61;=Notes== &lt;references> &lt;ref name="miller">E. Miller, The Sun, (New York: Academic Press, 2005), 23-5.&lt;/ref> &lt;ref name="smith">R. Smith, "Size of the Moon", Scientific American, 46 (April 1978): 44-6.&lt;/ref> &lt;references/> 

will have the same output as the first example above, although the numbering and order of the references will not in general be the same.

Customization
The format of the output of  and   is almost completely customizable through MediaWiki messages, that can be modified, for example, through the MediaWiki namespace depending on the configuration of the wiki.

For a list of messages that control the output of  and   and the values, if any, that are passed to them ($1, $2, $3 ...), see the code in CVS for an up-to-date listing of their default contents.

Source: Wikipedia stylesheet --Wikinaut 03:02, 23 December 2009 (UTC)
 * cite_reference_link_key_with_num
 * key
 * num
 * cite_reference_link_prefix
 * cite_reference_link_suffix
 * cite_references_link_prefix
 * cite_references_link_suffix
 * cite_reference_link
 * ref ID
 * backlink ID
 * count to display
 * cite_references_link_one
 * Used to format the source list that

Cite returns "cite_link_label_group"
The input:

Returns "cite_link_label_group" within the bracketed superscript when I load the page. I've tried with all versions of cite from 1.14 and up to trunk version with the same result. Running MewdiaWiki 1.16 with Swedish locale. Please help. (I've currently abandoned the idea of using this extension since it just doesn't do the job and lacks support. Sorry guys.) Thanks anyway.

Lars Svensson Setpember 12 2010.
 * Yes, I have had the same problem with SVN version and got back to version Cite-MW1.16-r62678 to get it to work. But you need to re-edit a page to get it updated. See the discussion page for such matters. All the best. Alkarex 09:42, 14 September 2010 (UTC)

Problem with cites and references
I installed MediaWiki 1.15.1 For solving the problem with cites and references I made the following as I was suggested:


 * Download the snapshot that matches your version of MediaWiki and put it in the extensions directory. (done)
 * Add the following line to LocalSettings.php:
 * $IP/extensions/Cite/Cite.php; (done)
 * $IP/includes/DefaultSettings.php; (done)

And don´t work

Any suggestion or help? Thanks in advance Coconuts34 18:15, 11 November 2009 (UTC)

Remove this line. "$IP/includes/DefaultSettings.php;" This is likely already called in your LocalSettings.php. All you need to do is make sure that "$IP/extensions/Cite/Cite.php;" comes after "$IP/includes/DefaultSettings.php;". 192.75.172.1 16:17, 14 December 2009 (UTC)
 * -Thanks a lot for your help! Coconuts34

Fatal error: Call to undefined function wfloadextensionmessages
Fatal error: Call to undefined function wfloadextensionmessages in /home/extensions/Cite/Cite.php on line 32.

This error was received once extension was added. $wgExtensionMessagesFiles works only with version 1.11. Update your version. or download 1.10 branches extensions

Apache error
PHP logs an error in the Apache error log: (MediaWiki 1.6.8, PHP 4.4.4, Apache 1.3.37) [error] PHP Notice: Use of undefined constant __METHOD__ - assumed '__METHOD__' in extensions/Cite/Cite.php on line 609 [error] PHP Notice: Use of undefined constant __METHOD__ - assumed '__METHOD__' in extensions/Cite/Cite.php on line 612
 * I was able to fix this by placing single quotes around __METHOD__ on both lines (609 & 612)
 * This is because the __METHOD__ is only available since PHP 5, using '__METHOD__' is not a correct fix. --Løde

Version 1.6.8
It doesn't work with version 1.6.8! I eventually got cite.php working with "13660" but not "13826" versions. My error messages appeared at the top of the page:


 * Warning: Cannot modify header information - headers already sent by (output started at /****/wiki/extensions/Cite.i18n.php:399) in /****/OutputPage.php on line 575
 * Warning: Cannot modify header information - headers already sent by (output started at /****/wiki/extensions/Cite.i18n.php:399) in /****/wiki/includes/OutputPage.php on line 576

[This error can occur if there is an extra (not visible) character in the php file. It seems to happen a lot of with desktop editors, at least on Windows. Try editing the file using your shell account (pico or vi) and remove any leading or trailing characters.]

Misrendered anchor link character
??? appears in rendered pages instead of ↑ &mdash; it might be possible to fix this by replacing the up arrow character with &amp;#8593; (the corresponding HTML entity; rendered &#8593;). Alternatively, the caret (^) can probably be used as a substitute.

Templates

 * Using  in templates breaks numbering:Issue with MediaWiki regarding in what order things are parsed
 * Using  within a template will create correctly numbered reference mark but it will be missing from the output of a   on the calling page (example) unless the  references tag is transcluded too!
 * It's impossible to pass template arguments to, e.g.  , with older versions of MediaWiki, see bug 4529.  As of 1.12+, it is possible to do template arguments with the   magic word inside of the template:


 * Template substitution misrenders inside  tag.

HTML parameters

 * The citation links generated by &lt;ref&gt; and the backlinks generated by &lt;references&gt; have an empty  attribute
 * Issue with MediaWiki, not this extension. MediaWiki will generate output like  when given input like


 * Missing name= anchors for backwards compatibility ( 5567 )
 * The generated &lt;a href="#_note-n"&gt;</tt> links should have a name="_ref-n"</tt>.
 * The generated &lt;a href="#_ref-n"&gt;</tt> links should have a name="_note-n"</tt>.
 * This currently seems to be working.

HTML commenting-out doesn't work
Commenting out  with HTML comments   hides the citation but the reference still appears on the list
 * This would appear to be a parser error…
 * Seems to be fixed with the new parser. —81.241.208.92 14:16, 2 February 2008 (UTC)

ParserFunctions
cite.php cannot be nested properly in ParserFunctions. For example, " " will return both "true" and "false" as references regardless of the result of the ParserFunction. However, ParserFunctions work perfectly inside &lt;ref&gt; tags.
 * How about you try " "? MC10 02:52, 21 April 2010 (UTC)
 * Yes, but you will have to use  --✓ 21:03, 20 February 2011 (UTC)

Blank Special:Version

 * It seems that the following code causes v1.9.2's Special:version page to go blank:

'author' => 'Ævar Arnfjörð Bjarmason',
 * Changing it to this fixes it (apologies if it's 'translated' wrong):

'author' => 'AEvar Arnfjord Bjarmason',

Rendering
Contents of non-first named  are not rendered, even if all prior tags with same name are empty.

Missing preview
There is no preview for inline citations. This is especially annoying when editing only a section of a page. (Bug 5984)

Users without edit privileges can't see references if sysops can
The following combination of $wgGroupPermissions makes references invisible to users who aren't logged in (Bug 11224). This bug started sometime after Mediawiki 1.9.3. and persists to 1.13.2

Workaround
A current work-around is to set and not grant any editing rights to sysops. Users who are sysops would then need to be part of another group with editing privileges.

Partial fix available
This bug was partially fixed in revision 36333. Reinstall Cite.php and the references would become visible (thus the above workaround is not necessary). However, some bogus behaviour persists: all reference hyperlinks are linked to the first footnote below (instead of their corresponding numbers), all backwards hyperlinks from footnotes jump to the first reference in the text (instead of their corresponding numbers), and references in transcluded pages are not properly handled.

See the discussion page for further ideas on the problem.

Grouping references
If I do  Blah   Walla. </tt>, I get:
 * Blah [1][2][3][4] Walla.

instead of
 * Blah[1] – [4] Walla.

Criticisms
The major criticism regarding Cite.php is that it renders the editing of references much more tedious. Moreover, because many casual Wikipedia users are not familar with the cryptic Wikitext tags that they find with the use of Cite.php, it is likely that the net effect of Cite.php is often to deter new users from making edits to reference sections. Although Wikipedia supposedly got its name from the Hawaiian word "wiki-wiki", meaning "quick-quick", Cite.php is arguably neither quick nor easy for the average Wikipedia user.


 * This can now be solved by separating references from the text.


 * However, at least one editor, Ta bu shi da yu, finds it useful to have the references embedded within the text when splitting articles and shifting text with footnotes around the article. With the old system, or when using Cite.php with separated references, when a paragraph with a footnote needs to be moved, multiple footnotes in the Notes section may need to be shifted. This is very difficult to do. With Cite.php and in-line references, reorganising text and splitting articles is considerably easier.

Using cite.php makes citing page numbers harder. Each reference usually cites a different page of the book/journal/article, but there is no way to indicate a different page number when using a self-closing tag. As such, all simply refer to the work as a whole, rather than to a specific page number in the work (unless the author makes each page number a seperate reference). Perhaps a future revision of cite.php could allow a page number argument to be passed to the reference like so. This would dramatically increase the reputability of the citations, because they could then be checked/verified, and the citations would be a more useful resource.


 * This can be solved by using the template on en.wikipedia to append :20 the specific :30 page number :33 to each reference. The formatting has been simulated here because the MediaWiki site does not contain the  template. If this had been an actual Wikipedia page, the full template with its many options could have been utilized.

in image captions breaks the XHTML output:Issue with MediaWiki, not this extension, see bug 1887.

Comparing ref/note style and Cite.php style
They are actually very similar.


 * To make a single use footnote:
 * Ref/note
 *   at the in-text place.
 *  # text of note at the proper place in the Notes list.
 * Cite.php
 *   at the in-text place.
 * (Only needed once per article)  under the Notes heading.
 * To make a multiple use footnote:
 * Ref/note
 * With strict ref/note style this was impossible, but a number of alternative forms had been created, for the details of which, see the appropriate pages.
 * Cite.php
 *   at each in-text place.
 * Alternatively    A self-closing tag on every use after name=foo has been defined.
 * (Only needed once per article)  under the Notes heading; exactly the same as to make a single-use note.

Harvard references extension
There is an Extension:HarvardReferences that can be used to support "Harvard" ("author - date") system of references, e.g.  [Smith 2010:1] . This reference system is often used in scientific literature. Both extensions are compatible. Moreover, links in "Harvard" system can be inserted into body of ref-link, and vice versa. It may be helpful to support book-style comments/subnotes with a "scientific" source references. For example: