「Extension:Cite/Cite.php」の版間の差分

提供: ひつじ小屋別館2代目
移動先: 案内検索
(1版)
(1版)
 
(6人の利用者による、間の15版が非表示)
1行目: 1行目:
{{extension
+
#REDIRECT[[Extension:Cite]]
|name        = Cite
 
|status      = stable
 
|type        = tag
 
|author      = [[w:User:Ævar Arnfjörð Bjarmason|Ævar Arnfjörð Bjarmason]]
 
|image      =
 
|version    =
 
|update      =
 
|mediawiki  = 1.11+
 
|download    = {{WikimediaDownload|Cite}}
 
[http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/Cite/Cite.php?view=co Cite.php]<br />
 
[http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/Cite/Cite.i18n.php?view=co Cite.i18n.php]<br />
 
[http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/Cite/Cite_body.php?view=co Cite_body.php]
 
|readme      =
 
|changelog  =
 
|description = Add footnotes in a document.
 
|parameters  =
 
*$wgAllowCiteGroups
 
*$wgCiteCacheReferences
 
*$wgCiteEnablePopups
 
|rights      =
 
|tags = &lt;ref>, &lt;references />
 
|example    = [[w:Wikipedia:Footnotes|Wikipedia:Footnotes]]
 
|hook1      = ParserFirstCallInit
 
|compatibility = {{Extension Testing|results=User:MinuteElectron/Testing#Parser_Tag|1.12=3|1.13=3|1.14=0|ext-1.12=3|ext-1.13=3|1.12-1.12=Yes|1.12-1.13=Yes|1.13-1.12=Yes|1.13-1.13=Yes|1.12-trunk=No|1.13-trunk=No|1.14-trunk=No|configure=latest}}
 
|pagedrive1 = true
 
|bugzilla  = Cite
 
}}
 
:''This page is about the extension. See also [[m:Help:Footnotes|Help:Footnotes]], and [[w:Wikipedia:Footnotes|Wikipedia:Footnotes]] for the use in the English Wikipedia.
 
 
 
'''Cite.php''' is a [[Extension:Cite|Cite]] extension that adds two parser hooks to MediaWiki, <code>&lt;ref></code> and <code>&lt;references /></code>; these operate together to add citations to pages.
 
 
 
== Installation ==
 
Notice that this extension often is already included so maybe you don't need to download the it, check if you have already the <tt>extensions/Cite</tt> directory. If you have that, you can skip the first 2 steps.
 
#[[Special:ExtensionDistributor/Cite|Download the snapshot]] that matches your version of MediaWiki and put it in the <tt>extensions/Cite</tt> directory.
 
# Add the following line to the bottom of <tt>[[Manual:LocalSettings.php|LocalSettings.php]]</tt> (though not after trailing ?&gt;, if it is present):
 
#:<source lang="php">require_once("$IP/extensions/Cite/Cite.php");</source>
 
# Installation can now be verified through [[Special:Version]] of your wiki.
 
 
 
Cite also has an option <tt>$wgCiteEnablePopups</tt> which can be enabled by adding <tt>$wgCiteEnablePopups = true;</tt> after the require_once line.
 
 
 
== Usage ==
 
 
 
The basic concept of the &lt;ref> tag is that it inserts the text enclosed by the ref tags as a footnote in a designated section, which you indicate with the placeholder tag &lt;references />. This format cannot be used interchangeably with the older format — you must pick one or the other.
 
 
 
If you forget to include &lt;references /> in the article, the footnotes will not appear, but a red error message will be displayed at the end of the page.
 
 
 
This page itself uses footnotes, such as the one at the end of this sentence.<ref>This footnote is used as an example in the "How to use" section.</ref> If you [{{fullurl:{{FULLPAGENAME}}|action=edit}} view the source] of this page by clicking "Edit this page", you can see a working example of footnotes.
 
 
 
=== Example ===
 
<blockquote>
 
<tt>
 
According to scientists, the Sun is pretty big.<font color=red>'''&lt;ref>'''E. Miller, ''The Sun'', (New York: Academic Press, 2005), 23-5.'''&lt;/ref>'''<br /></font>
 
The Moon, however, is not so big.<font color=red>'''&lt;ref>'''R. Smith, "Size of the Moon", ''Scientific American'', 46 (April 1978): 44-6.'''&lt;/ref>'''<br /></font>
 
<br />
 
&#61;=Notes==
 
<br />
 
<font color=red>'''&lt;references /></font>
 
</tt>
 
</blockquote>
 
 
 
=== Multiple uses of the same footnote ===
 
 
 
To give a footnote a unique identifier, use '''&lt;ref name="name">'''. You can then refer to the same footnote again by using a ref tag with the same name. The text inside the second tag doesn't matter, because the text already exists in the first reference. You can either copy the whole footnote, or you can use a terminated empty ref tag that looks like this: '''&lt;ref name="name" />'''. The quotes are not required (but not incorrect) if the name contains no embedded spaces. The space before the closing "/" may be omitted.
 
 
 
In the following example, the same source is cited three times.
 
 
 
<blockquote>
 
<tt>
 
This is an example of multiple references to the same footnote.<font color=red>'''&lt;ref name&#61;"multiple">'''Remember that when you refer to the same footnote multiple times, the text from the first reference is used.'''&lt;/ref>'''</font>
 
<br />
 
<br />
 
Such references are particularly useful when citing sources, if different statements come from
 
the same source.<font color=red>'''&lt;ref name&#61;"multiple">'''This text is superfluous, and won't show up anywhere. We may as well just use an empty tag.'''&lt;/ref>'''</font>
 
<br />
 
<br />
 
A concise way to make multiple references is to use empty ref tags, which have a slash at the
 
end. Although this may reduce redundant work, please be aware that if a future editor removes the first reference, this will result in the loss of all references using the empty ref tags.<font color=red>'''&lt;ref name&#61;"multiple" />'''</font>
 
<br />
 
<br />
 
&#61;=Notes==
 
<br />
 
<font color=red>'''&lt;references />'''</font>
 
</tt>
 
</blockquote>
 
 
 
The text above gives the following result in the article (see also section below):
 
<blockquote>
 
This is an example of multiple references to the same footnote.<ref name="multiple">Remember that when you refer to the same footnote multiple times, the text from the first reference is used.</ref>
 
<br />
 
<br />
 
Such references are particularly useful when citing sources, when different statements come from the same source.<ref name="multiple">This text is superfluous, and won't show up anywhere. We may as well just use an empty tag.</ref>
 
<br />
 
<br />
 
A concise way to make multiple references is to use empty ref tags, which have a slash at the end. Although this may reduce redundant work, please be aware that if a future editor removes the first reference, this will result in the loss of all references using the empty ref tags.<ref name="multiple" />
 
</blockquote>
 
 
 
'''Note''':<code> name=</code> identifiers require alphabetic characters; solely relying on numerals will generate an error message
 
 
 
=== Merging two texts into a single reference (wikisource issue)===
 
A typical wikisource issue is, how to merge into one reference texts split into different pages.  This can be done using a '''&lt;ref name="name">''' tag for the first part of the reference, and tagging the following parts into different pages with a tag '''&lt;ref follow="name">'''.
 
 
 
Here an example, deriving the text used into previous section:
 
 
 
<syntaxhighlight lang="text" enclose="div">This is an example of merging multiple texts into the same footnote.<ref name="main">Remember that all the texts will be
 
included into the reference containing the ''name='' attribute.<br /></ref>
 
 
 
<ref follow="main">Simply include the text to be merged into the first <ref name="name"> reference with a tag <ref follow="name"><br />This paragraph is included into a similar tag and it will be merged into the reference in former paragraph. </ref></syntaxhighlight>
 
 
 
Result:
 
This is an example of merging multiple texts into the same footnote.<ref name="main">Remember that all the texts will be
 
included into the reference containing the ''name='' attribute.<br /></ref>
 
 
 
<ref follow="main">Simply include the text to be merged into the first &lt;ref name="name"> reference with a tag &lt;ref follow="name"><br />This paragraph is included into a similar tag and it will be merged into the reference in former paragraph.</ref>
 
 
 
When using this syntax into Page: namespace, take care that the ref follow part of the footnote is transcluded too into the same ns0 page, where the first part of footnote is transcluded. Use appropriately section tags to get this result. To also remind users that reference names should not solely be numbers, eg. <nowiki><ref name="p32"> and <ref follow="p32"></nowiki>.
 
 
 
=== &lt;references /&gt; ===
 
Placing <code>&lt;references /></code> inserts the full text of all pending inline citations defined by <code>&lt;ref></code>, anywhere on the page. For example, based on the citations above, the code:
 
:<code>&lt;references /&gt;</code>
 
 
 
will yield:
 
 
 
<references />
 
 
 
In some language editions of Wikipedia, long reference lists may be placed using the template <code>{{[[w:Template:Reflist|Reflist]]}}</code>, which incorporates <code>&lt;references /&gt;</code>. It provides an optional parameter to display the reference list in multiple columns. For instance, the English, Hindi and Interlingua Wikipedias use the css selector <code>references-small</code> to make the reference text smaller than normal text.
 
 
 
In the case of multiple references-tags on a page, each gives the references defined in the ref-tags from the previous references-tag. In the case that these references-tags are produced by templates, each gives the references defined in the ref-tags before the first references-tag, and there is an error message that there is a ref-tag but not a references-tag.
 
 
 
=== List-defined references ===
 
Instead of using a self-closing <code>&lt;references /></code> (void element) to display pending inline citations, one can use paired tags – <code>&lt;references>...&lt;/references></code> – containing named references, as in:
 
<source lang="html4strict">
 
<references>
 
<ref name=foo>...</ref>
 
<ref name=bar>...</ref>
 
</references>
 
</source>
 
These can then be referenced via <code>&lt;ref name=foo /></code> tags, and allow one to define references at the end, instead of inline. Pending inline references will also be displayed. See [[w:Help:List-defined references|Help:List-defined references]] for an example of this use.
 
 
 
===Grouped references===
 
This may be disabled by <code>$wgAllowCiteGroups = false;</code> if desired. However, it is enabled on the Foundation wikis.
 
 
 
The following example generates separate reference lists for citations and miscellaneous footnotes:
 
 
 
<blockquote>
 
<tt>
 
According to scientists, the Sun is pretty big <font color=red>'''&lt;ref>'''E. Miller, ''The Sun'', (New York: Academic Press, 2005), 23-5.'''&lt;/ref>'''</font>.<br />
 
In fact, it is very big <font color=red>'''&lt;ref group="footnotes">'''Take their word for it. Don't look directly at the sun!'''&lt;/ref>'''</font>.<br />
 
<br />
 
&#61;=Notes==
 
<br />
 
<font color=red>'''&lt;references group="footnotes" /></font>
 
<br />
 
&#61;=References==
 
<br />
 
<font color=red>'''&lt;references /></font>
 
</tt>
 
</blockquote>
 
The anonymous group works as before, while the named group reference will show up as <ref group="footnotes">Test of the group argument</ref>, and the references will look like this:
 
<references group="footnotes" />
 
 
 
===Separating references from text===
 
In-text references make it easy to copy the text to another page; on the other hand, they make it hard to read. References containing a lot of data, quotes or elaborate citation templates can make up a significantly larger fraction of the source than the text that will actually be visible. To avoid this, recent versions of the extension allow moving some or all of the references into the <code>&lt;references /></code> section, to the place where they will actually appear to the reader. Thus,
 
 
 
<blockquote>
 
<tt>
 
According to scientists, the Sun is pretty big.<font color=red>'''&lt;ref name="miller" />'''</font><br />
 
The Moon, however, is not so big.<font color=red>'''&lt;ref name="smith" />'''</font><br />
 
<br />
 
&#61;=Notes==
 
<br />
 
<font color=red>'''&lt;references>'''<br />
 
'''&lt;ref name="miller">'''E. Miller, ''The Sun'', (New York: Academic Press, 2005), 23-5.'''&lt;/ref>'''</br>
 
'''&lt;ref name="smith">'''R. Smith, "Size of the Moon", ''Scientific American'', 46 (April 1978): 44-6.'''&lt;/ref>'''<br />
 
'''&lt;/references>'''</font>
 
</tt>
 
</blockquote>
 
 
 
will have the same output as the [[#Example|first example]] above, although the numbering and order of the references will not in general be the same.
 
 
 
===Substitution and embedded parser functions===
 
Since <code>&lt;ref&gt;</code> is parsed before substitution (i.e., <code>subst:</code>) or parser functions (i.e., <nowiki>{{#</nowiki>if:}}), they will not work inside of citation references. Instead, you have to use the [[Help:Magic words#Miscellaneous|<code>#tag</code> magic word]].
 
;This non-working example:
 
:<code><span style="color:red;"><nowiki><r</nowiki>ef</span> <span style="color:blue;">name="</span>Resource<span style="color:blue;">"</span><span style="color:red;">></span><span style="color:gray;"><nowiki>Content that can include subst: and parser functions (like {{#if:}} and {{PAGENAME}})</nowiki><span style="color:red;"><nowiki></ref></nowiki></span></code>
 
;could be made to work using:
 
:<code><span style="color:red;"><nowiki>{{#t</nowiki>ag:ref|</span><span style="color:gray;"><nowiki>Content that can include subst: and parser functions (like {{#if:}} and {{PAGENAME}})</nowiki></span><span style="color:blue;">|name="</span>resource<span style="color:blue;">"</span><span style="color:red;">}}</span></code>
 
At this time, there is no way to create an "empty" tag (i.e., <code>&lt;ref name="resource" /&gt;</code>) without triggering Cite's complaint about empty content. The workaround is to simply redefine the full tag each time you use this feature. Since such usage is likely limited to templates or other semi-automated process, this may not be too onerous.
 
 
 
== Customization ==
 
{{technical}}
 
The format of the output of <code>&lt;ref&gt;</code> and <code>&lt;references&gt;</code> is almost completely customizable through MediaWiki [[manual:system message|messages]], that can be modified, for example, through the MediaWiki namespace depending on the configuration of the wiki.
 
 
 
For a list of messages that control the output of <code>&lt;ref&gt;</code> and <code>&lt;references&gt;</code> and the values, if any, that are passed to them ($1, $2, $3 ...), see [[#External link|the code in CVS]] for an up-to-date listing of their default contents.
 
 
 
* cite_reference_link_key_with_num
 
*# key
 
*# num
 
* cite_reference_link_prefix
 
* cite_reference_link_suffix
 
* cite_references_link_prefix
 
* cite_references_link_suffix
 
* cite_reference_link
 
*#ref ID
 
*#backlink ID
 
*#count to display
 
* cite_references_link_one
 
**Used to format the source list that <nowiki><references /></nowiki> outputs, it configures 3 things: the backlink ID, the ref ID, and text of note.
 
*#backlink ID - used for creating the number order of the source list.
 
*#ref ID - used to link back to the actual reference in the text, this is where you can configure the <bold>^</bold> symbol
 
*#text of note - text used above describing the source info
 
* cite_references_link_many
 
*#backlink ID
 
*#list of links
 
*#text of note
 
* cite_references_link_many_format
 
*#ref ID
 
*#numeric value to use as a backlink
 
*#custom value (as defined in ''cite_references_link_many_format_backlink_labels'' to use as a backlink)
 
* cite_references_link_many_format_backlink_labels
 
* cite_references_link_many_sep
 
* cite_references_link_many_and
 
* cite_references_prefix
 
* cite_references_suffix
 
 
 
===Set references to use ^ and letters like Wikipedia===
 
 
 
Modify the following [[Manual:system message|system message]]s. All of these pages can be found on [[Special:Allmessages]]:
 
 
 
On the page [[MediaWiki:Cite references link one]] change:
 
 
 
:<nowiki><li id="$1">[[#$2|↑]] $3</li></nowiki>
 
 
 
:to
 
 
 
:<nowiki><li id="$1">[[#$2|^]] $3</li></nowiki>
 
 
 
On the page  [[MediaWiki:Cite references link many]] change:
 
:<nowiki><li id="$1">↑ $2 $3</li></nowiki>
 
 
 
:to
 
 
 
:<nowiki><li id="$1">^ $2 $3</li></nowiki>
 
 
 
On the page  [[MediaWiki:Cite references link many format]] change:
 
 
 
:<nowiki>[[#$1|<sup>$2</sup>]]</nowiki>
 
 
 
:to:
 
 
 
:<nowiki>[[#$1|<sup>$3</sup>]]</nowiki>
 
 
 
Explanation:
 
:The ^ replaces the up arrows.
 
 
 
:Putting $3 between the <nowiki><sup> </sup></nowiki> tags changes the links from  1.0, 1.1, 1.2 to a, b, c etc...
 
 
 
Searching for these 3 pages for the first time will result in no matches. Simply click "Create this page" to edit the code. The changes will not show up until a page with references is rebuilt.
 
 
 
=== Set reference and reference number highlighting like Wikipedia ===
 
Add the following code to the [[MediaWiki:Common.css]] page.
 
<source lang="css">
 
/* make the Cite extension list of references look smaller and highlight clicked reference in blue */
 
ol.references { font-size: 90%; }
 
ol.references li:target { background-color: #ddeeff; }
 
sup.reference:target { background-color: #ddeeff; }
 
</source>
 
Source: [http://en.wikipedia.org/wiki/MediaWiki:Common.css Wikipedia's MediaWiki:Common.css]
 
 
 
==Criticisms==
 
The major criticism regarding Cite.php is that it renders the editing of references much more tedious. Moreover, because many casual Wikipedia users are not familar with the cryptic Wikitext tags that they find with the use of Cite.php, it is likely that the net effect of Cite.php is often to deter new users from making edits to reference sections.  Although Wikipedia supposedly got its name from the Hawaiian word "wiki-wiki", meaning "quick-quick", Cite.php is arguably neither quick nor easy for the average Wikipedia user.
 
 
 
:This can now be solved by [[#Separating references from text|separating references from the text]].
 
 
 
::However, at least one editor, [[w:en:User:Ta bu shi da yu|Ta bu shi da yu]], finds it useful to have the references embedded within the text when splitting articles and shifting text with footnotes around the article. With the old system, or when using Cite.php with separated references, when a paragraph with a footnote needs to be moved, multiple footnotes in the Notes section may need to be shifted. This is very difficult to do. With Cite.php and in-line references, reorganising text and splitting articles is considerably easier.
 
 
 
Using cite.php makes citing page numbers harder.  Each reference usually cites a different page of the book/journal/article, but there is no way to indicate a different page number when using a self-closing tag.  As such, all <nowiki><ref name="xyz" /></nowiki> simply refer to the work as a whole, rather than to a specific page number in the work (unless the author makes each page number a seperate reference).  Perhaps a future revision of cite.php could allow a page number argument to be passed to the reference like so <nowiki><ref name="xyz" page="42-43" /></nowiki>.  This would dramatically increase the reputability of the citations, because they could then be checked/verified, and the citations would be a more useful resource.
 
 
 
:This can be solved by using the <nowiki>{{rp|page}}</nowiki> template on en.wikipedia to append<ref name=foo>Foo ref</ref><sup>:20</sup> the specific<ref name=foo /><sup>:30</sup> page number<ref name=foo /><sup>:33</sup> to each reference. The formatting has been simulated here because the MediaWiki site does not contain the <nowiki>{{rp}}</nowiki> template. If this had been an actual Wikipedia page, the [[w:template:Rp|full template]] with its many options could have been utilized.
 
 
 
<references />
 
 
 
==Comparing ref/note style and Cite.php style==
 
 
 
They are actually very similar.
 
 
 
*To make a single use footnote:
 
**Ref/note
 
**#''<nowiki>{{ref|foo}}</nowiki>'' at the in-text place.
 
**#''<nowiki># {{note|foo}}</nowiki> text of note'' at the proper place in the Notes list.
 
**Cite.php
 
**#''<nowiki><ref>text of note</ref></nowiki>'' at the in-text place.
 
**#(Only needed once per article)''<nowiki><references /></nowiki>'' under the Notes heading.
 
*To make a multiple use footnote:
 
**Ref/note
 
***With strict ref/note style this was impossible, but a number of alternative forms had been created, for the details of which, see the appropriate pages.
 
**Cite.php
 
**#''<nowiki><ref name=foo>text of note</ref></nowiki>'' at each in-text place.
 
**##Alternatively  ''<nowiki><ref name=foo /></nowiki>'' A self-closing tag on every use after ''name=foo'' has been defined.
 
**#(Only needed once per article)''<nowiki><references /></nowiki>'' under the Notes heading; exactly the same as to make a single-use note.
 
 
 
==Harvard references extension==
 
[[File:Harvard References Example Animation (frame 2 of 6).jpg|thumb|285px|Sample of the [[Extension:HarvardReferences|HarvardReferences]] extension.]]
 
There is an [[Extension:HarvardReferences]] that can be used to support "Harvard" ("author - date") system of references, e.g. '''<nowiki>[Smith 2010:1]</nowiki>'''. This reference system is often used in scientific literature. Both extensions are compatible. Moreover, links in "Harvard" system can be inserted into body of ref-link, and vice versa. It may be helpful to support book-style comments/subnotes with a "scientific" source references. For example:
 
 
 
<pre><ref>This is a test subnote. [Smith 2010:121]</ref></pre>
 
 
 
{{OnWikimedia}}
 
{{Languages|Extension:Cite/Cite.php}}
 
 
 
[[Category:Referencing extensions]]
 

2014年9月1日 (月) 00:24時点における最新版

転送先: