Template:Harvc/doc

This template is a citation hybrid that has characteristics of long-form cs1 and cs2, of short-form and of the  families of templates. Its purpose is to provide a method that allows editors to refer to a contribution or chapter in a larger work when more than a few such referrals are required. is not a substitute for a properly constructed citation.

Short-form templates and  are often used to link from an article's references section to a long-form cs1|2 template in a bibliography section:
 * → or:  →

It is not uncommon for a source to have multiple contributors. When it is necessary to refer to multiple contributions in the same source, repeating all of the bibliographic details in multiple long-form citation templates adds to references-section clutter. is designed to hold only the detail necessary to identify a contribution and link to the enclosing work's long-form citation where all of the bibliographic detail can be found:
 * → →  or:  →  →

Usage
The minimal form is:

According to the comments in Module:Harvc, mistaken error messages may be produced when the template is nested in other templates as on documentation pages. The otherwise undocumented parameter, yes, can be added to prevent this.

Parameters
creates a  anchor from one to four contribution or chapter author surnames (lastn) and the value in year. This allows to be the target of a link created by  or  family templates. From inn and year, creates a CITEREF link similar to those created by  and


 * |anchor-year= – optional, for use for author(s) with more than one contribution to the work; requires CITEREF disambiguator; see Examples
 * |author-link= – optional, title of existing Wikipedia article about the first contributor—not the contributor's website; do not wikilink; alias: |author-link1=
 * |author-linkn= – optional, title of existing Wikipedia article about contributorn; choose n to match n in |lastn=
 * |author-mask=m – optional, replaces name of the first contributor with m (commonly 2) em dashes; alias: |author-mask1=
 * |author-maskn=m – optional, replaces name of contributorn with m em dashes; choose n to match n in |lastn=
 * |author-maskn=&lt;text> – optional, replaces name of contributorn with &lt;text>
 * |c= – required, the title of chapter or contribution; rendered quoted in upright font; aliases: |chapter=, |contribution=
 * |display-authors= – optional, defines how displays the contributor list; ignored when |name-list-style=harv:
 * display-authors – when empty or omitted, displays all contributor names in last/first format
 * n – displays n contributor names in last/first format; appends et al. when n is less than the number of contributors included in the template
 * etal – displays all contributor names in last/first format and appends et al.
 * |first= – optional, first contributor's given or first name; alias: |first1=
 * |firstn= – optional, contributorn given or first name; n begins at 2 and increases by 1 for each additional |firstn=
 * |id= – required when last1-last4 are the same as in1-in4; otherwise optional. See Examples
 * |in= – required, surname or last name of first editor or author of the work that includes the contribution; aliases: |in1=
 * |in2= – optional, surname or last name of second editor or author
 * |in3= – optional, surname or last name of third editor or author
 * |in4= – optional, surname or last name of fourth editor or author
 * |last= – required, surname or last name of first author; aliases: |last1=
 * |lastn= – optional, contributorn surname or last name; n begins at 2 and increases by 1 for each additional |lastn=;
 * |loc= – optional, other location identifier, displays after p or pp
 * |mode= – controls rendered display to match that of adjacent CS1 or CS2 citations; defaults to CS1 style
 * |mode=cs2 – mimic style (comma separators, no terminal punctuation, static text not capitalized)
 * |name-list-style= – optional, controls contributor name list display style
 * |name-list-style=harv – mimic or  format (one to four last names); overrides |display-authors=
 * |name-list-style=amp – inserts an ampersand between the last two contributor names
 * |nb= – optional, when set to, instructs  to render source link without parentheses around the year; same format as that produced by
 * |p= – optional, single page number where cited material can be found; aliases: |page=
 * |pp= – optional, multiple page numbers, page ranges, etc where cited material can be found; aliases: |pages=
 * |ps= – optional, sets terminal punctuation; default is full stop; overrides |mode=cs2; aliases: |postscript=
 * |ps=none – renders output without terminal punctuation
 * |url= – optional, URL of an online location where the text of the contribution can be found; aliases: |chapter-url, |contribution-url
 * |url-access= – optional, use when URL links to a source behind a registration barrier or paywall; inserts cs1|2 access icon; accepted values are:,  ,
 * |year= – required, publication year of the work that includes the contribution

