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.
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.
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 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.
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ášť.
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
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-cv1 |
PB029-cv2 |
PB029-cv3 |
PB029-cv4 |
PB029-cv5 |
PB029-cv6 |
PB029-cv7 |
CSTUG |
Naposledy modifikováno: