Template:Cite source/doc
{{cite source}} or {{cs}} is a powerful template for generating in-universe, inline citations. In its most basic usage, it produces a collapsible bit of information about the source being cited, pulled directly from the infobox, intended to supplement the prefix. However, the template also has options for citing specific parts and episodes, variants of sources that don't have their own page, exact page numbers and timestamps and paths of "choose your own adventure" books.
Basic usage is very simple. When citing a source, instead of linking to the source like usual, wrap it in this template, like this: {{Cite source/doc|source's page name}}. For example, if citing The Daleks, you would type:([[TV]]: {{cite source|The Daleks (TV story)}})This produces the following:
- (TV: The Daleks [+]Loading...["The Daleks (TV story)"])
Disabled, hopefully temporarily
You can also include linking brackets around this parameter and this parameter only. This allows you to make use of link autosuggest. For example, the following is valid:([[TV]]: {{cite source|[[Rosa (TV story)]]}})This produces the following: The template will automatically strip the dab term in the display text. To specify custom display text, you would type the following: {{Cite source/doc|source's page name|display name}}. For example, if citing Project: Lazarus, which, for technical reasons, has the page name Project Lazarus (audio story), you would type:
([[AUDIO]]: {{cite source|Project Lazarus (audio story)|Project: Lazarus}})This produces the following:
- (AUDIO: Project: Lazarus [+]Loading...["Project Lazarus (audio story)","Project: Lazarus"])
Clicking the [+] to the right of the source's name will reveal additional information about the source, intended to provide context to the reader regarding the origin of the source, allowing them to easily decide if it is something they're interested in. This information is automatically pulled from the infobox and generally requires no editor intervention (although you can customise the additional information if desired). For this to work, the page for the source being cited must be using {{Infobox Story SMW}}. If it is not, an error will be produced. Information about finetuning the text displayed here can be found in the Infobox's documentation.
Exact nature of the additional information
The collapsible additional information can include the following:
- writer(s)
- what the source is adapted from
- the original source's writer(s)
- series
- anthology
- publisher
- premiere network
- release year(s)
If there are 4 or more writers, only one will be displayed with the rest replaced by "et al.". Hovering over the "et al." on desktop will show the other writers. For example:
- (PROSE: The Book of the War [+]Loading...["The Book of the War (novel)"])
Citing parts and episodes
Sources are often serialised across a number of parts. Sometimes, it can be useful to cite specific parts and episodes. Where possible, this is preferred over generic citations as it makes checking the citation and looking for the information within the source much easier (to make this even easier, consider adding a precise citation).
Named parts and episodes
To cite a specific named episode, use the following format: {{Cite source/doc|source's page name|namedep=episode's section title}}. For example, to cite "The Dead Planet" from The Daleks, you would type:([[TV]]: {{cite source|The Daleks (TV story)|namedep=The Dead Planet (1)}})This produces:
- (TV: "The Dead Planet" [+]Part of The Daleks, Loading...{"namedep":"The Dead Planet (1)","1":"The Daleks (TV story)"})
The text provided to the |namedep= parameter must exactly match the episode's section title on the source's page, including any bracketed episode numbers. These bracketed episode numbers will be automatically stripped in the output.
The |namedpart= parameter is very similar. However, it does not produce a link to any specific sections. It has the following format: {{Cite source/doc|source's page name|namedpart=part's name}}. For example, to cite "The House Military" from The Book of the War, you would type:([[PROSE]]: {{cite source|The Book of the War (novel)|namedpart=The House Military}})This produces:
- (PROSE: "The House Military" [+]Part of The Book of the War, Loading...{"namedpart":"The House Military","1":"The Book of the War (novel)"})
Unnamed parts and episodes
To cite a specific unnamed episode, use the following format: {{Cite source/doc|source's page name|ep=episode number}}. The episode number must be in the exact same format used for that episode's section title on the source's page, including capitalisation. For example, to cite part 7 of The War Games, you would type:([[TV]]: {{cite source|The War Games (TV story)|ep=seven}})This produces:
- (TV: The War Games (episode seven) [+]Loading...{"ep":"seven","1":"The War Games (TV story)"})
([[COMIC]]: {{cite source|The Klepton Parasites (comic story)|part=Two|sect=Part Two: 16th November 1964}})This produces:
- (COMIC: The Klepton Parasites (part two) [+]Loading...{"sect":"Part Two: 16th November 1964","part":"Two","1":"The Klepton Parasites (comic story)"})
|sect= can also be used for linking to arbitrary sections outside of the context of episodes and parts, if desired.
Citing variants
Sources sometimes have one or more variants that aren't deserving of their own source page and so are covered on the same page as their "parent" source, such as animated reconstructions or audiobook readings. Occasionally, these variants can present unique information and so may want to be specifically cited. To do so, the variant should first be defined on the source's page using {{Store variant data}}. Then, the variant being cited should be specified as follows: {{Cite source/doc|source's page name|var=variant name}}. The variant name used by the |var= parameter should be exactly the same as the variant name set in {{Store variant data}} as the |variant= parameter. For example, to cite the special edition of The Five Doctors, you would type:([[TV]]: {{cite source|The Five Doctors (TV story)|var=special edition}})This produces:
- (TV: The Five Doctors (special edition) [+]Loading...{"var":"special edition","1":"The Five Doctors (TV story)"})
([[TV]]: {{cite source|The Faceless Ones (TV story)|var=animated reconstruction|ep=3}})This produces:
- (TV: The Faceless Ones (animated reconstruction, episode 3) [+]Loading...{"ep":"3","var":"animated reconstruction","1":"The Faceless Ones (TV story)"})
Precise citations
It can sometimes be useful to cite specific editions, chapters, page numbers or timestamps. The information being cited is rarely from the source as a whole, so being as precise as possible makes verifying information much easier. The precise citations can be used alongside citing parts and citing variants.
Books
To perform precise citations for books, use the |ed= and |page= parameters to define the edition and page number being cited. These can be used independently, although it is often preferable to use |ed= with |page= as page numbers can change between editions. For example, to cite page 10 of The Eight Doctors, you would type:([[PROSE]]: {{cite source|The Eight Doctors (novel)|page=10}})This produces:
- (PROSE: The Eight Doctors [+]Loading...{"page":"10","1":"The Eight Doctors (novel)"})
([[PROSE]]: {{cite source|The Eight Doctors (novel)|page=10-20}})This produces:
- (PROSE: The Eight Doctors [+]Loading...{"page":"10-20","1":"The Eight Doctors (novel)"})
Note the inclusion of the "s" in "pages" in the produced citation. This "s" is added if the template detects any of the following: ",", "-", "and", "&".
Chapters can also be specified. Chapter numbers can be specified with |chaptnum= and chapter names with |chaptname=. For example, to cite chapter 1 of Doctor Who in an Exciting Adventure with the Daleks, you would type:([[PROSE]]: {{cite source|Doctor Who in an Exciting Adventure with the Daleks (novelisation)|ed=1965 Armada edition|chaptnum=1|chaptname=A Meeting on the Common}})This produces:
- (PROSE: Doctor Who in an Exciting Adventure with the Daleks [+]Loading...{"chaptname":"A Meeting on the Common","chaptnum":"1","ed":"1965 Armada edition","1":"Doctor Who in an Exciting Adventure with the Daleks (novelisation)"})
|chaptnum= follows the same logic of pluralisation that page= uses.
Using |chaptname= requires that |chaptnum= is also used. To just specify just a chapter name, or any other custom chapter text, use chapt=.
Video and audio sources
To perform precise citations for video (including TV stories, webcasts and films) and audio sources, you can define a timestamp using the |hour=, |minute= and |second= parameters. These can be used in any combination. For example, to cite the timestamp 34 minutes and 2 second of Rosa, you would type:([[TV]]: {{cite source|Rosa (TV story)|minute=34|second=2}})This produces: You can also define entirely custom timestamps using |timestamp=. For example, to cite the timestamp 26:54 of The Boundless Sea, you would type:
([[AUDIO]]: {{cite source|The Boundless Sea (audio story)|timestamp=26:54}})This produces:
- (AUDIO: The Boundless Sea [+]Loading...{"timestamp":"26:54","1":"The Boundless Sea (audio story)"})
It can sometimes also be a good idea to use |ed= in these precise citations, particularly with video sources, as exact timestamps can change between versions, such as the broadcast version, home media releases and oversea edits, and these don't always qualify as their own variants.
Custom precise citation text
Alternatively to everything discussed in the prior two sections, you can define entirely custom precise citation text using the |precisecite= parameter.
Citing "choose your own adventure" books
In line with Forum:Revisiting fiction with branching elements and historical policy therein, you can cite specific "markers" (the terminology used in the opening post) within "choose your own adventure" gamebooks such as those in the Make Your Own Adventure with Doctor Who/Find Your Fate, Decide Your Destiny and Choose the Future series. To do this, specify the marker using |marker=. If there are marker sections on the page, make sure that the marker specified exactly matches the bit of the section header after "Marker ". For example, to cite the 2nd marker of Search for the Doctor, you would type:([[PROSE]]: {{cite source|Search for the Doctor (novel)|marker=2}})This produces the following:
(PROSE: Search for the Doctor: Marker 2 [+]Loading...{"marker":"2","1":"Search for the Doctor (novel)"})
Multiple markers should be cited in different uses of the template. To reduce clutter, the title of the story can be hidden by setting |notital= to any value. For example, to cite markers 32 and 33 of Search for the Doctor, you would type:([[PROSE]]: {{cite source|Search for the Doctor (novel)|marker=32}}, {{cite source|Search for the Doctor (novel)|marker=33|notital=1}})This produces the following:
(PROSE: Search for the Doctor: Marker 32 [+]Loading...{"marker":"32","1":"Search for the Doctor (novel)"}, Marker 33 [+]Loading...{"notital":"1","marker":"33","1":"Search for the Doctor (novel)"})
Some "choose your own adventure" use their own terminology and these can be used as well.
- "paragraphs" uses |paragraph=
- "outcomes" uses |outcome=
- "pages" uses |mppage= (Multipath page)
- "endings" uses |ending=
([[GAME]]: {{cite source|Attack of the Graske (video game)|path="good" ending}})This produces the following:
(GAME: Attack of the Graske: "good" ending [+]Loading...{"path":"\"good\" ending","1":"Attack of the Graske (video game)"})
This can be combined with |sect= to link to specific sections of the source's article.
Customising the additional information
It is possible to overwrite specific bits of information in the collapsible additional information for a specific citation using the following parameters:
- |writer=
- |adapted from=
- |series=
- |anthology=
- |publisher=
- |network=
- |release year=
([[TV]]: {{cite source|The Daleks (TV story)|namedep=The Dead Planet (1)|release year=1963}})This produces:
- (TV: "The Dead Planet" [+]Part of The Daleks, Loading...{"release year":"1963","namedep":"The Dead Planet (1)","1":"The Daleks (TV story)"})
If any of the values you wish to use for any of these bits of information contain a comma (","), you must specify the |separator= parameter with a different separator (such as ";") that then should be used when you need to specify multiple values for a bit of information, such as multiple writers.
Using this feature repeatedly on the same page may cause performance issues, but occasional usage shouldn't have much impact.
It is also possible to provide fully customised additional information using the |citationtext= parameter.
Reusing citations
Due to the number of options available, uses of this template can sometimes become very long. Therefore, much like with <ref> references, it is possible to define named citations that can be reused within the page they were defined on. This is done using the |name= parameter. To define a named citation, simply add this parameter to the template usage with a short name. For example, to define a citation named "TFOAR1" for episode 1 of the DVD edition of the animated reconstruction of The Faceless Ones at the timestamp 3 minutes and 4 seconds, you would type:([[TV]]: {{cite source|The Faceless Ones (TV story)|var=animated reconstruction|ep=1|minute=3|second=4|ed=DVD|name=TFOAR1}})This produces the following output as normal:
- (TV: The Faceless Ones (animated reconstruction, episode 1) [+]Loading...{"ed":"DVD","minute":"3","var":"animated reconstruction","name":"TFOAR1","ep":"1","second":"4","1":"The Faceless Ones (TV story)"})
([[TV]]: {{cite source|name=TFOAR1}})This produces:
- (TV: The Faceless Ones (animated reconstruction, episode 1) [+]Loading...{"ed":"DVD","minute":"3","var":"animated reconstruction","name":"TFOAR1","ep":"1","second":"4","1":"The Faceless Ones (TV story)"})
When |name= is being used to access an already defined citation, any other parameters passed to the template are ignored. In other words, you cannot alter a named citation in later uses.
Errors and troubleshooting
Due to the complex nature of this large template, there are a number of ways in which it could go wrong and produce an error. This section details these errors, providing potential solutions.
Lua errors
If you see any errors like this, please remove the use of this template that is causing it and report it on the talk page with as much detail as you can as soon as possible. These errors generally mean that there is some form of mistake with the template's actual code.
Error: code 1
data table empty
This error means that the source's infobox was unable to collect any data to put the additional information together. To fix this, first purge the cache of the source's page and the page the citation is being used on. If that doesn't work, make sure that the infobox contains at least one of the pieces of data listed here. If all else fails, manually define the additional information using the |citation text= parameter within the infobox.
Error: code 2
no data stored in variables, cache or SMW
This error means that the template is unable to get the additional information from the source's infobox. To fix this, first check that you've actually got the source's page name correct, including the dab term. If this doesn't work, purge the cache of the source's page and the page the citation is being used on. If this doesn't work, check that the source's page is actually using {{Infobox Story SMW}} and, if it isn't, convert it so that it is. If this doesn't work, report the error on the talk page.
Error: code 3
no story given in template transclusion
This is a simple one and means that the template has been used without providing a source to actually be cited. To fix this, include a source like is shown in the first few paragraphs of this page.
Error: code 4
no data in variables or cache and SMW returned information for multiple variants, the one required here not being clear
This rather verbose error is an extreme edge case that should never occur. It means that you've attempted to cite a variant where more than one variant for that source exist and, for whatever reason, there is no additional information provided for said variant in the 2 preferred means of storing this information yet Semantic MediaWiki, the last resort, does have this information, the problem being that it is not possible to properly distinguish the multiple variants coming from SMW. To fix this, first purge the cache of the source's page and the page the citation is being used on. If that doesn't work, report the error on the talk page.
Other issues
There are some other problems that are not automatically detectable and have no automatic fix.
- Only some of the citation information is in the collapsible. The rest is always visible.
- This is most likely caused by the template being used in a block of italics. For example:
''[...]([[TV]]: {{cite source|Rose (TV story)}}[...]''
- [...](TV: Rosa [+]Loading...["Rosa (TV story)"])[...]
- This is not the intended behavior. To fix this, try closing the italics before the citation and opening them again after. For example:
''[...]''([[TV]]: {{cite source|Rose (TV story)}}''[...]''
- [...](TV: Rosa [+]Loading...["Rosa (TV story)"])[...]
- Pretty much, this template just can't be used within italics.
Full parameters list
This section lists all parameters offered by this template.
Parameter | Purpose | Documented at |
---|---|---|
1 | Cited source's page name | Basic usage |
2 | Display text | Basic usage |
name | Reusing named citations | Reusing citations |
sect | Linking to specific sections | Citing parts and episodes |
part | Citing unnamed parts | Citing parts and episodes |
ep | Citing unnamed episodes | Citing parts and episodes |
namedep | Citing named episodes | Citing parts and episodes |
namedpart | Citing named parts, without linking to a specific section | Citing parts and episodes |
var | Citing variants | Citing variants |
precisecite | Custom precise citation text | Precise citations |
ed | Precise citation edition | Precise citations |
chapt | Precise citation custom chapter text | Precise citations |
chaptnum | Precise citation chapter number | Precise citations |
chaptname | Precise citation chapter name | Precise citations |
page | Precise citation page number(s) | Precise citations |
timestamp | Precise citation custom timestamp | Precise citations |
hour | Precise citation timestamp hour | Precise citations |
minute | Precise citation timestamp minute | Precise citations |
second | Precise citation timestamp second | Precise citations |
marker | Citing unlabelled paths of CYOA books | Citing "choose your own adventure" books |
paragraph | Citing "paragraphs" of CYOA books | Citing "choose your own adventure" books |
outcome | Citing "outcomes" of CYOA books | Citing "choose your own adventure" books |
mppage | Citing "pages" of CYOA books | Citing "choose your own adventure" books |
ending | Citing "endings" of CYOA books | Citing "choose your own adventure" books |
path | Citing unlabelled paths of "multipath" sources | Citing "choose your own adventure" books |
citationtext | Fully custom additional information text | Customising the additional information |
anthology | Custom additional information anthology | Customising the additional information |
writer | Custom additional information writer | Customising the additional information |
publisher | Custom additional information publisher | Customising the additional information |
adapted from | Custom additional information adapted from | Customising the additional information |
network | Custom additional information premiere network | Customising the additional information |
release year | Custom additional information release year(s) | Customising the additional information |
series | Custom additional information series | Customising the additional information |
separator | Specifying a separator other than "," for custom additional information | Customising the additional information |
notital | Set this to any value to stop the story's title from displaying | Citing "choose your own adventure" books |
noinfo | Set this to any value to hide any additional information from displaying | Here |
noital | Set this to any value to manually stop the source's name being italicised | Here |
quote | Set this to any value to manually wrap the source's name in "quotation marks" | Here |
wikitext | Set this to any value to cause the collapsible text to be wrapped in <pre> tags for debugging | Here |
debug | Set this to any value to cause the some debug information to be appended to the collapsible text | Here |
Technical documentation
This template relies upon Module:Cite source, a module written in Lua. Documentation for this module can be found on its page. It also uses MediaWiki:Gadget-cs.js and MediaWiki:Gadget-cs.css
Template data
Produces inline citations for in-universe articles with collapsible additional information.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Page name | 1 | The source's page name
| Page name | suggested |
Display text | 2 | The display text of the link to the source. Usually only required if the source name contains a colon (":") as, in these cases, the page name will omit it. Disambiguation terms are removed automatically.
| Line | suggested |
Named citation | name | Either the name of a previously defined named citation, or the name of this citation that allows it to be reused | Line | suggested |
Section | sect | The section of the source's page to link to. | Line | optional |
Unnamed part | part | The part number to cite of a serialised story with unnamed parts. Will produce a link to the part's section header on the source's page and add the part's number to the display text in brackets. Should match the format used by the section header.
| Line | suggested |
Unnamed episode | ep | The episode number to cite of a serialised story with unnamed episodes. Will produce a link to the episode's section header on the source's page and add the episode's number to the display text in brackets. Should match the format used by the section header.
| Line | suggested |
Named episode | namedep | The episode to cite of a serialised story with named episodes. Will produce a link to the episode's section heading on the source's page and change the display text to the episode's name in quotation marks. Should match the format used by the section header, including any brackets (which are automatically removed in the display).
| Line | suggested |
Named part | namedpart | The part to cite of a serialised story with named parts. Will not produce a link to the part's section on the sources page but will change to display text to the part's name in quotation marks.
| Line | suggested |
Variant | var | Allows a specific variant of a source to be cited, as defined on the source's page (see template documentation for details).
| Line | suggested |
Custom precise citation text | precisecite | Allows fully custom precise citation text to be defined. | Content | optional |
Edition | ed | The edition of the source to cite. Part of the precise cite display.
| Line | suggested |
Custom precise citation chapter text | chapt | Allows for custom chapter text to be specified, such as if the chapter is named but not numbered. Part of the precise cite display. | Line | optional |
Chapter number | chaptnum | The chapter number(s) of the source to cite. Part of the precise cite display.
| Line | suggested |
Chapter name | chaptname | The chapter name of the source to cite. Part of the precise cite display. Requires that the chapter number be specified.
| Line | suggested |
Page number | page | The page number(s) of the source to cite. Part of the precise cite display.
| Line | suggested |
Custom precise citation timestamp | timestamp | Allows a custom timestamp to be specified. Part of the precise cite display.
| Line | optional |
Timestamp hour | hour | The hour part of the timestamp to cite from the source. Part of the precise cite display.
| Number | suggested |
Timestamp minute | minute | The minute part of the timestamp to cite from the source. Part of the precise cite display.
| Number | suggested |
Timestamp second | second | The seconds part of the timestamp to cite from the source. Part of the precise cite display.
| Number | suggested |
CYOA book marker | marker | The "marker" used to cite for CYOA books.
| Number | optional |
CYOA book paragraph | paragraph | The "paragraph" used to cite for CYOA books.
| Number | optional |
CYOA book outcome | outcome | The "outcome" used to cite for CYOA books.
| Number | optional |
CYOA book page | mppage | The "page" used to cite for CYOA books.
| Number | optional |
CYOA book ending | ending | The "ending" used to cite for CYOA books.
| Number | optional |
Multipath source path | path | The "path" used to cite for multipath sources.
| Number | optional |
Additional information override | citationtext | Allows for the autogenerated additional information to be fully overridden. | Content | optional |
Anthology override | anthology | Allows the autogenerated anthology to be overridden.
| Page name | optional |
Writer override | writer | Allows the autogenerated writer to be overridden.
| Page name | optional |
Publisher override | publisher | Allows the autogenerated publisher to be overridden.
| Page name | optional |
Adapted from override | adapted from | Allows the autogenerated adapted from source to be overridden.
| Page name | optional |
Network override | network | Allows the autogenerated broadcast network to be overridden.
| Page name | optional |
Release year override | release year | Allows the autogenerated release year to be overridden.
| Line | optional |
Series override | series | Allows the autogenerated series to be overridden. This parameter allows for arbitrary wikitext.
| Content | optional |
Overrides separator | separator | Separator to use for listing multiple values for any overrides.
| Line | optional |
Remove source title | notital | Set to any value to remove the source's name and link, leaving only the collapsible additional information.
| Line | optional |
Remove additional information | noinfo | Set this to any value to prevent the collapsible additional information from displaying.
| Line | optional |
Remove italics | noital | Set this to any value to prevent the source's name from being italicised.
| Line | optional |
Force quotation marks | quote | Set this to any value to prevent force the source's name to be wrapped in quotation marks (").
| Line | optional |