TeX na indeksie

autor: Bogus�aw Licho�ski


Spis tre�ci

Wprowadzenie
Indeks po polsku
J�zyk polski a komputery
Regu�y sortowania po polsku
Sortowanie cyfr
Zr�b skorowidz
Programy i makra u�ytkowe
MakeIndex i PLindex
Jak u�ywa� PLindex
PLindex w biegu
IDXMAC i PLIDXMAC
PLIDXMAC po raz pierwszy
Indeks z pauzami
Co jeszcze potrafi PLIDXMAC
Zako�czenie
Dost�p
Bibliografia
Przypisy

Wprowadzenie

Na pewno ka�dy z nas korzysta� z indeksu. Niekiedy daje on nieocenione us�ugi, szczeg�lnie wtedy, gdy czytamy grube i ciekawe tomisko. Niemal niemo�liwe wydaje si� korzystanie z TeXbiblii, czyli dzie�a Donalda E. Knutha ,,The TeXbook'', bez obszernego skorowidzu.

Indeks nazwa�bym tradycyjnym oszcz�dzaczem czasu. Je�eli dzie�o jest czytane przez wiele os�b, to z pewno�ci� czas potrzebny na stworzenie skorowidzu b�dzie o wiele kr�tszy od ��cznego czasu, jaki musz� straci� czytelnicy na odszukanie interesuj�cego zagadnienia. Nie musz� chyba przekonywa� nikogo, kto cz�sto korzysta z indeks�w o ich niezwyk�ej przydatno�ci. Je�li jednak kto� w�tpi, przytocz� przyk�ad. Posiadana przeze mnie gruba ksi��ka kucharska nie zawiera prawie ilustracji. Znalezienie w niej przepisu na jajecznic� zaj�o mi 22 sekundy. Przy braku indeksu sekundy zast�pi�yby z pewno�ci� minuty -- cho� z punktu widzenia prawdopodobie�stwa istnieje szansa odnalezienia ��danego przepisu przy pierwszym otworzeniu ksi��ki...

Je�li wi�c indeks powinien by� nieodzownym elementem ka�dej naukowej pozycji, to dlaczego tak cz�sto jest on pomijany?

Ot� proces tworzenia indeksu nigdy nie by� i nie b�dzie �atwy. Bardzo trudno wi�c znale�� osob�, kt�ra podejmie si� tej pracy. Winne takiego stanu rzeczy s� tak�e wydawnictwa, kt�re cz�sto nie podejmuj� wysi�k�w, by tworzy� indeksy.

Pierwszym problemem jest wyb�r koncepcji, czyli pomys�u na skorowidz. Indeks powinien znacznie u�atwia� czytelnikowi dost�p do tre�ci dzie�a, i to w spos�b najprostszy. Trudn� spraw� jest wi�c uk�ad logiczny hase� w indeksie oraz ich dob�r. Ju� w tym pierwszym etapie tw�rca skorowidzu musi kilka razy przeczyta� dzie�o i zastanowi� si�, jak wygl�da� ma skorowidz, by by� zgodny z pierwotn� koncepcj�.

Druga cz�� pracy, to ,,wychwycenie'' wszystkich hase� i stron, na kt�rych te has�a wyst�puj�, oraz sortowanie -- praca ta wykonywana bez pomocy komutera jest przys�owiowo benedykty�ska.

O ile pierwszy z etap�w jest zawsze trudny i pracoch�onny, to jednak przy du�ym do�wiadczeniu redaktora mo�e by� sprawnie wykonany; drugi etap mo�e wykona� za cz�owieka maszyna, czyli komputer wraz z oprogramowaniem. Nie mo�na pominin�� faktu, i� do rozwi�zania powy�szego problemu idealnie nadaje si�... TeX.

U�ytkownicy LaTeX-a ju� od dawna mog� tworzy� skorowidze i sortowa� je przy pomocy programu MakeIndex. Przygotowanie indeksu wygl�da nast�puj�co:

Powy�sze cztery kroki opisane s� szczeg�owo w rozdziale -- ,,Zr�b skorowidz''.

Oczywi�cie w tym miejscu nasun�� mo�e si� kilka pyta�, jak cho�by ,,czy mo�na korzysta� z plain-TeX-a?'', czy te� ,,jak radzi� sobie z tekstami polskimi?''. Odpowiedzi na te pytania oraz opis jak radzi� sobie z powy�szymi problemami w praktyce, udzielam w tym artykule.

Indeks po polsku

W rozdziale tym opisuj� zasady, wed�ug kt�rych powinien by� sortowany indeks zawieraj�cy polskie wyrazy.

Okazuje si�, i� brak w Polsce stuprocentowo jasnej i wyczerpuj�cej normy okre�laj�cej spos�b porz�dkowania hase� w skorowidzach. Istnieje -- moim zdaniem nie do ko�ca wyczerpuj�ca temat -- norma PN--80/N--01223 ,,Szeregowanie alfabetyczne'', kt�rej przedmiotem s�:

zasady szeregowania w porz�dku alfabetycznym w katalogach, bibliografiach, opracowaniach dokumentacyjnych i innych wykazach dokument�w oraz indeksach

J�zyk polski a komputery

Pierwszym problemem maria�u j�zyka polskiego i komputera jest kodowanie polskich znak�w diakrytycznych na komputerze PC. Jak powszechnie wiadomo PC zosta� stworzony dla potrzeb j�zyka angielskiego i dopiero w wersji 5.0 systemu operacyjnego DOS uwzgl�dniono j�zyki narodowe.

Gdy komputer PC znalaz� si� na polskich biurkach, zaistnia�a potrzeba wprowadzenia standardu kodowania polskich znak�w diakrytycznych. Wymy�lono wi�c standard Mazovia, kt�ry do dzi� jest u nas powszechnie stosowany1r. Firmy IBM i Hewlett-Packard nie przej�y si� tym faktem i stworzy�y standard Latin22r, zawieraj�cy tak�e wszystkie ,,nasze'' znaki.

Je�li chodzi o polski format MeX, to przewiduje on u�ycie obu standard�w w dokumentach TeX-owych, wi�c program powinien sortowa� polskie wyrazy w obu standardach. Poniewa� do pewnego czasu w Polsce kr�lowa�a nieprogramowalna karta Hercules, wi�c w plikach �r�d�owych .tex u�ywano powszechnie notacji prefiksowej do oznaczania polskich znak�w (np. `�'=`/a'). Programy sortuj�ce indeksy po polsku powinny wi�c przewidywa� i t� mo�liwo�� z epoki przed-MeXowej.

Regu�y sortowania po polsku

Regu�y sortowania po polsku uj�te s� w normie PN--80/N--01223 [1], kt�ra m�wi, i� porz�dek w indeksie powinien by� zgodny z porz�dkiem w alfabecie polskim z dodaniem liter `q', `v', `x'. Alfabet polski z literami q, v, x.



a � b c � d e � f g h i j k l � m n

� o � p q r s � t u v w x y z � �

Obce znaki diakrytyczne nie powinny wp�ywa� na porz�dek. Chocia� w poprzednim zdaniu mo�naby s�owo ,,obce'' zamieni� na ,,wszelkie'', gdy� jak m�wi norma na stronie 2:

dopuszcza si� nieuwzgl�dnienie w szeregowaniu polskich znak�w diakrytycznych
Nie wydaje si� jednak, by taka forma sortowania by�a popularna i nie jest uwa�ana powszechnie za najbardziej wskazan�. O ile mi wiadomo, �aden program systemowy nie dzia�a wed�ug powy�szej normy1

Porz�dek w polskich skorowidzach, to tak zwany porz�dek s�owowy, czyli spacje i znaki interpunkcyjne zostan� umieszczone przed literami alfabetu. Norma niezbyt jasno o tym m�wi. Na stronie 1 czytamy:

W szeregowaniu nale�y bra� pod uwag� alfabetyczn� kolejno�� wyraz�w, a w ich obr�bie -- liter. Wyst�puj�ce mi�dzy wyrazami znaki interpunkcyjne, spacje i ��czniki nale�y traktowa� jako znaki rozdzielaj�ce poszczeg�lne wyrazy

Maj�c na wzgl�dzie powy�szy cytat, przyjrzyjmy si� przyk�adowi:

poprawnie             nie poprawnie
- - - - -             - - - - - - -
katalog informatyczny katalogi
katalog przedmiotowy  katalog informatyczny
katalogi              katalog przedmiotowy

Zauwa�my, �e polski alfabet zawiera kilka znak�w, kt�rych nie znajdziemy w �adnym innym alfabecie narodowym. Ich wyst�pienie w alfabecie jest naturalne, to znaczy wyst�puj� one zawsze po literze, kt�ra w znacznej cz�ci j� tworzy.

l << �          L << �
(znak << oznacza tu relacj� porz�dku w s�owniku polskim)

Porz�dek wielkich i ma�ych liter w j�zyku polskim jest inny ni� w angielskim. Ma�a litera wyst�pi przed wielk� w dwu identyczny s�owach, na przyk�ad:

polski << Polski   (po polsku)
Polish << polish   (po angielsku)

Poruszona w ostatnim akapicie kwestia jest jednak bardzo kontrowersyjna. Pomimo wielu poszukiwa� uj�tej w normie jasnej definicji, nic nie uda�o mi si� znale��. W poradni j�zykowej Uniwersytetu Gda�skiego uzyska�em informacj�, i� precyzyjnej normy nie znajd�, jednak istnieje zasada, �e ma�e litery powinny by� przed wielkimi. Gdy poda�em kilka przyk�ad�w nie stosowania tej zasady z dzie� niez�ych przecie� wydawnictw (jak cho�by ,,Wiedza Powszechna''), otrzyma�em odpowied�, �e tylko bardzo powa�ne wydawnictwa przywi�zuj� wag� do tak istotnej regu�y (sic!).

S�owniki niestety cz�sto nie przestrzegaj� tej zasady. Jedynie bardzo powa�ne publikacje jak na przyk�ad w 4-o tomowej Encyklopedii powszechnej PWN wydanie I rok 1973 na stronie xi wyra�nie wspomina si� i�:

Za podstaw� uk�adu hase� EP PWN przyj�to kolejno�� liter alfabetu polskiego -- od ma�ych liter do du�ych
Podobnie Encyklopedia popularna PWN wydanie VI rok 1984 wydana pod redakcj� Rafa�a ��kowskiego, mimo i� wszystkie has�a napisane s� wersalikami, uwzgl�dnia poprawny spos�b sortowania.

Niestety, niekt�re wydawnictwa zapominaj� o normach i w spos�b dowolny umieszczaj� has�a w s�ownikach, stosuj�c najcz�ciej angielskie normy do porz�dkowania uk�adu hase�. Jeszcze dziwniejsze wydaje si� jednak stosowanie polskich norm do sortowania s��w angielskich, sta�o si� tak na przyk�ad w angielsko-polskim i polsko-angielskim S�owniku minimum Katarzyny Billip i Zofii Choci�owskiej, wydanym przez Wiedz� Powszechn� w 1968 roku, wydanie II. Na stronie 224 mo�na znale�� has�a polish i Polish, napisane w wymienionej w�a�nie kolejno�ci...

Natomiast zupe�nie niezrozumia�e dla mnie jest stosowanie w tym samym s�owniku i na tej samej stronie r�nych zasad porz�dkowania! W ,,S�owniku ortograficznym j�zyka polskiego'' PWN, pod redakcj� Mieczys�awa Szymczaka, z roku 1992, wydanie 15, na stronie 612 znajduj� si� has�a:

polonez
Polonez
 ...
Polka
polka

Po bli�szym przyjrzeniu si� temu zjawisku mo�na zauwa�y� pewn� w�asno�� chronologiczn�. Ot� starsze wydania -- mniej wi�cej sprzed 1970 roku -- stosuj� zasad� porz�dkowania dwu identycznych hase�, rozpoczynaj�cych si� od litery ma�ej lub wielkiej (w kolejno�ci: ma�a, wielka), za� wydania nowsze nie stosuj� �adnych zasad. S�dz�, �e wszystkiemu winne s� komputery i oprogramowanie zapo�yczone od Anglosas�w.

Sortowanie cyfr

Liczebniki g��wne powinny by� uporz�dkowane wed�ug ich dos�ownego znaczenia, niezale�nie od tego, czy liczba jest zapisana s�ownie, czy jako ci�g cyfr. W tym celu u�yjemy nast�puj�cej komendy:

\index{trzyna�cie@13}
W skorowidzu pojawi si� wi�c has�o `trzyna�cie', lecz algorytm sortowania potraktuje ten napis jako liczb� `13'.

Na stronach 3 i 8 norma [1] m�wi, i� liczebniki porz�dkowe powinny by� uporz�dkowane wed�ug ich warto�ci, niezale�nie od dos�ownego systemu zapisu (arabski, rzymski). U�ytkownik zn�w mo�e pos�u�y� si� znaczkiem `@'.

\index{19.I.@I.}
\index{08.vii.@vii.}
\index{27.06.@06.}

W j�zyku polskim po liczebnikach porz�dkowych piszemy kropk�.

Zr�b skorowidz

Zaawansowani u�ytkownicy LaTeX-a na pewno tworzyli ju� skorowidze i proces ich powstawania nie jest dla nich �adn� tajemnic�. Dla wszystkich, kt�rzy nie mieli tej okazji, podaj� kr�tki przepis jak tego dokona�:

Zastosowanie si� do powy�szych trzech punkt�w da oczywi�cie skorowidz pusty, nie wyznaczyli�my bowiem hase�, kt�re pojawi� si� w indeksie. Obok wybranego s�owa wpisa� nale�y komend� [\makeescape!]\index{!argument}, kt�rej argument musi zawiera� s�owo pojawiaj�ce si� potem w skorowidzu. Dla przyk�adu przyjrzyjmy si� ,,wyrwanemu'' z dokumentu fragmentowi:

... pusta linia oznacza dla TeX-a
koniec akapitu\index{akapit}, wi�c ...

Po takim zabiegu w skorowidzu pojawi si� s�owo `akapit' wraz z numerem strony, na kt�rej s�owo `akapitu' wyst�pi.

Oto kr�tki przyk�ad LaTeX-owego dokumentu2, do kt�rego tworzy si� mini-indeks o nazwie przyklad.tex:

\documentstyle[makeidx]{article}
\makeindex
\begin{document}
 Znaki ko�ca linii traktowane s� przez
 TeX-a tak samo jak spacja\index{spacja}.
 Dowolny ci�g spacji jest traktowany
 przez TeX-a tak samo jak jedna
 spacja\index{spacja}. Zatem nie jest
 wa�ne, czy odst�p pomi�dzy s�owami
 jest wprowadzony jako jedna, czy
 wi�cej spacji\index{spacja}.
 Jednak�e pusta linia oznacza dla
 TeX-a koniec akapitu\index{akapit}.
\printindex
\end{document}

Uzna� mo�na w tym miejscu, i� wykonano pierwszy z czterech krok�w opisanych w rozdziale pierwszym.

Drugi krok, czyli kompilacja LaTeX-em, mo�e wyda� si� �atwy. Jest tak w istocie, o ile posiadamy plik stylu makeidx.sty. Plik ten zawiera definicje makr do tworzenia indeks�w i dystrybuowany jest wraz z programem MakeIndex. makeidx.sty umie�ci� nale�y w przeszukiwanym przez TeX-a katalogu3 ...\texinput lub katalogu bie��cym; je�li plik ten istnieje kompilacja powinna ,,przej��'' bez k�opotu.

>tex &lplain przyklad.tex
(znak `>' symbolizuje prompt)

Krok trzeci to sortowanie powsta�ego z powy�szej kompilacji pliku przyklad.idx, kt�ry zawiera linia po linii has�a wraz z numerami stron, na kt�rych wyst�puj� w kolejno�ci wyst�powania ich w dokumencie. Oto posta� pliku przyklad.idx:

\indexentry{spacja}{1}
\indexentry{spacja}{1}
\indexentry{spacja}{1}
\indexentry{akapit}{1}

Has�a w plikach .idx o powy�szej strukturze mo�na sortowa� na przyk�ad programem MakeIndex w nast�puj�cy spos�b:

>makeindex przyklad.idx

Powstanie plik o nazwie przyklad.ind, kt�ry jest gotowym do kompilacji uporz�dkowanym skorowidzem. Wprowadzany jest on do sk�adu przez komend� \printindex. Oto jego posta�:

\begin{theindex}
  \item akapit, 1
  \indexspace
  \item spacja, 1
\end{theindex}

Krok ostatni to kolejna kompilacja LaTeX-em. Opr�cz zapisanego dokumentu pojawi si� nowa strona ze skorowidzem.

Programy i makra u�ytkowe

W pierwszym rozdziale postawi�em sobie dwa nieco k�opotliwe pytania, na kt�re obieca�em odpowiedzie� -- co niniejszym czyni�.

MakeIndex i PLindex

Do�wiadczony u�ytkownik zauwa�y� z pewno�ci�, �e w powy�szym przyk�adzie kompilacja pliku przyklad.tex nie przebiegnie poprawnie! Stanie si� tak, gdy� LaTeX nie ,,zna'' polskich znak�w i w miejscach ich wyst�pienia wyka�e b��d...

No w�a�nie -- co dzieje si� z indeksem, gdy zaczynamy u�ywa� LaMeX-a do sk�adania polskich publikacji? W skorowidzu pojawi� si� mog� oczywi�cie polskie wyrazy zawieraj�ce polskie litery oraz podlegaj�ce polskim normom sortowania. W takiej sytuacji program MakeIndex nie wystarcza.

Poniewa� �r�d�a programu MakeIndex dost�pne s� jako free software, wi�c spr�bowa�em zaimplementowa� MakeIndex dla potrzeb polskiego u�ytkownika. Powsta� program PLindex, kt�ry sortuje wed�ug zasad opisanych w rozdziale drugim -- ,,Indeks po polsku''.

Program PLindex posiada wszystkie mo�liwo�ci programu MakeIndex (ang. upward compatible). Szczeg�owe informacje o mo�liwo�ciach obu program�w znale�� mo�na w pracach [3] oraz [4]. Jedyn� now� opcj� dodan� do programu PLindex jest `-z'.

Jak u�ywa� PLindex

Oto przepis jak u�ywa� PLindex do polskich skorowidz�w: \noindent

>plindex -z [mazovia|latin2|prefixing]
                            ... foo.idx

Po parametrze `-z' wpisa� nale�y jeden z trzech podanych napis�w, okre�laj�cych spos�b kodowania polskich znak�w diakrytycznych. Trzy kropki oznaczaj�, �e istniej� inne parametry (pokrywaj�ce si� znaczeniem z parametrami programu MakeIndex).

Oczywiste wydaje si�, i� nie mo�na sortowa� zbioru wyraz�w, u�ywaj�c zasad dw�ch r�nych j�zyk�w narodowych. Na przyk�ad nie mo�na sortowa� jednocze�nie w j�zyku polskim (opcja `-z') oraz niemieckim (opcja `-g'). Je�eli u�ytkownik poda obie opcje, ostatnia z nich b�dzie brana pod uwag� przez program. Tak�e opcja `-c'4 nie jest uwzgl�dniana w trybie sortowania po polsku.

Domy�lnie (ang. default) czyli bez jakiejkolwiek opcji PLindex dzia�a dok�adnie tak samo jak MakeIndex, to znaczy sortuje zgodnie z angielskimi normami i angielskim alfabetem.

PLindex w biegu

Pozw�lmy teraz popracowa� programowi PLindex. We�my na przyk�ad taki oto plik .idx z polskimi znakami kodowanymi w standardzie Mazovii i nazwijmy go testpl.idx

\indexentry{K�T}{1}
\indexentry{k�T}{1}
\indexentry{k�t}{1}
\indexentry{k�t}{100}
\indexentry{K�t}{1}
\indexentry{k�T}{1}
\indexentry{KAT}{1}
\indexentry{kAT}{1}
\indexentry{kat}{1}
\indexentry{Kat}{1}
\indexentry{kaT}{1}
\indexentry{k�ko}{1}
\indexentry{kolka}{1}

Wpiszmy teraz w linii komend polecenie:

>plindex -z mazovia test.idx

Po kr�tkiej chwili powinni�my uzyska� rezultat w postaci pliku .ind o nazwie testpl.ind w postaci �r�d�owej:

\begin{theindex}
  \item kat, 1
  \item kaT, 1
  \item kAT, 1
  \item Kat, 1
  \item KAT, 1
  \item k�t, 1, 100
  \item k�T, 1
  \item k�T, 1
  \item K�t, 1
  \item K�T, 1
  \item kolka, 1
  \item k�ko, 1
\end{theindex}
Wygl�d w sk�adzie

  kat, 1

  kaT, 1

  kAT, 1

  Kat, 1

  KAT, 1

  k�t, 1, 100

  k�T, 1

  k�T, 1

  K�t, 1

  K�T, 1

  kolka, 1

  k�ko, 1


oraz pliku-ilg5 o nazwie testpl.ilg.

Zach�cam do przetestowania programu przy u�yciu wszelkich sposob�w. Osobi�cie testowa�em program wielokrotnie, mi�dzy innymi pos�u�y�em si� zbiorem test�w, jakie znalaz�y si� w pakiecie programu MakeIndex w wersji 2.12. PLindex spisa� si� bez zarzutu.

IDXMAC i PLIDXMAC

Mo�na powiedzie�, �e dotychczas artyku� przeznaczony by� tylko dla u�ytkownik�w LaTeX-a i nie zdziwi� si�, je�li kogo� zdenerwuje ta jednostronno��.

W pakiecie programu MakeIndex w wersji 2.12 znale�� mo�na plik idxmac.tex, kt�ry zawiera makra do sk�adania skorowidz�w w systemie plain-TeX. Poniewa� makra te po prostu nie dzia�a�y, spr�bowa�em wi�c je poprawi� i nieco zmodyfikowa� dla u�ytkownika formatu MeX.

Po przetestowaniu makr IDXMAC znalaz�em w nich kilka b��d�w oraz niezgodno�ci z systemem LaTeX, kt�re usun��em; zmiany te szczeg�owo opisa�em w [5]. IDXMAC z naniesionymi poprawkami i drobnymi dodatkami do��czam do pakietu {PLindex} pod nazw� PLIDXMAC w nadziei, �e oka�� si� przydatne dla u�ytkownik�w formatu plain.

PLIDXMAC po raz pierwszy

W pakiecie programu PLindex znajduje si� plik plidxmac.tex, kt�ry zawiera wszystkie definicje potrzebne do tworzenia skorowidzu makr.

Plik ten nale�y do��czy� do tworzonego dokumentu TeX-owego komend�:

\input plidxmac.tex
kt�r� nale�y umie�ci� przed wywo�aniem jakiejkolwiek nowej komendy, s�u��cej do tworzenia indeksu. Mo�e to by� na przyk�ad pierwsza linia tego dokumentu.

W tym momencie mamy do dyspozycji trzy6 nowe komendy i mimo i� nie jest ich zbyt wiele, w zupe�no�ci wystarcz� one do wygenerowania skorowidzu. Kolejno�� wywo�ania komend jest istotna; oto ich uk�ad:

 ...
\makeindex
 ...
\index{!argument}
\index{!argument}
 ...
\index{!argument}
 ...
\printindex
 ...

Aby stworzy� najprostszy skorowidz, wystarczy w pliku �r�d�owym (rozszerzenie .tex) umie�ci� komend� \makeindex. Nast�pnie obok wybranych do indeksu s��w nale�y wpisa� komend� [\makeescape!]\index{!argument}, kt�rej dok�adny opis znajdziesz poni�ej. Makro \index s�u�y do etykietowania s��w, kt�re maj� znale�� si� w skorowidzu.

Miejsce publikacji, w kt�rym �yczymy sobie umie�ci� indeks, oznaczy� nale�y komend� \printindex, rzecz jasna skorowidz powinien by� wcze�niej posortowany i z�o�ony [4].

Je�li we�miemy znany ju� plik przyklad.tex w postaci:


\input plidxmac.tex
\makeindex
 Znaki ko�ca linii traktowane s�
 przez TeX-a tak samo jak
 spacja\index{spacja}. Dowolny ci�g
 spacji jest traktowany przez TeX-a
 tak samo jak jedna
 spacja\index{spacja}. Zatem nie jest
 wa�ne, czy odst�p pomi�dzy
 s�owami jest wprowadzony jako jedna,
 czy wi�cej spacji\index{spacja}.
 Jednak�e pusta linia oznacza dla
 TeX-a koniec akapitu\index{akapit}.
\printindex

to plik przyklad.idx nale�y posortowa� wydaj�c polecenie:
>plindex -z Mazovia -s plaintex.ist
                           przyklad.idx

Zagadkowe mo�e tu by� pojawienie si� pliku plaintex.ist. Dok�adnie opisa�em t� systuacj� w dokumentacji do programu PLindex [4], zaznacz� w tym miejscu, i� plik ten, to tak zwany plik stylu i powinien znajdowa� si� w kartotece bie��cej lub kartotece okre�lonej przez zmienn� systemow� INDEXSTYLE (przyk�adowo
SET INDEXSTYLE=c:\tex\ist),
oraz przedstawi� jego zawarto��:

preamble
"\\beginindex\n"
postamble
"\n\n\\endindex\n"

Posortowany plik przyklad.ind jest wspominanym ju� i gotowym do kompilacji uporz�dkowanym skorowidzem, kt�ry wprowadzany jest do sk�adu komend� \printindex. Oto jego posta�:

\beginindex
\item akapit, 1
\indexspace
\item spacja, 1
\endindex

Indeks z pauzami

Poniewa� niekt�re dzie�a posiadaj� indeksy, w kt�rych zamiast wci�� pojawiaj� si� pauzy, dlatego zdefiniowa�em makro \indexemdashes, kt�re wykonuje t� czynno��. Makro to powinno pojawi� si� w pliku �r�d�owym przed makrem \printindex.

Co jeszcze potrafi PLIDXMAC

W rozdziale ,,PLIDXMAC po raz pierwszy'' wspomnia�em o innych mo�liwo�ciach, jakie nios� z sob� makra PLIDXMAC.

Pierwsz� z nich jest wyb�r konwencji zapisu numer�w stron. Domy�lnie przy has�ach pojawiaj� si� cyfry arabskie, mo�na tak�e numerowa� wielkimi i ma�ymi cyframi rzymskimi, a tak�e wielkimi i ma�ymi literami. Aby uzyska� kt�ry� z opisanych efekt�w, wystarczy komend� \makeindex poprzedzi� komend�:
[\makeescape!]\pagenumbering{!argument}, gdzie
[\makeescape!]!argument --> arabic | roman | Roman | alph | Alph


Ka�dy, kto obok skorowidzu chcia�by stworzy� glosarium7, mo�e dokona� tego w identyczny spos�b, jak tworzy si� indeks. Wystarczy u�y� komend \makeglossary oraz \glossary, kt�re odpowiadaj� makrom \makeindex i \index. Powstaje w�wczas plik z rozszerzeniem .glo.

Umieszczenie w dokumencie sekwencji:

\begindoublecolumns
\printindex
\enddoublecolumns
\noindent spowoduje z�o�enie skorowidzu w dwu szpaltach wyr�wnanych do g�ry, za� umie�ciwszy po komendzie \begindoublecolumns; \balancecolumns wyr�wnanych do do�u.

Zako�czenie

Tworzenie skorowidz�w na pewno nie jest i nie b�dzie spraw� �atw�. Niekt�re systemy -- na przyk�ad system WEB -- wspomagaj� ten proces, tworz�c automatycznie cz�� indeksu. Jest to jeden z przyk�ad�w, gdzie komputer wykonuje cz�stk� pracy koncepcyjnej.

Rzeczywist� trudno�ci� jest dob�r kryteri�w tworzenia skorowidzu dla danego typu dzie�a. Mo�na zdecydowa� si� na stworzenie kilku indeks�w w obr�bie jednej publikacji, tworzy� indeksy po ka�dym rozdziale czy tomie. Mo�liwo�ci jest na prawd� wiele. Mo�na �mia�o stwierdzi�, �e stworzenie odpowiedniego skorowidzu ,,dopasowanego'' do publikacji jest swoist� sztuk�.

Wiele os�b w naszym kraju, pos�uguj�cych si� TeX-em jako systemem sk�adu, tworzy mniej lub bardziej obszerne publikacje naukowe, zapominaj�c o skorowidzach lub nie tworz�c ich z braku odpowiednich narz�dzi. Mam nadziej�, �e PLindex i zbi�r makr PLIDXMAC obudz� w nas potrzeb� ich tworzenia przydaj�c si� wielu u�ytkownikom.

Dost�p

Program MakeIndex dost�pny jest np. w zasobach komputer�w CTAN. Program PLindex i makra PLIDXMAC dost�pne s� na serwerze GUST.

Bibliografia

  1. Norma PN--80/N--01223 ,,Szeregowanie alfabetyczne'', Maj 1980.
    Norma zg�oszona przez Ministerstwo Kultury i Sztuki. Ustanowiona przez Polski Komitet Miar i Jako�ci.
  2. Leslie Lamport. LaTeX System przygotowywania dokument�w. Ariel, 1992. T�umaczenie polskie: Piotr Wyrostek.
  3. Leslie Lamport. MakeIndex: An Index Processor For LaTeX.
    Documentation for general MakeIndex users, Luty 1987.
  4. Bogus�aw Licho�ski. PLindex polska implementacja programu MakeIndex.
    Dokumentacja dla u�ytkownik�w i programist�w, Wrzesie� 1993.
  5. Bogus�aw Licho�ski. PLIDXMAC makra do tworzenia skorowidz�w w systemie plain-TeX.
    Dokumentacja dla u�ytkownik�w i programist�w, Pa�dziernik 1993.
  6. Pehong Chen i Michael A. Harrison. Index Preparation and Processing.
    Computer Science Division, Marzec 1987.

Przypisy


1 Mimo i� w dokumentacji systemu DOS znale�� mo�na informacj� o mo�liwo�ci sortowania s��w w j�zykach narodowych -- przy wykorzystaniu programu systemowego sort -- to jednak opisana mo�liwo�� nie zosta�a chyba sumiennie przetestowana przez tw�rc�w systemu, gdy�... program nie dzia�a poprawnie.
2 Tekst jest fragmentem ksi��ki [2].
3 Zwykle jest to katalog okre�lony zmienn� TEXINPUT, na przyk�ad poleceniem:
SET TEXINPUT=c:\tex\texinput
4 U�ycie tej opcji powoduje znikanie po�rednich (zbytecznych) spacji. Domy�lnie wszystkie spacje s� pami�tane.
5 Plik-ilg jest odpowiednikiem pliku-log, produkowanego przez TeX-a, czyli jest zbiorem komunikat�w wysy�anych przez PLindex.
6 W rzeczywisto�ci jest ich wi�cej; patrz rozdzia� ,,Co jeszcze potrafi PLIDXMAC''.
7 glosarium -- od �ac. glossarium zbi�r glos od �ac. glossa (stary, obcy) wyraz wymagaj�cy wyja�nienia; s�owni(cze)k wyraz�w trudnich, rzadkich, przestarza�ych, wymagaj�cych obja�nienia.
od red.

r1 Mazovia by�a kodem czasowo dopuszczonym przez Polsk� Norm�, oficjalnie straci�a ju� swoj� wa�no��. Polska Norma PN-93 T-42118 (zgodna z ISO-8859) okre�la spos�b kodowania polskich znak�w diakrytycznych
r2 Trudno m�wi� o standardzie, skoro na tym samym komputerze obowi�zuj� dwa r�ne sposoby DOS - 852 i Windows - CP 1250, niezgodne z Polsk� Norm�.
Zredagowa�
W�odzimierz Macewicz