Help:セクション
出典: フリー百科事典『ウィキペディア(Wikipedia)』
このページはメタウィキメディアのヘルプ文書のコピーを(一部)もとにしています。
セクション見出しのマークアップを使うと、ページをセクション(節)に分割することができます。各セクションの見出しには[[ページ名#見出し名]]
のように # を使うことでリンクを貼ることができます。また見出しが4つ以上になると、自動的に目次が生成されます。
目次 |
[編集] セクションの作成と番号付け
セクションは次のようにセクションの見出しを作ることで作成されます(見出しのことを英語の転用で「ヘッディング」(heading)ともいいます。「ヘッド」(head)、「ヘッダ」(header)という言い方もありますが、ページの上部にあるテキスト群と区別をつけるために「ヘッディング」という表現が好まれます)。
== セクション == === サブセクション === ==== サブ-サブセクション ====
等号の数が多くなるほど、セクションの階層が深くなります。
セクションの名前の両脇に1つの等号のみを付けないでください(例: =見出し=)。このようにすると、ページ冒頭に表示されているページ名と同じ階層の見出しになってしまいます。なお、ページ名は自動的に生成されています。
オプションで見出しに番号を振る設定をすると、セクション見出しに番号がつきます。
セクションの見出しはページ内で同じものを使わない方がよいでしょう。セクションと同じ見出しをサブセクションに使うこともおすすめできません。同じ見出しを複数回使うとセクション編集(後述)をしたあと、要約欄のリンクが間違ったリンク先にとんでしまうことが起りえます。
ページには別ページ(テンプレート)をセクション(または複数の連続するセクション)として呼び出すことができ、閲覧しただけではその事実はわかりません。詳しくはHelp:テンプレート#ページの合成を参照してください。この方法をとると事実上セクションの編集履歴を分離したり、セクションだけをウォッチすることができます。
セクションを含むテンプレートを呼び出している場合、テンプレート内のセクションは生成されるページ内でのその位置に応じて番号付けされます。例えば、テンプレートタグが3番目のセクションにあるとすると、テンプレート内の最初のセクションは「4」と番号付けされます。テンプレート内の最初のセクションより前にあるテキストはテンプレートタグがおかれているセクションの一部とみなされ、またテンプレートタグの後から次の見出しまでにあるテキストはテンプレート内の最後のセクションの一部とみなされます。このようなこと、意図的に行うこともできますが、通常は避けた方がよいでしょう(下記も参照)。
[編集] 目次(TOC)
見出しが4つ以上あるページには、基本的にセクション見出しから自動生成される目次が表示されます。ただし次の場合を除きます。
見出しの数が4つ未満であってもウィキテキスト内に__FORCETOC__または__TOC__を書きこむと、目次が表示されます。
__FORCETOC__があると、目次は最初のセクション見出しの前に置かれます。__TOC__があると、この文字列がある位置に目次が置かれます。またこの文字列の場合は目次を置く場所を任意に指定できます。例えば、右端とかテーブルのセル中に表示させることもできます。メディアウィキの古いバージョンでは複数の目次が生成できましたが、現在はできません。__TOC__を複数書きこむと、最初のところに目次が生成されます。
目次の前には導入部のテキストをおくことがままあります。通常は目次の直後に最初の見出しがある形が望ましいですが、導入部が長いときなどは目次が下に行きすぎることを防ぐためだけに意味のない見出しを追加せずとも、__TOC__を使って目次を適切な位置におくことができます。
__NOTOC__を使うことで、通常の目次を無効化することができます。
次のコードを使うと、目次を画面の右端に浮動テーブルとして置くことができます。
{| style="float:right" |__TOC__ |}
[編集] コンパクトな目次
(アルファベットを並べただけのような)非常に短い見出しがたくさんある場合、目次が非常に長くなります。以下のようにすることでコンパクトな目次で置き換えられます。
__NOTOC__ [[#A|A]] [[#B|B]] [[#C|C]] [[#D|D]] [[#E|E]] [[#F|F]] [[#G|G]] [[#H|H]] [[#I|I]] [[#J|J]] [[#K|K]] [[#L|L]] [[#M|M]] [[#N|N]] [[#O|O]] [[#P|P]] [[#Q|Q]] [[#R|R]] [[#S|S]] [[#T|T]] [[#U|U]] [[#V|V]] [[#W|W]] [[#X|X]] [[#Y|Y]] [[#Z|Z]]
これは以下のように表示されます。
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
同様に年や10年紀も以下のように書けます。
1900年代 - 1910年代 - 1920年代 - 1930年代 - 1940年代 - 1950年代 - 1960年代 - 1970年代 - 1980年代 - 1990年代 - 2000年代
[編集] サイト全体の目次の深さを制限する
目次に掲載するサブセクションの深さは、$wgMaxTocLevelを使ってサイト全体で制限することができます。LocalSettings.phpにて$wgMaxTocLevelの値が例えば3に設定されていれば、目次には第2レベルの見出しまでしか掲載されません。バージョン1.10.0rc1までは条件文にバグがあり、制限された目次が正しく生成されていませんでした。これにはバグの報告 6204で簡単な解決案が提案されました。
[編集] セクションへのリンク
内部リンクのマークアップ[[リンク先]]の中に # を使うことで、セクション見出しにリンクすることができます。
例えば本セクションへのリンクは次のようにします。
[[Help:セクション#セクションへのリンク]]
同一ページ内からは[[#セクション名]]
の形でもリンクできます。別のページからは[[ページ名#セクション名]]
の形でリンクします。
パイプ(|)を使って[[Help:セクション#セクションへのリンク|セクションへのリンクする方法]]
のように、リンクとして表示する語句を指定することもできます。ただしパイプの裏技は動作しません(Help:パイプ付きリンク参照)。
セクションへのリンクの仕組みは、HTML のアンカータグを利用しています。ウィキテキストから生成された HTML コード中の各セクションを表示している部分には name属性・id属性双方ともセクション名を値とするアンカー用のHTML要素 "a"が書き込まれています。メディアウィキはこうしたセクション・アンカーを使ってページの目次を自動作成しますが、人間が手動で任意のセクションへのリンクを作るために使うこともできるのです。
例えば、本セクションの冒頭で生成されているHTMLコードは次のとおりです。
<p><a name="セクションへのリンク" id="セクションへのリンク"></a></p> <h2>セクションへのリンク</h2>
セクションのアンカーはセクションの階層を無視します。したがって、サブセクションやサブサブセクションなどへのリンクは[[#サブセクション名]]
や[[#サブサブセクション名]]
のようになります。
セクション名が重複する場合には、アンカー名にアンダースコアと番号が自動的に付け加えられます。例えば「例」というセクションが3つあったら、セクションへのリンクに使うセクション名は上から「例」、「例_2」、「例_3」となります。ですが混乱を招くことに「例_2」や「例_3」のセクションを編集した後、例えば要約欄のリンクをクリックすると「例」のセクションにとんでしまいます。
セクションの見出しが空白だけの時には目次からのリンクが機能しません。同種の機能についてはHelp:条件文#NS:0を参照してください。
セクション見出しは作らずにアンカーターゲットだけを作成するには、span などのHTMLタグを利用できます。例えば<span id="アンカー名"></span>
とします。また、{{Anchor}} テンプレートを利用することもできます。ただし、とても古いブラウザでは動作しません。
セクション見出し内に日付形式統一機能(Help:オプション#日付の形式)を利用すると、セクションへのリンクが複雑になってしまうので注意してください。
セクション見出し内に内部リンクがあることは、セクションへのリンクという点からは特に不都合を生じません。ただし見出しが正しく表示されない例が報告されているので、使用は避けてください。
ページ内の任意の位置へのリンク作成についてはHelp:リンク#ページへのリンク作成を参照してください。
[編集] セクションへのリンクとリダイレクト
リダイレクトページ内のセクションを指定するリンクはリダイレクト先にある同名のセクションへのリンクになります。
あるページ内のセクションへのリダイレクトも現在では使える場合があります[1]。m:Help:Section linking and redirectsが例です(CSSスタイルシートを強制リロードする必要があるかもしれません)。
ページ名の変更の場合と異なり、セクション名を変更してもリンク切れを防ぐなんらかの転送措置は自動的に行われません。また、リンク元ではセクション別のバックリンクの検出はできず、あるセクションにリンクしているページはすべて単にそのページにリンクするページとしてリストされます。回避策として考えられるのは次の通りです。
- セクションに直接リンクする代りに、セクションにリダイレクトするページへリンクする。セクションの名前が変わったときにはリダイレクト先を変更します。この方法はセクションに対する「リンク元」らしきものも提供します(まずページに対してリンクしているリダイレクトを探し、その下にあるリンクを見ます。セクション名が変わってもリダイレクトページの名前から推測できるでしょう)。
- アンカータグを別に置いて、それにリンクする。
- セクション冒頭にコメントアウトの形でセクションにリンクするページのリストを書き込む。
- セクションを別のページもしくはテンプレートに分離し親ページに呼び出す、または親ページからリンクする。この場合、セクションにリンクするのではなく別ページにリンクできます。
リダイレクトページはリダイレクトコマンドの後にカテゴリタグをおくことでカテゴリ付けできます。セクションへのリダイレクトと組み合わせれば、カテゴリページからセクションへリンクするという形で、ある程度はセクションをカテゴリ付けできます。しかし、セクションに明示的なカテゴリへのリンクを置かない限り、セクションはカテゴリページにリンクしません。カテゴリページではリダイレクトは"redirect-in-category"というCSSセレクタが割り当てられていますので、例えばイタリック体で明示することができます。これはMediaWiki:Common.cssや利用者個人のスタイルシートで設定できます。en:Categorizing redirectsも参照してください。
[編集] セクション編集
セクションは見出しの脇にある「編集」というリンクをクリックすることで、個別に編集できます。オプションの設定によっては、見出しの右クリックでも同じことができます。これは「セクション編集機能」と呼ばれています。セクション編集機能を使うと、次のようなURlの編集ページにとびます。
http://ja.wikipedia.org/w/wiki.phtml?title=Help:セクション&action=edit§ion=2
ここでセクションには「番号」が使われ、セクション名は使われていないことに注意してください。サブセクションにも通して番号が振られますので、例えばセクション2.1はここでは3と振られ、この場合次に来るセクション3がセクション番号4になります。上記のようなURLを直接ブラウザのアドレスバーに入力しても同様の結果が得られます。
この機能は編集が他のセクションには関わらず、編集中にそうした他のセクションのテキストを見る必要がないときに便利です(ほかのセクションのテキストを見る必要があるときには、セクション編集画面を新規ウィンドウで開くかセクション編集中に本文ページを別のウィンドウで開くとよいでしょう)。セクション編集はページサイズが大きい時におこりうるさまざまな問題を軽減もします。
__NOEDITSECTION__
をページ中のどこかに書きこむと、「編集」リンクが全て表示されなくなります。これはセクション編集自体ができなくなるということではありません。URLの直接入力を使ってセクション編集ができます。また HTMLの<h2>などの見出しタグを用いた見出しや、<noinclude>
タグに囲まれた見出しには、「編集」リンクがつきません。
セクションの挿入は挿入したい位置の前後のセクションのどちらかを編集することで行なえます。前のセクションと統合する時には、見出しを削除します。
ページの最後にセクションを追加するにはhttp://ja.wikipedia.org/w/index.php?title=Wikipedia:サンドボックス&action=edit§ion=new のような§ion=new
を付けたURLで行なうこともできます。ノートページでは特別に「+」というこのためのリンクがあります。この場合、セクションの見出しを入力する「題名・見出し」という名前のテキストボックスが表示され、ここに入力した内容が見出しとなり、またその編集の要約欄の内容にもなります。マジックワード の__NEWSECTIONLINK__
をウィキテキスト内に書き込むと、ページに「+」タブが追加されます。
[編集] 最初のセクションの前の部分の編集
基本的には最初のセクションの見出しの前にある導入部のテキストだけを編集するためのリンクは提供されていません。ですが、セクション編集機能はこの部分にも適用できます。これをするにはsection=0とするだけです(例:http://ja.wikipedia.org/w/wiki.phtml?title=Help:セクション&action=edit§ion=0 )。裏技として、どこか適当なセクションの「編集」リンクをつかって編集画面を呼び出し、セクションの番号を0に変えることでも同じことができます。
また、オプションで設定できるガジェットを使って、冒頭部に「編集」リンクを設置することができます。
テンプレート{{Edit-first-section}}はページにセクション0への編集リンクを追加します。
m:Help:Section editing demoもご覧ください。
[編集] プレビュー
セクション編集中のプレビューはページ全体を表示したときと同じ結果を表示しているとは限りません。例えば、前のセクションにある画像が編集中のセクションまで侵食しているようなときには、ページ全体を表示したときにはレイアウトが変わってみえるでしょう。
編集ページの「使われているテンプレート」のリストでは、そのページで読み込まれている全てのテンプレートが表示されますので他のセクションで使っているテンプレートも表示されます。
[編集] サブセクション
サブセクションは編集するセクションの中に含まれます。編集中のセクションの番号付けは相対的でトップレベルが常に1になり、その下にあるサブセクションは相対的に1.1、1.2などになります。例えば、サブセクション3.2を編集する場合、サブサブセクション3.2.4は1.4と番号が振られます。ただし、見出しの形式は絶対的な見出しの階層に一致します。
[編集] 大きなセクションを持つページの編集
もしもページ中にとても大きなセクションがあるかページ自体がとても大きくてセクションに分割されていない場合、ブラウザまたは接続によってはこのような大きなセクションは編集できないことがあります(Help:ページサイズ参照)。このような時にも次のことはできます。
- 今あるセクションよりも大きなセクション番号を指定することによりセクションを追加する(大きすぎることは問題にはなりません)。ただし、新しいセクション見出しの前に空白行が加わります。
- 同じ方法でセクション見出しを付けないことで、最後のセクションに内容を追加する。ただし、ブラウザや接続環境の制限がある場合、この部分をあとから編集したり差し戻すことはできなくなります。
大きなセクションのウィキテキストの閲覧は可能な場合、すこしずつ小さいセクションに分割したテキストを追加し、最後にもとの大きなセクションを削除してもよいでしょう。この場合、作業中はテキストの重複が起きますから要約欄に作業についての説明を書いておく方がよいでしょう。
[編集] 挿入されたテンプレートのセクションの編集
編集機能は挿入された別ページ(テンプレート)のセクションにも適用できます。呼び出されているセクションの「編集」リンクをクリックすると、別ページの編集画面にとびます。このとき、URLに現れるセクション番号は &action=edit§ion=T-1
のようになります。このセクションHelp:挿入されたテンプレートのセクションの編集が実例になっています。
セクション編集機能では、編集されるセクションの範囲は、別ページを呼び出している親ページの見出しに依存します。例えば、別ページ内の最初の見出しの前にテキストがある場合、親ページ上では、このテキストはテンプレートタグを含んでいるセクションの一部分であるように見えます。しかし、そのセクションの編集リンクをクリックしても、別ページ部分のウィキテキストは表示されません。あるいは、テンプレートタグの直後に、セクション見出しをはさまずにテキストが続いている場合、セクション編集機能を使ってこのテキストを編集するためには、テンプレートタグが挿入されている直前のセクション見出しの編集リンクをクリックしなければなりません。
したがって、親ページの生成画面で表示されているセクションの範囲と、実際のウィキテキストのセクションの範囲が異なると混乱を引き起こします。これを避けるためには、
- 別ページ(テンプレート)が見出しを持っている場合、最初の見出しの前にテキストをおかないでください。
- 親ページでは、セクションをもつ別ページの後には、新しいセクション見出しをおいてください。
別ページ内はセクションに分割する必要がなくても、場合によっては、別ページを新しいセクション見出しで始め、別ページ全体を1つのセクションとするとよいでしょう。このようにしておけば、別ページを呼び出しているページでは、別ページへの明示的なリンクをおかなくても、セクション編集機能を使って別ページを編集することができます。この別ページも、1つのセクションになっています。
別ページ(テンプレート)中のパラメータ値、例えば"{{{1}}}"は、テンプレートを編集することではなく、呼び出しているページのテンプレートタグを編集することで指定されることに注意してください。このような時には、説明の文章か、明示的な編集ページへのリンクをおいておくと便利でしょう。
呼び出されているページに __NOEDITSECTION__ タグが含まれていると、そのページだけでなく、呼び出しているページ、またそのページに呼び出されている他の別ページにも効果が及びます。
[編集] 条件文中のセクション
条件文を使ってセクションの見出しを生成すると、直接的であれセクションを含むテンプレートのトランスクルージョンによってであれ、このセクションおよび後続のセクションの「編集」リンクのリンク先が誤ったものになることがあります(ページの見た目や目次の階層、目次からのリンクは正常です)。これはセクション編集リンクを生成するためのセクションのカウントが条件文の展開の後に行われるのに対して、編集ページを読み込む時にはそこに表示されているセクションだけがカウントされるためです。
これはバグではなく、セクション編集機能の仕様ですので解決法は明白で、条件文を使ったセクション生成をしないかセクション編集機能を止めるしかありません。
[編集] セクション、ページの分割、トランスクルージョンの比較
ページの分割の利点
- リンク元が使える
- 編集履歴が分離できる
- 改名の際に自動的にリダイレクトが作られる
- 短いページを読み込む(ロードする)ほうが長いページを読み込むより早く済む
- それぞれにカテゴリに入れられる
セクションをたくさんもつ大きなページの利点
- 長くても1ページを読み込むほうが短いページをいくつも読み込むより速くて簡単である
- ブラウザやコンピュータの検索機能を利用してページ内を検索する方がプロジェクト全体から複数のページを検索するよりも速く、検索結果の表示や負荷の点からも優れている(生成ページもウィキテキストも検索可能)。更に目次が便利な案内役になる
- 複数の定義を含む概念の記事の場合、全体を見通した記事執筆が容易になる
もう1つの方法としてテンプレート機能を利用して、複数のページをまとめて1つのページにする(トランスクルージョンを使って合成ページを作成する)ことができます。こうすれば生成された合成ページ内での検索は容易になりますが、ウィキテキストを一度に検索することはできません。欠点として、それぞれのページにページ名が必要です。また2,048,000バイトの読み込みページサイズ制限が適用されます。
[編集] デモ用セクション
[編集] Demo a
このセクションは#セクションのリンクからリンクされています。
[編集] Demo http://a
このセクションは#セクションのリンクからリンクされています。