Category:Harv and Sfn template errors

This category holds articles that use any of the short-cite templates ( and template families, and ) where one or more of those short-cite templates do not properly link to a full citation, the target, or where multiple full cites can be the target of a single short-cite template.

Due to technical limitations, contains many articles with false-positive errors. No-target error messages are hidden by default. Articles with multiple-target errors are listed in. Multiple-target errors are not susceptible to false-positive errors so those errors are not suppressed. Several options to view error messages are detailed below, as well as possible ways to resolve errors.

Displaying error messages
Currently, two user scripts relatively reliably detect errors as well as a third experimental method based on customizing a .css page. The three methods are
 * User:Svick/HarvErrors.js – Errors only
 * User:Trappist the monk/HarvErrors.js – Errors + Warnings about potential errors when short footnote templates are used. This has substantially fewer pointless warnings than Ucucha's old script.
 * Method 1 – Automatic script installation
 * Go in the 'Gadgets' tab of your preferences and select the 'Install scripts without having to edit JavaScript files' option at the bottom of the 'Advanced' section.
 * Click on the 'Install' button in at the top of either User:Svick/HarvErrors.js, or User:Trappist the monk/HarvErrors.js


 * Method 2 – Manual script installation
 * Go to Special:MyPage/common.js and add any of
 * importScript('User:Svick/HarvErrors.js'); // Backlink: User:Svick/HarvErrors.js
 * importScript('User:Trappist the monk/HarvErrors.js'); // Backlink: User:Trappist the monk/HarvErrors.js
 * in your skin page, like this. Alternatively, you can go to Special:MyPage/skin.js to make the script apply only to your current skin.


 * Method 3 – .css code for error messages emitted by the short-cite templates
 * Error messages are emitted by the various short-cite templates via Module:Footnotes and Module:Harvc. Because of technical limitations, the modules can emit false-positive error messages along with valid error messages.  For this reason, no-target error messages are hidden by default. To show these hidden error messages, include the following text in your common.css page or your specific skin.css page:
 * .harv-error {display: inline !important;}					/* display Module:Footnotes errors */
 * Error message display may be enabled in the future.

Error messages
If short-cite template error messages are enabled, editors can see these messages: Similar (although not identical) messages are emitted by the user scripts. See the script documentation.
 * 1) – short-cite template cannot find  so cannot link to a full-cite target.  Causes for this can be:
 * 2) the article does not have full-cite target with
 * 3) the matching full-cite target is a cs1 or cs2 template that:
 * 4) has none
 * 5) uses a redirect name when that redirect does not begin with  or   – these two forms cover most of the cs1|2 redirects
 * 6) the full-cite target does not use exactly the same author or editor surnames and/or date as listed in
 * 7) the short-cite template links to a full-cite target that is a wrapper-template; see false-positive errors below
 * 8) – short-cite template found more than one full-cite target with a matching .  Causes for this can be:
 * 9) authors' writings from different sources produced in the same year cited without disambiguation 2020a, 2020b
 * 10) redundant use of the full cite where one full-cite target might be in a References section and a duplicate might be in a Further reading section

Resolving errors
Ways of resolving legitimate errors include:
 * adding a missing full citation. When short citations are copied from one article to another without a full citation, you can sometimes find the full citation in a related article using Wikipedia's search feature.
 * correcting the author and/or editor names in either the short or full citation so that they match each other
 * correcting or adding dates in either the short or full citation so that they match each other; remember that date ranges are separated with an ndash character (–)
 * converting a plain-text full citation into a templated citation using one of the cs1|2 families of templates (e.g. Cite book) or one of the Vcite family of templates (e.g. vcite book)
 * change cs1|2 template redirect names that do not begin with  or   to the target of the redirect (e.g. change encyclopedia to cite encyclopedia)
 * create and use redirects for citation wrapper templates:  → .  Consider renaming the wrapper template so that its canonical name is  because there are automated processes out there that rename redirects to their canonical names; once renamed by these drones, false-positive error messaging may reappear.
 * wrapping a plain-text citation inside wikicite and setting ref or id as appropriate to match the value expected by the short-cite template
 * placing anchor adjacent to the plain-text citation; set the parameter value to the value expected by the short-cite template
 * set the short-cite parameter none to suppress anchor ID link creation

Ways of resolving false positive errors include:
 * adding the CITEREF to:
 * Module:Footnotes/whitelist – use this when many articles use the same long-form citation
 * a template in the article

Ways of resolving errors include: No advice is given for resolving false-positive errors.
 * adding none to cs1|2 templates
 * adding disambiguation letters to date and to the sfn template when there are multiple full citations to works in the same year by identical authors or editors
 * converting redundant full citations into short citations using sfn, leaving only one full citation to the referenced work in the article
 * entirely removing a redundant full citation, e.g. identical full citations in a "Bibliography" section and in "Further reading"

Brief explanation
When a short-cite template links to a full citation that is rendered by a template that wraps a CS1 template, like (which wraps ), a  error may be displayed even when the short-cite template is valid and the link works. That is a "false positive" error. If you find what looks like a false positive error, please report it on the talk page for this category, and another editor will either fix the article or add the template in question to Module:Footnotes/whitelist.

Details
The short-cite templates employ an article reader to read the article's raw wikitext (the same text that you see in the source editor's edit window). While reading the wikitext, the article reader looks for a variety of templates that can create anchor IDs. For each such template found, the article reader attempts to extract the necessary information to determine the template's anchor ID, if it produces one. For cs1|2, the most common long-form citation templates, the article reader looks for: The article reader extracts similar information from other templates as appropriate for those templates.
 * The default anchor ID created by the template automatically: up to four author / editor / contributor surname(s) and the year portion of the date
 * ref: the anchor ID generated by (or its redirect )
 * &lt;plain text>: the anchor ID is the

Each long-form citation anchor ID is saved in a list along with a tally indicating how many of that ID the article reader found. When the short-cite template renders its output, it looks for its target anchor ID in the anchor-ID list:
 * anchor ID found and the tally is 1: short-cite template is rendered without error message
 * anchor ID found and the tally is 2 or more: short-cite template is rendered with a error message and the article is added to Category:Harv and Sfn template errors
 * anchor ID not found: short-cite template is rendered with a error message and the article is added to Category:Harv and Sfn template errors

The errors may be true errors or may be false-positive errors. For true errors, there is no anchor ID in the article to match the anchor ID expected by the short-cite template. A false-positive error occurs because the article reader can only read the article's raw wikitext, it cannot burrow into wrapper templates. Wrapper templates enclose the template that creates the anchor ID. This enclosure hides the necessary details, so the article reader cannot determine that wrapper template's anchor ID. For example, is a wrapper template that encloses. The values assigned to the parameters year and supplement tell  how to set editor names and date in its call to the enclosed, which uses them to create the wrapper template's anchor ID. When a wrapped template creates a matching anchor ID that the article reader cannot see; the link from short-cite to long-form citation works but is marked with a false-positive error message.