Extension:Cite/Cite.php/ja
From MediaWiki.org
|
Cite Release status: stable |
|
|---|---|
| Implementation | Tag |
| Hooks used | ParserFirstCallInit |
| Description | ドキュメントに脚注を追加する。 |
| Author(s) | Ævar Arnfjörð Bjarmason |
| MediaWiki | 1.11 |
| Download | スナップショットをダウンロード Subversion [ヘルプ] |
| Example | Wikipedia:Footnotes |
- このページは拡張機能に関するものです。使い方に関してはHelp:Footnotes, and ja:Help:脚注もご覧下さい。
Cite.phpは2つのパーサフック、<ref>と<references />をMediaWikiに追加するCite拡張機能です。これはページに脚注を追加するために動作します。
Contents |
[edit] インストレーション
- MediaWiki のバージョンに適合したスナップショットをダウンロード し、extension ディレクトリに入れます。
- 次の行をLocalSettings.phpに追加します:
require_once('extensions/Cite/Cite.php');
[edit] 使い方
<ref>タグの基本的なコンセプトは目的のセクションに脚注としてのrefタグで閉じられたテキストに挿入することです。<references />タグでプレイスホルダを示します。新しいフォーマットは古いフォーマットと交換可能ではありません - どちらかを選ばなければなりません。
記事の最後に<references />を含めることを忘れた場合、脚注は表示されません。
このページ自体、この文章の終わりなどで脚注を利用しています。[1] "このページを編集"ボタンをクリックしてこのページのソースを閲覧する場合、脚注が動作している例を見ることが出来ます。
[edit] 例
According to scientists, the Sun is pretty big.<ref>E. Miller, The Sun, (New York: Academic Press, 2005), 23-5.</ref>
The Moon, however, is not so big.<ref>R. Smith, "Size of the Moon", Scientific American, 46 (April 1978): 44-6.</ref>
==Notes==
<references/>
[edit] 同じ脚注を複数利用する
脚注にユニークな識別子を与えるには、<ref name="name">を利用します。 同じ名前とrefタグを使用することで同じ脚注を再び参照することが出来ます。 2番目のタグ内部にあるテキストは問題ありません。テキストが既に最初の参照で存在するからです。脚注全体をコピーする、次のようなもしくは終わりの空のrefタグを使用することが出来ます: <ref name="name" />.
次の例において、同じソースは3回引用されます。
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>
Such references are particularly useful when citing sources, if 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>
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" />
==Notes==
<references/>
上記のテキストは次のような結果になります(下記のセクションもご覧下さい):
This is an example of multiple references to the same footnote.[2]
Such references are particularly useful when citing sources, when different statements come from the same source.[2]
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.[2]
[edit] <references />
Placing <references />を設置することで<ref>で定義されたすべての保留のインラインの引用の全文をページのどこにでも挿入することが出来ます。 例えば、上記の引用に基づくと、コードは次の通りです:
<references />
は次の内容を出力します:
- ↑ この脚注は"使い方"のセクションにおける例です。
- ↑ 2.0 2.1 2.2 Remember that when you refer to the same footnote multiple times, the text from the first reference is used.
Wikipediaのいくつかの言語において、長い参照リストは<references />を内蔵する{{Reflist}}テンプレートを使用することで置き換えられることがあります。複数のカラムで参照リストを表示するためのオプションパラメータが提供されます。例えば、英語版、 ヒンディー語、インターリングアのWikipediaは参照テキストを通常よりも小さく表示するreferences-smallCSSセレクタを利用します。
[edit] カスタマイゼーション
<ref>と<references>の出力フォーマットはMediaWikiのメッセージを通してほとんど完全にカスタマイズすることが出来ます。MediaWikiのメッセージは例えばwikiのコンフィギュレーションによるMediaWikiの名前空間を通して修正することが出来ます。
<ref>と<references>と値の出力をコントロールする、もしあれば、それら($1, $2, $3 ...)に渡されるメッセージのリストのためです。最新のデフォルトの値に関してはSVNをご覧下さい。
- 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
- <references />が出力するソースリストをフォーマットするために使用され、3のものを設定します: backlink ID、ref ID、とtext of noteです。
- backlink ID - ソースリストの順番の数字を作成するために使用されます。
- ref ID - テキストの実際の参照に戻るリンクに使用されます。これは<bold>^</bold>記号を設定することができる場所です
- text of note - 上記でソース情報を説明するために使用されるテキスト
- cite_references_link_many
- backlink ID
- リンクのリスト
- 注のテキスト
- 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
[edit] ^とWikipeidaのような文字列を使用するためにリファレンスを設定する
Cite.i18n.phpの47にて
'cite_references_link_one' => '<li id="$1">[[#$2|^]] $3</li>', 'cite_references_link_many' => '<li id="$1">^ $2 $3</li>', 'cite_references_link_many_format' => '[[#$1|<sup>$3</sup>]]',
The ^ は上の矢印を置き換え、sup /supタグの間の$3を最後の行に設置することでw/ a b c...リンクを修正して、代わりに2.1、2.2、2.3、...となります。
[edit] 現在の問題
[edit] Apacheのエラー
PHPがApacheのエラーログにエラーのログを記録します: (MediaWiki 1.6.8, PHP 4.4.4, Apache 1.3.37)
[error] PHP Notice: Use of undefined constant __METHOD__ - assumed '__METHOD__' in extensions/Cite/Cite.php on line 609 [error] PHP Notice: Use of undefined constant __METHOD__ - assumed '__METHOD__' in extensions/Cite/Cite.php on line 612
- 両方の行(609 & 612)上の__METHOD__周辺のシングルクォートを置き換えることでこれを修正することが出来ました
- 原因は__METHOD__ はPHP5のみで利用できるからです。'__METHOD__'を利用することは正しい修正ではありません。 --Løde
[edit] バージョン1.6.8
バージョン1.6.8では動作しませんでした。"13826"ではなくリビジョン"13660"でcite.phpを動かすことが出来ました。エラーメッセージはページのトップに表示されました:
Warning: Cannot modify header information - headers already sent by (output started at /****/wiki/extensions/Cite.i18n.php:399) in /****/OutputPage.php on line 575
Warning: Cannot modify header information - headers already sent by (output started at /****/wiki/extensions/Cite.i18n.php:399) in /****/wiki/includes/OutputPage.php on line 576
[edit] アンカーのリンク文字が間違ってレンダーされる
↑の代わりに???がレンダーされたページに表示します — これは上向きの矢印記号を↑ に置き換えることで修正出来るかもしれません (対応するHTMLエンティティ; レンダーされた ↑)。代替的な方法としては、恐らくキャレット (^) が代用品として利用できます。
[edit] テンプレート
- テンプレートで
<ref>を利用することで番号付けが壊れます:解析されたものの順番に関するMediaWikiに関する問題です - テンプレートの範囲内で
<ref>が番号付けされた参照マークを正しく作成しますが、呼び出すページ上で<reference />の出力から見失います。(例です) <ref name={{{1}}}>といったテンプレートの引数を<ref>に渡すことは不可能です:MediaWikiに関する問題です。 bug 4529をご覧下さい- テンプレートの代用品は
<ref>タグ内部で誤ってレンダーします
[edit] HTMLパラメータ
- <ref> によって生成された引用リンクと<references> によって生成されたバックリンクは空の
title属性を持ちます(<a href="..." title="">...)- この拡張機能ではなくMediaWikiに関する問題です。
[[#foo|bar]]のような入力が与えられた時、IMediaWikiは<a href="#foo" title="">bar</a>のような出力を生成します
- この拡張機能ではなくMediaWikiに関する問題です。
- 後方互換性のためにname=アンカーが見つからない (5567)
- 生成された<a href="#_note-n">リンクはname="_ref-n"を含みます。
- 生成された<a href="#_ref-n">リンクはname="_note-n"を含みます。
- これは現在動作するようです。
[edit] HTMLコメントアウトが動作しない
HTMLコメントの<ref>をコメントアウトします <--…-->は引用を隠しますが参照はリスト上に表示されます
- これによってパーサエラーが表示されることがあります…
[edit] ParserFunctions
ParserFunctionsの内部でCite.phpが適切にネストされません。例えば、"{{#ifeq:1|2|<ref>true</ref>|<ref>false</ref>}}" はParserFunctionの結果に関わらず"true"と"false"の両方を参照として返します。しかしながら、ParserFunctionsは<ref>タグの内部では完璧に動作します。
[edit] Special:Versionが空白
- バージョン1.9.2のSpecial
- versionページを空白にしてしまいます。これは次の問題を引き起こしているようです:
'author' => 'Ævar Arnfjörð Bjarmason',
- これを修正するために次のように変更します(ラテン文字への置き換えが間違っていたらごめんなさい)
'author' => 'Evar Arnfjoro Bjarmason',
[edit] レンダリング
同じ名前を持つ先のタグのすべてが空である場合でもファーストネームではない<ref>の内容がレンダーされません。
[edit] プレビューが見つからない
インライン引用のためのプレビューが存在しません、ページのセクションのみを編集をするときにとりわけ面倒です。(Bug 5492)
[edit] 批判
Cite.phpに関する主な批判はリファレンスの編集をより退屈にレンダーすることです。さらに、多くの一般的なWikipediaのユーザーは不可解なWikitextのタグに慣れていないので、Cite.phpの純粋な効果は新しいユーザーが参照のセクションを編集することを阻害すするだけだということです。Wikipediaの名前の由来であるハワイ語の"wiki-wiki"は"速い-速い"を意味していますが、 一般的なWikipediaのユーザーにとってCite.phpは速くも簡単でもありません。
- 可能な解決方法は実際の参照セクションが与えられた名前を持つ参照のすべてを含むようにすること、記事全体で、完全な引用の代わりに、名前による単純な参照することです。このことによって異なるテキストを持つが最初の例のみを表示する、参照の複数の使用に関する混乱を減らします(セクションに関する混乱の原因は移り変わり、テキストが変更されない一方で、表示された参照は変更されることがあります)。すなわち:
Some text that needs a ref.{{ref|foo}}
Another sentence that uses a ref,{{ref|bar}}
followed by another usage of the first ref.{{ref|foo}}
- Cite.phpを利用することでページ番号を引用することが難しくなります。それぞれのリファレンスは通常book/journal/articleの異なるページを参照しますが、セルフクロージングタグを利用するときは異なるページを表示する方法がありません。そういうものとして、すべての<ref name="xyz" />は作品にある特定のページ番号よりも全体として作品を参照します。恐らくCite.phpの将来のリビジョンでは<ref name="xyz" page="42-43" />のような参照に渡されるページ番号の引数が可能になります。引用が確認/認証され、引用はより便利なリソースになるので、これによって劇的に引用の評価が増大します。
===References===
{{refs
{{ref|foo|Text of reference}}
{{ref|bar|A difference reference}} }}
- これはパーサによる2つのパスを要求しますが、ソーシングのプロセスを多いにシンプルにします。すなわち、何かを記事に追加して既に引用した既知のソースを利用したい場合、参照セクションのためにコードをざっと見て名前を見つける代わりに、どこで使用されているのか発見するために記事のテキストを掘り抜きしなければなりません(とりわけ、大きな記事でたくさんの引用がある場合、大きな苦痛になることがあります)。
別の批判は、Footnotes3とは異なり、記事のコピーから書誌の情報を分離することは現在不可能であることです。
しかしながら、少なくとも一つの編集者、 Ta bu shi da yuが、記事の分割と記事の周辺の脚注でテキストを変更することにおいてものすごく便利なことを発見しました。以前は、脚注付きのパラグラフは移動させることが必要で、ノートセクションにある複数の脚注は変更されました。これを行うことはとても難しかったです。Cite.phpによってテキストの再組織化と記事の分割はとても簡単になりました。
[edit] 過去の問題
- 拡張機能はCSS2属性セレクタで均一に表されるid属性を生成しませんでした
- Cite.phpの問題で、bug 4579をご覧下さい
- マルチバイト、コロン、スペースとHTMLスペックに従ってエンコードが必要な他の値を使用することで内部リンクが壊れます
- この拡張機能の問題ではなくMediaWikiの問題です。bug 4461をご覧下さい
- 画像のキャプションで
<ref>を使用することでXHTMLの出力が壊れます - MediaWikiの問題で、この拡張機能の問題ではありません。bug 1887をご覧下さい。
[edit] ref/noteスタイルとCite.phpスタイルの比較
これは実際によく似ています。
- 単独の脚注を使用するために:
- Ref/note
- 内部テキストの場所で{{ref|foo}}。
- 注のリストの適切な場所で# {{note|foo}} 注のテキスト
- Cite.php
- 内部テキストの場所で<ref>text of note</ref>
- (記事ごとに一回だけ必要) 注のヘディングの下で<references/>。
- Ref/note
- 複数の脚注を使用するために:
- Ref/note
- 厳密なref/noteスタイルではこれは不可能ですが、代替的なフォームはたくさん作成されました。詳細に関して、該当するページをご覧下さい
- Cite.php
- それぞれのテキスト内の場所で<ref name=foo>text of note</ref>
- Alternatively <ref name=foo /> name=fooが定義された後、自己閉じタグをすべて使用
- (記事ごとに一回だけ必要)<references/> 注のヘディングの下で; 使い捨ての注を作成するのとまったく同じです。
- それぞれのテキスト内の場所で<ref name=foo>text of note</ref>
- Ref/note