Detailed example
When a Wikipedia article makes reference to a work that contains multiple chapters by different authors, bibliographies and reference sections can look rather cluttered:



As the list grows longer, the look becomes more cluttered with the unnecessarily repeated detail of full-length citations. With editors can link to shorter, less detailed contribution citations using standard implementations of  templates and  templates (and also wrapped in  tags with ). may also be wrapped in  tags so that it becomes part of the article's References section. See full example below.

Avoiding circular reference
It may sometimes be necessary to cite a contribution of a source's editor or author such that last1 through last4 are the same as in1 through in4, an editor's preface for example. Such citations can, depending on placement, cause or -family references to link directly to the citation instead of to the  template, or cause circular links ( linking to itself because its   anchor identifier is the same as the citation's   anchor identifier). If id is set, will use it as an anchor identifier; if id is not set,  will emit an error message when last1 through last4 are the same as in1 through in4.

For example, to reference an editor's preface from article text, create a wikilink inside  tags:

Write a template with Stefferud preface

Note again the parameter  is simply to suppress errors that occur when this template is embedded, such as in documentation. It should not be used otherwise.

More than one contribution
There are times when an author or authors will have contributed more than once to a work. When this occurs, it is necessary to disambiguate the CITEREF links from the or  templates to the CITEREF id of the appropriate  template.


 * → → }

In this example, author David Hunt contributed two appendices to Christmas Cacti: The Genus Schlumbergera and Its Hybrids.

There are two templates that are disambiguated:
 * → Hunt 1995a
 * → Hunt 1995b

These link to two templates which use anchor-year for their CITEREF id and for the date in the  rendering as a visual aid for readers:

Collision with a different work
Because the mediawiki software uses CITEREF id to link from the harv or sfn templates to the matching destination anchor of the appropriate harvc template (or full citation), CITEREF ids must be unique page-wide. Since the CITEREF id typically consists of 'CITEREF' + LastName of author(s) + Year, this can be problematic in two cases. The first case was described above. The other case is collision with a different work, described here.

There are times when an author you wish to cite using harvc has just one chapter contributed to a work, but the same author also wrote an entirely different work in the same year. Citing both of these in the normal way would cause a CITEREF id collision on the page and result in an error message. There are two ways to resolve this: one involves an additional parameter in the harvc template, the other way involves an additional parameter in the full citation of the other work.

The first way is to add the anchor-year param to the harvc chapter citation, as already described above for the case of two chapters by one author. This will assign a uniqueness character to the Year portion of the CITEREF id, thus distinguishing it from the CITEREF id of the other work that year by the same author.

The other way, is to add a ref param to the cite book (or other full citation) of the other work in the same year by that author, specifying a different id as the ref value. See Template:Cite book for more about using ref to specify a destination anchor for a citation, and see harvid for how to specify the ref param value.

Error messages
emits these error messages:
 * harvc: author missing from source list.
 * the source list parameters in1, in2, in3, and in4 form the template's  link to the full citation.  All are not required but must be used in order without numerical gaps.
 * harvc: invalid anchor-year.
 * when used, anchor-year must be a three- or four-digit number and must have a lowercase  disambiguator. When the source does not have an identifiable year, use n.d.l or ndl with lowercase   disambiguator.
 * harvc: invalid display-authors.
 * the value assigned to display-authors must be a number greater than 0 or the keyword
 * harvc: invalid year.
 * year is an integral part of the template's  anchor and link.  The value of year must be a three- or four-digit number with an optional lowercase   disambiguator. When the source does not have an identifiable year, use n.d. or nd.
 * harvc: missing year.
 * year is missing; the parameter is required.
 * harvc: no authors in contributor list.
 * this error message indicates that can't find any of last, last1, author or author1 with an assigned value and so cannot make a usable   anchor.  Add at least one of the listed parameters.
 * harvc: required contribution is missing.
 * this error message indicates that can't find any of c, chapter, or contribution with an assigned value
 * harvc: required id parameter missing.
 * this error message is emitted when the template's   anchor identifier would conflict with the long-form citation's   anchor identifier.  See Examples
 * harvc: year / anchor-year mismatch.
 * the year portion of YYYYl must match the year given in YYYY

Additional information about "no target" and other category errors may be found at Category:Harv and Sfn no-target errors.