文中にマークアップを挿入することで、索引を生成することができます。
そうしたマークアップは、あとで外部ツールによって処理されて、索引を 生成します。そうしたツールの一例に、collateindex.pl スクリプトがあります。索引を生成するための処理は、Section 4.10.3で詳しく述べます。
索引には、入れ子レベル(nesting level)があります。索引のマークアップ には、次のコードを使います。Example 4-2
Example 4-2. 索引生成のためのコード
<indexterm> <primary>Main level</primary> <secondary>Second level</secondary> <tertiary>Third level</tertiary> </indexterm> |
属性 zone を使うことで、文書のチャプターやセクションおよびその他の部分 を参照することができます。
Example 4-3. 属性 zone の使い方
<section id="encoding-index"> <title>Encoding Indexes</title> <indexterm zone="encoding-index"> <primary>edition</primary> <secondary>index</secondary> </indexterm> <para>索引は、文中にマークアップを挿入することで生成されます。</para> |
Example 4-3 のコードは、索引上にこの edition という エントリーを生成するのに使われているものです。実際、属性 zone を使えば、文書内でも、文書外の別ファイル にでもどこにでも索引ページを置くことができます。
ただ、簡単にメンテナンスができるように、索引のエントリーは、索引付けを した文書の最後のページにいつも置かれています。
Example 4-4. 属性 class で、値 startofrange と endofrange を使う方法
<PARA>普段、文章を打ち込んでいると、ときどき <INDEXTERM CLASS="startofrange" ID="example-band-index"> <PRIMARY>examples</PRIMARY> <SECONDARY>index</SECONDARY> </INDEXTERM> 長文をごっそりマークする必要が生じることがあります。</PARA> <PARA>そういう場合でも、いつも通りに書き進めましょう。</PARA> <PARA>そして、索引付けしたい部分の最後に来たら、次のように締めくくります。 <INDEXTERM STARTREF="example-band-index" CLASS="endofrange">. </PARA> |