This template handles the publisher field for {{source}}. Though this is called for every citation, the logic in handling this field is somewhat nontrivial, so factoring out the formatting to here leaves the parent template more purely concerned with sorting out the template fields.
Usage
Three parameters are supported:
pub
— required — name of the publisher.target
— required — target for the link; always provided by the parent template (which is responsible for sorting out the template interface).target=no
requests the publisher be left unlinked (see {{source/pub/no}}).nocat
— optional — if non-blank, suppresses categorization.
Internals
Don't be tripped up by the parameter names here. They do not correspond, quite, to the names of parameters passed to the parent template, {{source}}. Parameter pub
is often, but not always, the same as the same-named parameter to the parent template. Parameter target
is sometimes the same as parent parameter pubtarget
, but that parent parameter is optional and (as of this writing) usually omitted, whereas the target
parameter here is required.