Přejít na:

Rejstřík (osob, pojmů, míst, …) pomáhá orientaci v rozsáhlejších dokumentech. Vysvětlíme si základní principy vytváření rejstříků a předvedeme si, jak rejstříky sázet TeXem.

Přejít: navigace | na začátek stránky | na konec stránky

Výběr slov do rejstříku

Výběr slov do rejstříku je autorská záležitost a odvíjí se od typu rejstříku, který sestavujeme. Např. v případě rejstříku autorů je volba přímočará – rejstřík by měl obsahovat odkazy na všechny autory v publikaci. V případě rejstříku pojmů můžeme odkazovat primárně na místo s definicí pojmů, sekundárně pak na místa v textu, kde se s daným pojmem významně pracuje (přičemž autor textu musí určit, co je u daného pojmu jeho významné použití).

Přejít: navigace | na začátek stránky | na konec stránky

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

Problematika vytváření rejstříku TeXem je rozebrána např. v článku Zdeňka Wagnera ve Zpravodaji CSTUG 4/1992. V textu článku je předvedena tvorba rejstříků pomocí nástrojů makeindex. Ty mají některá nepříjemná omezení a dnes jsou již překonané (pro tvorbu rejstříku je vhodnější využít nástroje texindy). Zvýšenou pozornost věnujte především informacím o správném českém/slovenském řazení slov.

Proces tvorby rejstříku v TeXovém dokumentu je možné rozdělit do dvou fází: označkování pojmů, které se mají stát součástí rejstříku, a samotné vytvoření seřazeného rejstříku při překladu dokumentu.

Přejít: navigace | na začátek stránky | na konec stránky

Značkování v TeXovém zdrojovém textu

Způsob značkování pojmů vkládaných do rejstříku je popsán v komentovaném ukázkovém dokumentu rejstrik.tex (dostupném také na službě Overleaf).

Dokument rejstrik.tex přeložte pdfTeXem pdflatex rejstrik.tex a přečtěte si vysázený text.

Přejít: navigace | na začátek stránky | na konec stránky

Tvorba rejstříku při překladu

Všimněte si, že dokument rejstrik.tex po jednoduchém přeložení TeXem (mimo službu Overleaf) neobsahuje vysázený rejstřík. Ten je totiž třeba vytvořit v dalším kroku externím programem, a pak opakovat překlad TeXového dokumentu (proces překladu je tedy vhodné automatizovat):

  1. pdflatex rejstrik.tex
    • Dokument je vysázený bez rejstříku, ovšem při překladu vznikne soubor rejstrik.idx, který obsahuje informace nutné pro vytvoření rejstříku.
  2. # Pokud pracujete na unixovém serveru FI, přidejte perlový modul: module add perl
    texindy -I latex --language czech        --codepage utf8   rejstrik.idx # Pro dokument v češtině
    texindy -I latex --language slovak-large --codepage utf8   rejstrik.idx # Pro dokument ve slovenštině
    • Informace ze souboru rejstrik.idx zpracuje program texindy (varianta programu xindy přizpůsobená pro použití s TeXem; texindy je standardní součástí instalace TeX Live). Výsledkem překladu je soubor rejstrik.ind s vygenerovaným rejstříkem v LaTeXovém značkování.
    • Pokud používáme TeXový kompilátor, který pracuje nativně s kódováním Unicode (např. XeTeX nebo LuaTeX), můžeme namísto parametrů -I latex --codepage utf8 použít parametr -I xelatex, který texindy přepne do odpovídajícího režimu.
    • Při práci s anglickým textem můžeme namísto programu texindy rovněž využít program makeindex: makeindex rejstrik.idx
    • Pokud vám nevyhovuje žádné zmíněné řešení, můžete rejstřík vytvářet i třídit v TeXu samotném, jak popsáno v článku Petra Březiny ve Zpravodaji CSTUG 1/2007.
  3. pdflatex rejstrik.tex
    • Soubor rejstrik.ind je při překladu načtený do rejstrik.tex a rejstřík se tedy objeví ve výsledném PDF dokumentu.

Tip:

Balíček imakeidx nám umožňuje snadno upravit formátování rejstříku a využívá schopnosti moderních TeXových strojů spouštět externí programy pro automatické spuštění programu texindy. Tato schopnost ale interferuje s nástrojem latexmk pro automatizaci sazby, který využívá služba Overleaf.

Při využití balíčku imakeidx na službě Overleaf uveďte volbu noautomatic a spuštění programu texindy si vyžádejte pomocí konfiguračního souboru latexmkrc, vizte ukázkový dokument na službě Overleaf.

Přejít: navigace | na začátek stránky | na konec stránky

Praktické úkoly k procvičení

Přejít: navigace | na začátek stránky | na konec stránky