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.
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í).
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.
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.
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):
pdflatex rejstrik.tex
# 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ě
makeindex rejstrik.idx
pdflatex rejstrik.tex
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.