Template:Harvc/sandbox
This is the template sandbox page for Template:Harvc (diff). See also the companion subpage for test cases. |
This template uses Lua: |
This template uses TemplateStyles: |
This template is a citation hybrid that has characteristics of long-form cs1 and cs2, of short-form {{sfn}}
and of the {{harv}}
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. {{harvc}}
is not a substitute for a properly constructed citation.
Short-form templates {{sfn}}
and {{harv}}
are often used to link from an article's references section to a long-form cs1|2 template in a bibliography section:
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. {{harvc}}
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:
Usage
[edit]The minimal form is:
{{harvc |last=contributor name |year=publication year |c=contribution title |in=source editor/author name}}
According to the comments in Module:Harvc, mistaken Harvc error: no target: error messages may be produced when the template is nested in other templates as on documentation pages. The otherwise undocumented parameter, |ignore-err=yes
, can be added to prevent this.
Parameters
[edit]{{harvc}}
creates a CITEREF
anchor from one to four contribution or chapter author surnames (|lastn=
) and the value in |year=
. This allows {{harvc}}
to be the target of a link created by {{sfn}}
or {{harv}}
family templates. From |inn=
and |year=
, {{harvc}}
creates a CITEREF link similar to those created by {{harvnb}}
and {{sfn}}
- |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=<text> – optional, replaces name of contributorn with <text>
- |c= – required, the title of chapter or contribution; rendered quoted in upright font; aliases: |chapter=, |contribution=
- |display-authors= – optional, defines how
{{harvc}}
displays the contributor list; ignored when |name-list-style=harv:|display-authors=
– when empty or omitted, displays all contributor names in last/first format|display-authors=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|display-authors=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
{{citation}}
style (comma separators, no terminal punctuation, static text not capitalized)
- |mode=cs2 – mimic
- |name-list-style= – optional, controls contributor name list display style
- |nb= – optional, when set to
yes
, instructs{{harvc}}
to render source link without parentheses around the year; same format as that produced by{{harvnb}}
- |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:
limited
,registration
,subscription
- |year= – required, publication year of the work that includes the contribution
Examples
[edit]Basic example
[edit]Without {{harvc}} | With {{harvc}} |
---|---|
|
|
* {{cite book |last=Doe |first=John |year=1990 |chapter=Chapter 1 |editor-last=Moe |editor-first=Mary |title=The Book of Knowledge |publisher=University Press}} * {{cite book |last=Poe |first=Jane |year=1990 |chapter=Chapter 2 |editor-last=Moe |editor-first=Mary |title=The Book of Knowledge |publisher=University Press}} * {{cite book |last=Roe |first=Robert |year=1990 |chapter=Chapter 3 |editor-last=Moe |editor-first=Mary |title=The Book of Knowledge |publisher=University Press}} |
* {{cite book |editor-last=Moe |editor-first=Mary |year=1990 |title=The Book of Knowledge |publisher=University Press}} ** {{harvc |last=Doe |first=John |c=Chapter 1 |in=Moe |year=1990}} ** {{harvc |last=Poe |first=Jane |c=Chapter 2 |in=Moe |year=1990}} ** {{harvc |last=Roe |first=Robert |c=Chapter 3 |in=Moe |year=1990}} |
Detailed example
[edit]When a Wikipedia article makes reference to a work that contains multiple chapters by different authors, bibliographies and reference sections can look rather cluttered:
- George, Ernest J.; Read, Ralph A.; Johnson, R. W.; Ferber, A. E. (1957). "Shelterbelts and Windbreaks". In Stefferud, Alfred (ed.). Soil: The Yearbook of Agriculture 1957. United States Department of Agriculture. OCLC 704186906.
- Harper, V. L.; Frank, Bernard; McQuilkin, W. E. (1957). "Forest Practices and Productivity". In Stefferud, Alfred (ed.). Soil: The Yearbook of Agriculture 1957. United States Department of Agriculture. OCLC 704186906.
- Stout, P. R.; Johnson, C. M. (1957). "Trace Elements". In Stefferud, Alfred (ed.). Soil: The Yearbook of Agriculture 1957. United States Department of Agriculture. OCLC 704186906.
- Wadleigh, C. H. (1957). "Growth of Plants". In Stefferud, Alfred (ed.). Soil: The Yearbook of Agriculture 1957. United States Department of Agriculture. OCLC 704186906.
As the list grows longer, the look becomes more cluttered with the unnecessarily repeated detail of full-length citations. With {{harvc}}
editors can link to shorter, less detailed contribution citations using standard implementations of {{sfn}}
templates and {{harv}}
templates (and also wrapped in <ref>...</ref>
tags with {{harvnb}}
). {{harvc}}
may also be wrapped in <ref>...</ref>
tags so that it becomes part of the article's References section. See full example below.
Avoiding circular reference
[edit]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 {{sfn}}
or {{harv}}
-family references to link directly to the citation instead of to the {{harvc}}
template, or cause circular links ({{harvc}}
linking to itself because its CITEREF
anchor identifier is the same as the citation's CITEREF
anchor identifier). If |id=
is set, {{harvc}}
will use it as an anchor identifier; if |id=
is not set, {{harvc}}
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 <ref>...</ref>
tags:
<ref>[[#Stefferud preface|Stefferud 1957]]</ref>
Write a {{harvc}}
template with |id=Stefferud preface
{{harvc |last=Stefferud |first=A.|year=1957 |id=Stefferud preface |c=Preface |url=https://archive.org/stream/yoa1957#page/n7/mode/1up |in=Stefferud}}
Markup | First information.{{sfn|George|Read|Johnson|Ferber|1957}} Second.<ref>{{harvnb|Stout|Johnson|1957}}</ref> Three thru five.<ref>{{harvnb|Stout|Johnson|1957}}</ref><ref>{{harvc|last=Benson|first=Ezra Taft|year=1957|chapter=Foreword|url=https://archive.org/stream/yoa1957#page/n5/mode/1up|in=Stefferud|p=vi |loc=§2 |ignore-err=yes}}</ref>{{sfn|Wadleigh|1957}} Sixth.<ref>[[#Stefferud preface|Stefferud 1957]]</ref> <!-- ==Notes== --> {{fake heading|sub=3|Notes}} {{reflist}} <!-- ==References== --> {{fake heading|sub=3|References}} * {{cite book |title=Soil: The Yearbook of Agriculture 1957 |editor-last=Stefferud |editor-first=Alfred |year=1957 |publisher=United States Department of Agriculture |url=https://archive.org/stream/yoa1957 |oclc=704186906 }} ** {{harvc |last=George |first=Ernest J. |last2=Read |last3=Johnson |last4=Ferber |year=1957 |contribution=Shelterbelts and Windbreaks |url=https://archive.org/stream/yoa1957#page/n785/mode/1up |in=Stefferud |ignore-err=yes}} ** {{harvc |last=Harper |first=V. L. |last2=Frank |last3=McQuilkin |year=1957 |contribution=Forest Practices |url=https://archive.org/stream/yoa1957#page/n803/mode/1up |in=Stefferud |ignore-err=yes}} ** {{harvc |last=Stefferud |first=A.|year=1957 |id=Stefferud preface |c=Preface |url=https://archive.org/stream/yoa1957#page/n7/mode/1up |in=Stefferud |ignore-err=yes}} ** {{harvc |last=Stout |first=P. R. |last2=Johnson |year=1957 |c=Trace Elements |url=https://archive.org/stream/yoa1957#page/n167/mode/1up |in=Stefferud |ignore-err=yes}} ** {{harvc |last=Wadleigh |first=C. H.|year=1957 |c=Growth of Plants |url=https://archive.org/stream/yoa1957#page/n57/mode/1up |in=Stefferud |ignore-err=yes}} |
---|---|
Renders as | First information.[1] Second.[2] Three thru five.[3][4][5] Sixth.[6]
Notes
References
|
Note again the parameter ignore-err=yes
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
[edit]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 {{harv}}
or {{sfn}}
templates to the CITEREF id of the appropriate {{harvc}}
template.
{{harv|Author|YYYYa}}
→{{harvc|Author|Contribution 1|YYYYa}}
→{{citation|...}}
}{{harv|Author|YYYYb}}
→{{harvc|Author|Contribution 2|YYYYb}}
↑
In this example, author David Hunt contributed two appendices to Christmas Cacti: The Genus Schlumbergera and Its Hybrids.
There are two {{harvnb}}
templates that are disambiguated:
{{harvnb |Hunt |1995a}}
→ Hunt 1995a{{harvnb |Hunt |1995b}}
→ Hunt 1995b
These link to two {{harvc}}
templates which use |anchor-year=
for their CITEREF id and for the date in the {{harvc}}
rendering as a visual aid for readers:
Markup | Renders as |
---|---|
{{harvnb |Hunt |1995a}}; {{harvnb |Hunt |1995b}}. <!-- ==References== --> {{fake heading|sub=3|References}} * {{Citation |last=McMillan |first=AJS |last2=Horobin |first2=JF |year=1995 |title=Christmas Cacti: The Genus ''Schlumbergera'' and Its Hybrids |edition=p/b |publication-place=Sherbourne, UK |publisher=David Hunt |isbn=978-0-9517234-6-3}} ** {{harvc |in=McMillan |in2=Horobin |last=Hunt |first=David |c=Appendix I Names of the species |year=1995 |anchor-year=1995a |mode=cs2 |nb=yes |ignore-err=yes}} ** {{harvc |in=McMillan |in2=Horobin |last=Hunt |first=David |c=Appendix III Excerpts from a Brazilian diary |year=1995 |anchor-year=1995b |mode=cs2 |nb=yes |ignore-err=yes}} |
References
|
Collision with a different work
[edit]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.[a] 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#Anchor 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
[edit]{{harvc}}
emits these error messages:
- harvc: author missing from source list.
- the source list parameters
|in1=
,|in2=
,|in3=
, and|in4=
form the template'sCITEREF
link to the full citation. All are not required but must be used in order without numerical gaps.
- the source list parameters
- harvc: invalid
|anchor-year=
.- when used,
|anchor-year=
must be a three- or four-digit number and must have a lowercaseCITEREF
disambiguator. When the source does not have an identifiable year, use|anchor-year=n.d.l
or|anchor-year=ndl
with lowercaseCITEREF
disambiguator.
- when used,
- harvc: invalid
|display-authors=
.- the value assigned to
|display-authors=
must be a number greater than 0 or the keywordetal
- the value assigned to
- harvc: invalid
|year=
.|year=
is an integral part of the template'sCITEREF
anchor and link. The value of|year=
must be a three- or four-digit number with an optional lowercaseCITEREF
disambiguator. When the source does not have an identifiable year, use|year=n.d.
or|year=nd
.
- harvc: missing
|year=
.|year=
is missing; the parameter is required.
- harvc: no authors in contributor list.
- this error message indicates that
{{harvc}}
can't find any of|last=
,|last1=
,|author=
or|author1=
with an assigned value and so cannot make a usableCITEREF
anchor. Add at least one of the listed parameters.
- this error message indicates that
- harvc: required contribution is missing.
- this error message indicates that
{{harvc}}
can't find any of|c=
,|chapter=
, or|contribution=
with an assigned value
- this error message indicates that
- harvc: required
|id=
parameter missing. - harvc:
|year=
/|anchor-year=
mismatch.- the year portion of
|anchor-year=YYYYl
must match the year given in|year=YYYY
- the year portion of
Additional information about "no target" and other category errors may be found at Category:Harv and Sfn no-target errors.
Notes
[edit]- ^ When CITEREF ids are not unique on a page, you will see a red error message, Harv/sfn error: multiple targets (n): <anchor ID> in the References appendix on the page, unless you have error messages from Module:Footnotes turned off.