Help:Cite errors
![]() | This help page is a how-to guide. It explains concepts or processes used by the Wikipedia community. It is not one of Wikipedia's policies or guidelines, and may reflect varying levels of consensus. |
The Wikipedia footnotes system has the ability to detect errors. This page documents the error messages and provides an understanding of the problem and solutions.
Overview
Cite.php is the software extension for the footnotes system. Two HTML-style tags are used to define and show the references.
<ref>
Single use footnotes are defined by enclosing content within <ref>...</ref>
:
<ref>content</ref>
A footnote used multiple times may be defined with a name:
<ref name="foo">
content</ref>
To invoke a named footnote:
<ref name="foo" />
Footnotes may be defined in groups:
<ref group="foo">
content</ref>
<references />
To display the reference list, after all of the <ref>...</ref>
tags, include:
<references />
To display a list of references defined in a group, include:
<references group="foo" />
Names
Names for footnotes and groups must follow these rules:
- Names are case-sensitive. Please do not use raNdOM capitalization.
- Names must not be purely numeric; the software will accept something like
":31337"
(which is punctuation plus a number), but it will ignore"31337"
(purely numeric). - Names should have semantic value, so that they can be more easily distinguished from each other by human editors who are looking at the wikitext. This means that ref names like
"Nguyen 2010"
are preferred to names like":31337"
. - Names must be unique. You may not use the same name to define different groups or footnotes. Try to avoid picking a name that someone else is likely to choose for a new citation, such as
":0"
or"NYT"
. - Please consider keeping reference names short, simple, and restricted to the standard English alphabet and numerals. If spaces are used, the following technical restrictions become relevant:
- Quotation marks are preferred but optional if the only characters used are letters
A–Z
,a–z
, digits0–9
, and the symbols!$%&()*,-.:;<@[]^_`{|}~
. That is, all printable ASCII characters except#"'/=>?\
and space. - Inclusion of any other characters, including spaces, requires that the reference name be enclosed in quotes; for example,
name="John Smith"
. But quote-enclosed reference names may not include a less-than sign (<
) or a double straight quote symbol ("
), which may, however, be included by escaping as<
and"
respectively. - The quote marks must be the standard, straight, double quotation marks (
"
); curly or other quotes will be parsed as part of the reference name.
- Quotation marks are preferred but optional if the only characters used are letters
- You may optionally provide reference names even when the reference name is not required. This makes later re-use of the sourced reference easier.
Templates
Several templates have been developed for use with references:
- {{Reflist}} adds the
<references />
tag with some formatting options - {{R}} invokes up to five named references
- {{Sfn}} invokes named references for shortened footnotes
Error messages
The messages will be formatted as an error.
These messages are dependent on the language setting in Special:Preferences— this list applies only to "en — English."
- There are
<ref>
tags on this page without content in them (see the help page).
- The opening
<ref>
tag is malformed or has a bad name (see the help page).
- The
<ref>
tag has too many names (see the help page).
- The
<ref>
tag name cannot be a simple integer (see the help page).
- A
<ref>
tag is missing the closing</ref>
(see the help page).
- The named reference
$1
was invoked but never defined (see the help page).
- Invalid parameter: use the
{{reflist}}
template with thegroup
parameter (see the help page).
- Ran out of custom backlink labels (see the help page).
- There are
<ref group=$1>
tags on this page, but the references will not show without a{{reflist|group=$1}}
template (see the help page).
- A list-defined reference has a conflicting group attribute
"$1"
(see the help page).
- A list-defined reference named "$1" is not used in the content (see the help page).
- A list-defined reference has no name (see the help page).
- A list-defined reference with the name "$1" has been invoked, but is not defined in the
<references>
tag (see the help page).
- Cite error: $1
Other problems
Some problems may not show a cite error message, while others may not be obvious.
A page shows in the reference error category, but no cite errors show
If <ref>...</ref>
includes a URL with an =, and if the reference is inside a template, then the template will fail. Depending on the placement of the URL, the cite error message may not display, but the page will be included in the error category. Ensure that = are encoded as =
refTools should catch this problem.
For example, an incorrectly nested reference where {{lower}} is being used to make the reference smaller:
{{lower|<ref>content1<ref>content2</ref>[http://www.washingtoninstitute.org/templateC05.php?CID=2386]</ref>}}
Reference links show in the body of the article, but do not show in the reference list
This may be caused by a template that is not properly closed with }}.
It can also be caused by multiple footnotes that are defined to use the same name. Links will be generated for both, but only the first will show in the references list: For example:
<ref name="foo">
content1</ref>
<ref name="foo">
content2</ref>
Only content1 will show. refTools will catch this problem.
Content on a non-article page is missing
If a footnote does not have a closing </ref>
, it will "eat" the following text, causing it to not show. This normally shows a cite error, unless it is the last footnote on the page. Normally, this would then suppress the <references />
tag, generating an error, but the message for a missing <references />
tag is suppressed on non-article pages. refTools will catch this problem.
Templates
Some templates may include <ref>...</ref>
tags; for example {{botanist}}. If a template of this type in included without the <references />
tag, then an error is generated, but the problem is not obvious. refTools will not catch this problem.
Several methods are available for solving this problem. Below they are listed in order of preference. Note that only one of these is required, not all of them.
Method 1
If the template has a documentation page, add <references />
there.
Method 2
Add the following code to the end of the template:
<noinclude> {{Template reference list}} </noinclude>
Method 3
Add the following code to the end of the template:
<noinclude> <div style="display: none"><references /></div> </noinclude>
Cons: Hides the references, not informing the user that it is there; editors won't be able to check the references formatting.
Method 4
Include the <references />
tag within the template itself using the group
parameter. See Help talk:Cite errors/Testcases1 for an example.
Cons: Creates a separate references section that may not be obvious; does not allow reuse of the references within the body of the article.
Tools
refTools can be enabled via Preferences → Editing → Usability features. It includes an error checking tool for common problems.
Messages, namespaces and categories
Internal messages are generated by the Cite.php extension and shown as a MediaWiki message. See the parser hooks section of Special:Version for the installed version of Cite.php. These messages are in the MediaWiki namespace and can be modified only by admins.
The MediaWiki messages use {{broken ref}} to control the namespace and category. Messages show only on main (article), user, template, category, help and file pages. Talk pages do not show error messages.
Category default sorting is by {{PAGENAME}} for the main namespace and by τ{{PAGENAME}} for template, category, help and file namespaces.
Bugs
- Template:Bug: Misleading error message for omitted
</ref>
s; this is the issue with the last</ref>
missing or malformed - Template:Bug: When nesting refs using cite.php extension, the ordering is wrong
- Template:Bug: Nested refs fail inside references block