ヘルプ:セクション
テンプレート:H:h
セクション見出しのマークアップを使うと、ページをセクション(節)に分割することができます。各セクションの見出しには[[ページ名#見出し名]]
のように # を使うことでリンクを貼ることができます。また見出しが4つ以上になると、自動的に目次が生成されます。
この文の下にあるこれ↓が目次です。
セクションの作成と番号付け
セクションは次のようにセクションの見出しを作ることで作成されます(見出しのことを英語の転用で「ヘッディング」(heading)ともいいます。「ヘッド」(head)、「ヘッダ」(header)という言い方もありますが、ページの上部にあるテキスト群と区別を付けるために「ヘッディング」という表現が好まれます)。
== セクション == === サブセクション === ==== サブサブセクション ====
等号の数が多くなるほど、セクションの階層が深くなります。
セクションの名前の両脇に1つの等号のみを付けないでください(例: =見出し=)。このようにすると、ページ冒頭に表示されているページ名と同じ階層の見出しになってしまいます。なお、ページ名は自動的に生成されています。
個人設定で見出しに番号を振る設定をすると、セクション見出しに番号がつきます。
セクションの見出しはページ内で同じものを使わない方がよいでしょう。セクションと同じ見出しをサブセクションに使うこともおすすめできません。同じ見出しを複数回使うとセクション編集(後述)をしたあと、要約欄のリンクが間違ったリンク先に飛んでしまうことが起りえます。
ページには別ページ(テンプレート)をセクション(または複数の連続するセクション)として呼び出すことができ、閲覧しただけではその事実はわかりません。詳しくはHelp:テンプレート#ページの合成を参照してください。この方法をとると事実上セクションの編集履歴を分離したり、セクションだけをウォッチすることができます。
セクションを含むテンプレートを呼び出している場合、テンプレート内のセクションは生成されるページ内でのその位置に応じて番号付けされます。例えば、テンプレートタグが3番目のセクションにあるとすると、テンプレート内の最初のセクションは「4」と番号付けされます。テンプレート内の最初のセクションより前にあるテキストはテンプレートタグが置かれているセクションの一部とみなされ、またテンプレートタグの後から次の見出しまでにあるテキストはテンプレート内の最後のセクションの一部とみなされます。このようなことは意図的に行うこともできますが通常は避けた方がよいでしょう(下記も参照)。
目次(TOC)
見出しが4つ以上あるページには、基本的にセクション見出しから自動生成される目次が表示され、#tocと記述すると記事中の目次にリンクする(戻る)事が出来ます。ただし次の場合を除きます。
見出しの数が4つ未満であってもウィキテキスト内に__FORCETOC__または__TOC__を書きこむと、目次が表示されます。
- 最初のセクションの前
- __FORCETOC__があると、目次は最初のセクション見出しの前に置かれます。
- 任意の位置
- __TOC__があると、この文字列がある任意の位置に目次が置かれます。
- 通常は目次の直後に最初の見出しがある形が望ましいですが、導入部が長くて目次が下に行きすぎることを防ぐためなど、右端やテーブルのセル中に表示させることもできます。
- なお、__TOC__を複数書きこむと、最初のところに目次が生成されます(メディアウィキの古いバージョンでは複数の目次が生成できましたが、現在はできません)。
- 目次なし
- __NOTOC__を使うことで、通常の目次を無効化することができます。
- 右端
- 次のコードを使うと、目次を画面の右端に浮動テーブルとして置くことができます(テンプレート:Tlもあります)。
{| style="float:right" |__TOC__ |}
Categoryカテゴリページ内の目次
- カテゴリページ内に目次を作りたいときには、
{{CategoryTOC}} と記入します。
目次 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
このカテゴリのTOP | ||||||||||
あ | い | う | え | お | は | ひ | ふ | へ | ほ | |
か | き | く | け | こ | ま | み | む | め | も | |
さ | し | す | せ | そ | や | ゆ | よ | |||
た | ち | つ | て | と | ら | り | る | れ | ろ | |
な | に | ぬ | ね | の | わ | を | ん |
上記のような目次が作られます(その他テンプレート:Tlテンプレート:Tlテンプレート:Tlテンプレート:Tlもあります)。
コンパクトな目次
(アルファベットを並べただけのような)非常に短い見出しがたくさんある場合、目次が非常に長くなります。以下のようにすることでコンパクトな目次で置き換えられます(なおCategory:目次テンプレートにはテンプレート:Tlテンプレート:Tlなどもあります)。
__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レベルの見出しまでしか掲載されません。
$wgMaxTocLevel = 3;
バージョン1.10.0rc1までは条件文にバグがあり、制限された目次が正しく生成されていませんでした。これにはバグの報告 6204で簡単な解決案が提案されました。
テンプレート:Tlを用いることもできます。
セクションへのリンク
リンクの方法
内部リンクのマークアップ[[リンク先]]の中に # を使うことで、セクション見出しにリンクすることができます。
例えば本セクションへのリンクは次のようにします。
[[Help:セクション#セクションへのリンク]]
同一ページ内からは[[#セクション名]]
の形でもリンクできます。別のページからは[[ページ名#セクション名]]
の形でリンクします。
パイプ(|)を使って[[Help:セクション#セクションへのリンク|セクションへのリンクする方法]]
のように、リンクとして表示する語句を指定することもできます。ただしパイプの裏技は動作しません(Help:パイプ付きリンク参照)。
[[#リンク先]]で指定するリンク先は、セクションの名前以外にも、任意に作れます。テンプレートを使ってテンプレート:Tlpとするのが簡単でしょう。
技術
セクションへのリンクの仕組みは、HTML のアンカータグを利用しています。ウィキテキストから生成された HTML コード中の各セクションを表示している部分には name属性・id属性双方ともセクション名を値とするアンカー用のHTML要素 "a"が書き込まれています。メディアウィキはこうしたセクション・アンカーを使ってページの目次を自動作成しますが、人間が手動で任意のセクションへのリンクを作るために使うこともできます。
例えば、本セクションの冒頭で生成されているHTMLコードは次の通りです。
<p><a name="セクションへのリンク" id="セクションへのリンク"></a></p> <h2>セクションへのリンク</h2>
セクションのアンカーはセクションの階層を無視します。したがって、サブセクションやサブサブセクションなどへのリンクは#サブセクション名や#サブサブセクション名のようになります。
特殊な例
セクション名が重複する場合には、アンカー名にアンダースコアと番号が自動的に付け加えられます。例えば「例」というセクションが3つあったら、セクションへのリンクに使うセクション名は上から「例」、「例_2」、「例_3」となります。ですが混乱を招くことに「例_2」や「例_3」のセクションを編集した後、例えば要約欄のリンクをクリックすると「例」のセクションに飛んでしまいます。
セクションの見出しが空白だけの時には目次からのリンクが機能しません。同種の機能についてはHelp:条件文#NS:0を参照してください。
セクション見出しは作らずにアンカーターゲットだけを作成するには、テンプレート:Tlを使うのが便利ですが、技術的にはspan などのHTMLタグを利用できます。例えばテンプレート:Tagとします。ただし、とても古いブラウザでは動作しません。
セクション見出し内に日付形式統一機能(Help:個人設定#日付の形式)を利用すると、セクションへのリンクが複雑になってしまうので注意してください。
セクション見出し内で内部リンクさせない
セクション見出し内に内部リンクがあることは、セクションへのリンクという点からは特に不都合を生じません。ただし見出しが正しく表示されない例が報告されているので、使用は避けてください。
- #Demo a
- Help:セクション#Demo http:.2F.2Fa
- //wikippe.e-do-match.com/wiki/Help:セクション#Demo_http:.2F.2Fa
ページ内の任意の位置へのリンク作成についてはHelp:リンク#ページへのリンク作成を参照してください。
セクションへのリンクとリダイレクト
リダイレクトページ内のセクションを指定するリンクはリダイレクト先にある同名のセクションへのリンクになります。
あるページ内のセクションへのリダイレクトも現在では使える場合があります[1]。m:Help:Section linking and redirectsが例です(CSSスタイルシートを強制リロードする必要があるかもしれません)。
ページ名の変更の場合と異なり、セクション名を変更してもリンク切れを防ぐなんらかの転送措置は自動的に行われません。また、リンク元ではセクション別のバックリンクの検出はできず、あるセクションにリンクしているページはすべて単にそのページにリンクするページとしてリストされます。回避策として考えられるのは次の通りです。
- セクションに直接リンクする代りに、セクションにリダイレクトするページへリンクする。セクションの名前が変わったときにはリダイレクト先を変更します。この方法はセクションに対する「リンク元」らしきものも提供します(まずページに対してリンクしているリダイレクトを探し、その下にあるリンクを見ます。セクション名が変わってもリダイレクトページの名前から推測できるでしょう)。
- アンカータグを別に置いて、それにリンクする。テンプレート:Tl参照。
- セクション冒頭にコメントアウトの形でセクションにリンクするページのリストを書き込む。
- セクションを別のページもしくはテンプレートに分離し親ページに呼び出す、または親ページからリンクする。この場合、セクションにリンクするのではなく別ページにリンクできます。
リダイレクトページはリダイレクトコマンドの後にカテゴリタグを置くことでカテゴリ付けできます。セクションへのリダイレクトと組み合わせれば、カテゴリページからセクションへリンクするという形で、ある程度はセクションをカテゴリ付けできます。しかし、セクションに明示的なカテゴリへのリンクを置かない限り、セクションはカテゴリページにリンクしません。カテゴリページではリダイレクトは"redirect-in-category"というCSSセレクタが割り当てられていますので、例えばイタリック体で明示することができます。これはMediaWiki:Common.cssや利用者個人のスタイルシートで設定できます。en:Categorizing redirectsも参照してください。
セクション編集
セクションは見出しの脇にある「編集」というリンクをクリックすることで、個別に編集できます。個人設定によっては、見出しの右クリックでも同じことができます。これは「セクション編集機能」と呼ばれています。セクション編集機能を使うと、次のようなURLの編集ページに飛びます。
//wikippe.e-do-match.com/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とするだけです(例://wikippe.e-do-match.com/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:ページサイズ参照)。このような時にも次のことはできます。
- 今あるセクションよりも大きなセクション番号を指定することによりセクションを追加する(大きすぎることは問題にはなりません)。ただし、新しいセクション見出しの前に空白行が加わります。
- 同じ方法でセクション見出しを付けないことで、最後のセクションに内容を追加する。ただし、ブラウザや接続環境の制限がある場合、この部分をあとから編集したり差し戻すことはできなくなります。
大きなセクションのウィキテキストの閲覧は可能な場合、すこしずつ小さいセクションに分割したテキストを追加し、最後にもとの大きなセクションを削除してもよいでしょう。この場合、作業中はテキストの重複が起きますから要約欄に作業についての説明を書いておく方がよいでしょう。
条件文中のセクション
条件文を使ってセクションの見出しを生成すると、直接的であれセクションを含むテンプレートのトランスクルージョンによってであれ、このセクションおよび後続のセクションの「編集」リンクのリンク先が誤ったものになることがあります(ページの見た目や目次の階層、目次からのリンクは正常です)。これはセクション編集リンクを生成するためのセクションのカウントが条件文の展開の後に行われるのに対して、編集ページを読み込む時にはそこに表示されているセクションだけがカウントされるためです。
これはバグではなく、セクション編集機能の仕様ですので解決法は明白で、条件文を使ったセクション生成をしないかセクション編集機能を止めるしかありません。
セクション、ページの分割、トランスクルージョンの比較
ページの分割の利点
- リンク元が使える
- 編集履歴が分離できる
- 改名の際に自動的にリダイレクトが作られる
- 短いページを読み込む(ロードする)ほうが長いページを読み込むより早く済む
- それぞれにカテゴリに入れられる
セクションをたくさんもつ大きなページの利点
- 長くても1ページを読み込むほうが短いページをいくつも読み込むより速くて簡単である
- ブラウザやコンピュータの検索機能を利用してページ内を検索する方がプロジェクト全体から複数のページを検索するよりも速く、検索結果の表示や負荷の点からも優れている(生成ページもウィキテキストも検索可能)。さらに目次が便利な案内役になる
- 複数の定義を含む概念の記事の場合、全体を見通した記事執筆が容易になる
もう1つの方法としてテンプレート機能を利用して、複数のページをまとめて1つのページにする(トランスクルージョンを使って合成ページを作成する)ことができます。こうすれば生成された合成ページ内での検索は容易になりますが、ウィキテキストを一度に検索することはできません。欠点として、それぞれのページにページ名が必要です。また2,048,000バイトの読み込みページサイズ制限が適用されます。
デモ用セクション
サブセクション名
このサブセクションは、#リンクの方法からリンクされています。
サブサブセクション名
このサブサブセクションは、#リンクの方法からリンクされています。
Demo a
このセクションは#セクション見出し内で内部リンクさせないからリンクされています。
Demo http://a
このセクションは#セクション見出し内で内部リンクさせないからリンクされています。