Template:Cite Q/doc
This is a documentation subpage for Template:Cite Q. It contains usage information, categories and other content that is not part of the original template page. |
This template is used on approximately 47,000 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
From the TfD closure: "[...] works-in-progress should rarely be used in the article space until they are 99% finished/accurate/etc. Until the matter of transcluding Wikidata on Wikipedia is resolved (most likely with a huge and contentious RFC) usage of this template should be extremely vetted to ensure that all of the transcluded information is accurate." |
This template uses Lua: |
This template uses one or more Wikidata properties; see § Parameter / entity map for details. |
Background
You can read about the template in:
Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
Usage
A wrapper for {{Citation}}, which calls available values from Wikidata.
An example of an article using this template for all of its references is South Pole Telescope; an example using Harvard style citations is Suffix automaton.
By default, if there are more than eight author names, the template displays three, followed by "et al". This can be changed using |display-authors=
; setting that parameter to all
displays them all. The same applies to multiple editors – see the test-case pages.
Citations of papers which have been retracted ( (P5824)) will appear in Category:Cite Q - cites a retracted work.
Citations of papers which have been replaced ( (P1366)) will appear in Category:Cite Q - cites a replaced work.
You can also use {{Cite Q bulleted}} if you want to have a bullet returned before the citation (useful for automatic lists).
Parameters
|1=
= Wikidata QID for the article
Additionally, any named parameter used in {{citation}} may be entered and will overwrite the value in Wikidata. Using such parameters, with a value of unset
, will suppress display of data from Wikidata.
Blank
<ref name="">{{Cite Q| XXQIDXX }}</ref>
Reference naming
For ease of use, you may wish to name your references to reflect the cited work, for example:
<ref name="Williams-2010">{{Cite Q|Q15625490}}</ref>
Parameter / entity map
This section lists where each of the template's supported parameters gets its data.
Bibliographic parameters
|at=
= (P958)|authorn=
= (P50); (P2093)|chapter=
= (P792)|edition=
= (P393)|editorn=
= (P98); (P5769)|issue=
= (P433)|journal=
= (P1433)|language=
= (P407)|pages=
= (P304)|place=
= (P1071) (for written-at place)|publication-date=
= (P577) (treated like|date=
unless both are given)|publication-place=
= (P291) (for publication place, treated like|place=
unless both are given)|publisher=
= (P123)|series=
= (P179)|title=
= (P1476) (Wikidata label)|translatorn=
= (P655)|url=
= (P953), (P856), (P2699)|version=
= (P348)|volume=
= (P478)|others=
= (P86), (P110), (P2679), (P371), (P175)
Identifier parameters
|asin=
= (P5749) (add|asin-tld=
for some locales)|arxiv=
= (P818)|bibcode=
= (P819) (add|bibcode-access=
to indicate free)|biorxiv=
= (P3951)|citeseerx=
= (P3784)|doi=
= (P356) (add|doi-access=
to indicate free; add|doi-broken-date=
if deprecated)|hdl=
= (P1184) (add|hdl-access=
to indicate free)|isbn=
= (P212) (falls back to (P957))|ismn=
= (P1208)|issn=
= (P236)|jstor=
= (P888) (add|jstor-access=
to indicate free)|lccn=
= (P1144)|mr=
= (P889)|oclc=
= (P243)|ol=
= (P648) (add|ol-access=
to indicate free)|osti=
= (P3894) (add|osti-access=
to indicate free)|pmc=
= (P932) (add|pmc-embargo-date=
if embargoed)|pmid=
= (P698)|rfc=
= (P892)|ssrn=
= (P893)|s2cid=
= (P8299) (add|s2cid-access=
to indicate free)|zbl=
= (P894)
Examples
{{Cite Q|Q15625490}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q15625490|page=42}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q15625490|access-date=18 May 2017}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q15625490|quote=lorem ipsum}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q25766745}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q25766745 |chapter=The Final Cut}}
(with chapter specified)- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q25766745 |pages=48-52}}
(with pages)- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q15625490|access-date=18 May 2017}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q25766745|mode=cs1}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q25766745|mode=cs2}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
{{Cite Q|Q25766745|author-mask=1}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
For an example of a bibliography, updated periodically by Listeriabot, see User:Mike Peel/publications.
For additional examples, see testcases and testcases/many names.
Workflow
The template used with a single parameter, the Q-number of the article on Wikidata, will produce a citation using the default display parameters from Template:Citation and the styling of the author and editor names as they are stored on Wikidata. This is rarely the same as required by the citation formatting in any given article. The guidance at WP:CITEVAR requires that editors match the formatting of citations that they add to that of the article where it is added. At present, {{Cite Q}} does not know what style the formatting in an article requires (although it is possible that common styles could be marked or recognised automatically as is done for date formatting).
The result is that editors using {{Cite Q}} must take care to preview their edits and ensure that the formatting rendered matches that of the rest of the article. The commonest formatting issues are:
- Order of editor names:
- A typical output might be:
{{Cite Q |Q15625490}}
→- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
- If that were used in an article that used "Last, First" format for author names, then the editor would have to supply those author names manually in the desired format. It's often worth previewing the citation in expanded form to show what is being passed to the actual citation template:
{{Cite Q |Q15625490 |expand=yes}}
→- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
- That would make the author names (and author-links) easily available for copy and paste, followed by tweaking into the desired format:
{{Cite Q |Q15625490 |author6=Etnoyer, Peter |author4=Hoetjes, Paul |author7=Smith, Michael |author5=Toller, Wes |author3=van Tassell, James L |author-link2=Kent E. Carpenter |author1=Williams, Jeffrey T |author2=Carpenter, Kent E}}
→- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
- Punctuation:
- The separators between elements in the above citation is a comma, which is the default for a CS2-style format produced by {{Citation}}. Careful examination in a particular article will often show the separator punctuation to be a full stop (period). That may be selected by setting
|mode=cs1
:
{{Cite Q |Q15625490 |author6=Etnoyer, Peter |author4=Hoetjes, Paul |author7=Smith, Michael |author5=Toller, Wes |author3=van Tassell, James L |author-link2=Kent E. Carpenter |author1=Williams, Jeffrey T |author2=Carpenter, Kent E |mode=cs1}}
→- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
- Sometimes, the article will have author names with initials, and those initials are terminated with a full stop (period). It may be necessary to manually add or remove the punctuation in the author names to match the style of the target article (note: this does not apply to author-links, which match the title of the author's article):
{{Cite Q |Q15625490 |author6=Etnoyer, Peter |author4=Hoetjes, Paul |author7=Smith, Michael |author5=Toller, Wes |author3=van Tassell, James L. |author-link2=Kent E. Carpenter |author1=Williams, Jeffrey T. |author2=Carpenter, Kent E. |mode=cs1}}
→- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
- The separators between elements in the above citation is a comma, which is the default for a CS2-style format produced by {{Citation}}. Careful examination in a particular article will often show the separator punctuation to be a full stop (period). That may be selected by setting
- Italicisation in titles:
- Titles drawn from Wikidata cannot contain formatting, so editors using {{Cite Q}} may have to add appropriate formatting.
- {{Citation}} will automatically apply italicisation to titles of books, etc. so that does not need to be added:
{{Cite Q |Q25766745}}
→- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
- However, some titles require partial italicisation, and that has to be done manually when the whole title is not italicised, although that is rare. Titles of chapters may also need to be checked:
- For example (from ISBN 978-0-521-32115-0):
|chapter= ''Porphyra'' as food: cultivation and economic
Module:Wd
Module:Wd can automatically cause this template to be invoked, e.g.,
{{Wikidata|references|raw|Q2978|P2046}}
currently causes the following to be invoked:
{{Cite Q|Q15707237|pages=242}}
- Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
because an Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P2046) statement on Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (Q2978) is referenced to be Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P248) Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (Q15707237) with Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P304) = 242.
Issues
Future developments
- Once robust the functionality should be merged into {{Citation}}
- Eventually, each signed-in reader should be able to set, under their "Preferences", the style in which they wish to see citations rendered. No more CiteVar wars!
- We should have a global template repository, so the code can be used by multiple wikis, without having to manually copy it after every update.
To do list
- Properties
- More properties/ parameters to add
- Parameters with no equivalent property?
- Internationalisation
- Check/resolve handling of redirected QID
- Order of precedence for rendering author names:
Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P1932) qualifier on Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P50)Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P1810) qualifier on Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P50)Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P2093)Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P50) label in English- Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P50) label in any other language
Regardless of which of the above is used, link to the author biography article if available, via Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P50) (matched via Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P1545) if applicable)
- Add tracking categories for each parameter where the local value differs from the corresponding WD value so that either the WD entry can be updated/corrected or the local override can be corrected/removed
- Other tracking categories?
- Links to sister projects: Wikisource, if a transcription project exists; Wikibooks; Wikiversity (esp. the Wikijournals there); perhaps more
- Avoid
<ref name="dicc">{{Cite Q|Q100160262}} {{cite wikisource|wslanguage=pt|wslink=Diccionario Bibliographico Brazileiro/Francisco Antonio de Almeida|title=Transcription}}</ref>
! - Also add links to authors who have pages on Wikisource but not on Wikipedia. Related query: Authors on Wikisource but not other projects, who are linked to by an item which is a subclass of Q47461344 (written work)
- Avoid
- Consider case where author is given as Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (Q311624)
- If last author/editor is named "et al." (and variants), mute this entry and set display-authors/editors=etal instead before passing down to {citation}
- Disputed; see Template talk:Citation#Et al
- If last author/editor is named "et al." (and variants), mute this entry and set display-authors/editors=etal instead before passing down to {citation}
- Link to Wikisource should take priority over all URL properties, but only if accompanied by (P996). If not, (P996) should take precedence over URLs.
Where there is a Wikipedia article about the work cited, link the title to that, overriding the URL if necessary (example: d:Q25766745)- Ditto for editions of works
- At present a WD pages entry of "1" will result in |pages=1–1 (and metadata &rft.pages=1-1) rather than |page=1 (and metadata &rft.pages=1).
- Implement evaluation of generic keyword for all parameters to denote that a WD value should be accepted by framing its value in accept-this-as-written markup ((..)). See talk thread for possible keyword names.
- Check all parameter aliases when scanning for override parameters (at present some alias parameter names are ignored, possibly leading to inconsistent behaviour if they are set as well).
- Consider including a link to Special:EntityUsage, in the form, say, Other cites or with a small icon.
- Take possible template parameter usage as hint which parameter to use in the generated output. F.e. if the journal/magazine/newspaper parameter is used, the template should use the same in the output. The underlying template {citation} will switch the output format accordingly.
- Try to utilize given parameter values as filter for retrieved WD data. If an editor specifies |edition=2 or |volume=3, cite Q should select correlating data (f.e. page ranges, identifiers etc.) while retrieving data from WD (in cases where more than one entry is available for a particular parameter)
- When the author is cited as Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (Q2818964), the label should start with an upper case letter
- Quick and dirty workaround:
{{ucfirst:{{Cite Q|xxxx}}
- Quick and dirty workaround:
- Convert WikiData's edition number (e.g., 1) into the ordinal (1st) expected by {{citation}}.
- Make this fix unnecessary.
- Add indication alongside citations of retracted/ replaced works
- Consider cases where citing a retracted/ replaced work is deliberate
- Make use of
|archive-url=
,|archive-date=
, and consider how to use|url-status=
- Use (P6833), where present.
- Improve rendering when both (P50) and (P2093) are present.
- Example: {{Cite Q|Q108740476}} → Lua error in Module:Cite_Q at line 13: attempt to index field 'wikibase' (a nil value).
- Current rendering of author name uses semicolon: “Camelia-Manuela Lățăianu; Manuela Lataianu”
- Suggested improved rendering of author name: “Manuela Lataianu [= Camelia-Manuela Lățăianu]”
Deferred
Feel free to tackle these; the core team working on Cite Q sees them as low priority, or too complex.
- Resolve special case of newspaper articles
- Is the following topic of "hint parameters" related to this?
- Author names (Western-style, at least) should display as "Last, First Middle" to match Wikipedia house style
- How to deal with Tussenvoegsels etc.
- In Romance languages, it should be, e.g., "Quental, Antero de" instead of "de Quental, Antero"
- How to deal with Tussenvoegsels etc.
- Handle volume in a serial
- Clarification needed: What is meant by this? |part=, or output format differences journal vs. magazine?
- Is there a Pxxxx code for book series editors to add them to the list of "normal" editors?
- resolve at Wikidata first
Done
Multiple author names treated as one blobLinking author name(s)Title for a book uses{{ #invoke:WikidataIB |getLink |{{{1}}} }}
and may be expensiveFix|ol=
valuesNeed to add manual date for newspaper articles/ website articles.Make publisher a link, where appropriateImprove handing of unexpected multiple valuese.g. Handle multiple DOIs
Author name string (Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P2093)) values (e.g. on Q38000000)Pseudonymous author personas such as P. D. Q. Bach or Mark TwainTitle not in EnglishHandle volume, issue and page(s) as qualifiers of Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P1433)Wider variety of examples/ test casesIf language of work or name is set (and not the local language); pass that; if not but language of title is set (and not the local language), use thatTheurl
parameter should also pick up data from the properties (P953) and (P2699)Linking title to Wikipedia article, if anyFetch ISSN etc. from item about journalMove Wikidata link before|quote=
(and after other IDs like|pmid=
)Also fixes postscript character issues in conjunction with|mode=cs1
and with|quote=
Fix page evaluation code to accept comma- and semicolon-separated listsUse canonical parameter names when calling down to {citation} (f.e. |page= rather than |p=)Is there a Pxxxx code for SBNs (Standard Book Number to support |sbn= parameter?Is there a Pxxxx code for JFM (Jahrbuch über die Fortschritte der Mathematik) to support |jfm= parameter?(P894)? No, Zbl uses the same resolving link, but it is a different ID.
- Are there values of
|others
which are not illustrators? Possibly: Add a tracking category for references with a (P1366) statementAdd a tracking category for references with a (P5824) statementRender Lua error in Module:Wd at line 196: attempt to index field 'wikibase' (a nil value). (P1680), following the title with a:
Won't fix
- Improve date formatting options
- This is done in {{Citation}}
- Fix unnecessary piping of author/editor and journal links if link and label are the same, f.e. [[Author|Author]] -> [[Author]], [[Journal|Journal]] -> [[Journal]] for improved reusability, cleaniness of output, reduced size of resulting page code, and to avoid potential future extra text errors thrown by the underlying {citation} template
- See talk
- Fix invocation with
|qid=
instead of unnamed parameter. At present {{cite Q|qid=Q12345}} instead of {{cite Q|Q12345}} gives an error.- This is intended; please discuss on talk
- Fix ready for test in template sandbox: {{cite Q/sandbox|qid=Q15625490}} gives Template:Cite Q/sandbox
Template data
Generate citations from Wikidata by passing the QID to this template
Parameter | Description | Type | Status | |
---|---|---|---|---|
QID | 1 | The Wikidata QID of the cited source | String | required |