10.12. Rejstřík a slovníček

Rejstřík (index) můžeme tvořit v zásadě dvěma způsoby - buď ručně vypsat všechny jeho položky (což však zpravidla dělat nebudeme) a nebo si jej necháme vygenerovat automaticky pomocí XSL.

Text, který chceme mít v rejstříku označíme elementem indexentry. Položce rejstříku můžeme přiřadit až tři stupně zanoření - primary, secondary a tertiary. Díky tomu lze definovat v rejstříku až tři stupně podhesel. Položky rejstříku se automaticky řadí dle abecedy.

Ovšem pozor!. Slova uzavřená v elementu indexentry budou jako položky rejstříku, ale v samotném textu se neobjeví. Má to svoje opodstatnění, můžeme pak totiž používat v textu jiné tvary stejného slova než v rejstříku a psát např.

ikona
Toto je položka<indexterm><primary>rejstřík</primary></indexterm>
<emphasis>rejstříku</emphasis>.

Pokud chceme vytvořit heslo s podheslem, uvedeme:

ikona
<indexterm>
 <primary sortas="usepackage">\usepackage</primary>
 <secondary>babel</secondary>
</indexterm>
<indexterm>
 <primary sortas="usepackage">\usepackage</primary>
 <secondary>czech</secondary>
</indexterm>
<indexterm>
 <primary sortas="usepackage">\usepackage</primary>
 <secondary>inputenc</secondary>
</indexterm>

Což v tomto případě vytvoří rejstříkové heslo \usepackage, které bude obsahovat tři podhesla: babel, czech a inputenc.

Povšimněte si atributu sortas. Ten je volitelný a určuje podle jakého klíče se bude daná položka řadit. V našem případě by totiž termín \usepackage spadal pod symboly, neboť začíná znakem „\“ což se nám zřejmě nehodí. Atributem sortas určíme aby se termín při řazení bral jako usepackage a spadal v rejstříku pod písmeno „U“ i když v něm bude vysázen jako \usepackage.

Stejná rejstříková, hesla můžete uvést na různá místa dokumentu. V rejstříku pak bude u příslušného hesla seznam všech jeho výskytů, oddělený čárkou. Při pojmenovávání rejstříkového hesla dbejte na zápis velkých a malých písmen - jsou rozlišovány.

Kompletní rejstřík pak na daném místě dokumentu (zpravidla za obsahem) vygenerujeme uvedením:

ikona
<index></index>

Slovníček (glosář) slouží pro strukturovaný výpis pojmů spolu s jejich významem. Jeho tvorba je namáhavější než tvorba rejstříku. Do elementu glossary musíme ručně vypsat pojmy (glossterm) spolu s jejich zkratkou (abbrev) a jejich významy (glossdef). Tyto pojmy můžeme dělit do pojmenovaných sekcí elementem glossdiv. Elementem glossseealso můžeme odkazovat na jinou položku slovníčku. Vše nám názorně ilustruje následující příklad.

ikona
<glossary>
<title>Example Glossary</title>
<glossdiv><title>E</title>

 <glossentry id="xml">
  <glossterm>Extensible Markup Language</glossterm>
  <acronym>XML</acronym>
  <glossdef>
   <para>Some reasonable definition here.</para>
   <glossseealso otherterm="sgml">SGML</glossseealso>
  </glossdef>
</glossentry>

</glossdiv>

<glossdiv><title>S</title>

<glossentry>
 <glossterm>SGML</glossterm>
 <glosssee otherterm="sgml"/>
</glossentry>

<glossentry id="sgml">
 <glossterm>Standard Generalized Markup Language</glossterm>
 <acronym>SGML</acronym>
<glossdef>
  <para>Some reasonable definition here.</para>
  <glossseealso otherterm="xml">XML</glossseealso>
</glossdef>
</glossentry>

</glossdiv>
</glossary>

V textu se pak na slovníkový pojem odkážeme elementem glossterm pomocí jeho id, tak jak je to u odkazů běžné.

ikona
Standard jazyka <emphasis role="bold"><glossterm linkend="sgml">SGML</glossterm>
</emphasis> byl uveřejněn v roce 1980.