Vytváření rejstříků pomocí programů csindex, makeindexxindy

Cílem dnešního cvičení je seznámení se se základními principy vytváření rejstříků a možnostmi nástrojů pro práci s rejstříky (makeindex, csindex, xindy). Dále si rozšíříte svůj zápočtový dokument o rejstřík a Makefile o zpracování rejstříku zápočtového dokumentu.

Programové vybavení pro vytváření rejstříků

Automatizace vytváření rejstříku (nejen pro typografický systém TeX) je možná s využitím programů makeindex, jeho lokalizované verze s podporou specifických kódování a českého třídění csindex (je možné využít také upravený csindex vyvinutý panem Plášilem v rámci PB029 – na FI instalován v rámci modulů texlive*), anebo složitějšího, ale mocného xindy Rogera Kehra.

Postup při vytváření rejstříku

Do preambule dokumentu je třeba přidat

  \usepackage{makeidx} % Balík s pomocnými makry pro sazbu rejstříku. 
  \makeindex % Zajistí, že slova určená k vložení do rejstříku budou vypsána do 
             % souboru s příponou .idx, ze kterého makeindex/csindex/xindy 
             % vytvoří soubor s příponou .ind s hotovým prostředím theindex.

a do těla dokumentů příkazy tvaru

  EPD\index{EPD}                  % Slovo EPD půjde do rejstříku.
  14\index{čtrnáct@14}            % Slovo 14 v rejstříku bude řazené jako "čtrnáct".
  $\delta$\index{delta@$\delta$}  % Znak delta v rejstříku bude řazený jako "delta".
  jabloň\index{stromy!jabloň}     % Slovo "jabloň" bude v rejstříku zařazeno jako 
                                  % pod heslo "stromy".

a dále přidat

 \printindex

na místo, kde má být rejstřík vytvořen.

Princip a postup překladu dokumentu s rejstříkem je podobný jako tvorba dokumentu se seznamem literatury vytvořeným BibTeXem. Při použití upraveného csindexu by překlad mohl vypadat např. takto:

  pdflatex foo.tex && csindex -d -h -k -z il2 foo.idx && pdflatex foo.tex

csindex přijímá obdobné parametry jako makeindex (vizte manuálovou stránku makeindexu).

Styl sazby rejstříku lze přizpůsobit indexovým stylem (soubory s příponou ist), jehož použití je možné makeindexu/csindexu nařídit odpovídajícím parametrem.

Výběr slov do rejstříku

Výběr slov do rejstříku je autorská záležitost. Kandidáty slov do rejstříku lze vybrat například uprostřed seznamu vzniklého pomocí

  cat foo.tex | detex | tr ' ' '\n' | sort | uniq -c | sort -n -r

Detailně je problematika vytváření rejstříku csindexem rozebrána v článku pana Wagnera ve Zpravodaji CSTUG 4/1992.

Dokument s více rejstříky

Pokud je třeba vytvořit v dokumentu více rejstříků (standardní LaTeX má podporu jen pro jeden rejstřík a jeden glosář), je třeba použít balík index, varindex nebo jiný dostupný v katalogu CTAN. Indexační program je pak nutné spustit vícekrát – pro každý rejstřík zvlášť.

xindy

Velmi flexibilní program pro vytváření rejstříku je xindy, který je nyní standardní součástí TeX Live. Pro použití xindy pro přípravu rejstříků pro TeXové dokumenty je k dipozici wrapper texindy.

  pdflatex foo.tex && texindy -I latex --language czech --codepage latin2 foo.idx && pdflatex foo.tex

Průběžná kontrola úkolů

Makefile a svůj zápočtový dokument rozšiřte o práci s rejstříkem. Závěrem cvičení předveďte vyučujícímu svůj aktuální (zápočtový) dokument, konzultujte případné problémy.

PB029/EPD home | PB029-cv1 | PB029-cv2 | PB029-cv3 | PB029-cv4 | PB029-cv5 | PB029-cv6 | PB029-cv7 | CSTUG | Valid XHTML 1.1! Valid CSS!
Naposledy modifikováno: