summaryrefslogtreecommitdiff
path: root/info/tex-virtual-academy-pl/idx/porzadek.html
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/tex-virtual-academy-pl/idx/porzadek.html
Initial commit
Diffstat (limited to 'info/tex-virtual-academy-pl/idx/porzadek.html')
-rw-r--r--info/tex-virtual-academy-pl/idx/porzadek.html878
1 files changed, 878 insertions, 0 deletions
diff --git a/info/tex-virtual-academy-pl/idx/porzadek.html b/info/tex-virtual-academy-pl/idx/porzadek.html
new file mode 100644
index 0000000000..11c4a6d7ea
--- /dev/null
+++ b/info/tex-virtual-academy-pl/idx/porzadek.html
@@ -0,0 +1,878 @@
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<meta http-equiv="Content-language" content="pl">
+<meta name="Author" content="Włodzimierz Macewicz">
+<title> TeX na indeksie</title>
+</head>
+<body bgcolor=#F0F0A0>
+
+<center>
+<h2> TeX na indeksie</h2><p>
+
+<i></i> <p>
+<i></i> <p>
+autor: Bogusław Lichoński</i>
+</center>
+
+<hr>
+
+<p>
+
+<center>
+<h3>Spis treści</h3><p>
+</center>
+
+<a href=#wprowadzenie>Wprowadzenie<br>
+<a href=#polsku>Indeks po polsku</a><br>
+<dd><a href=#komp>Język polski a komputery</a><br>
+<dd><a href=#reguly>Reguły sortowania po polsku</a><br>
+<dd><a href=#sortowanie>Sortowanie cyfr</a><br>
+<a href=#skorowidz>Zrób skorowidz</a><br>
+<a href=#uzyt>Programy i makra użytkowe</a><br>
+<dd><a href=#PLindex><code><b>MakeIndex</b></code> i <code><b>PLindex</b></code></a><br>
+<dd><a href=#uzywac>Jak używać <code><b>PLindex</b></code></a><br>
+<dd><a href=#bieg><code><b>PLindex</b></code> w biegu</a><br>
+<dd><a href=#idxmac><code>IDXMAC</code> i <code>PLIDXMAC</code></a><br>
+<dd><a href=#pierwszy><code>PLIDXMAC</code> po raz pierwszy</a><br>
+<dd><a href=#pauzy>Indeks z pauzami</a><br>
+<dd><a href=#potrafi>Co jeszcze potrafi <code>PLIDXMAC</code></a><br>
+<a href=#zakon>Zakończenie</a><br>
+<a href=#dostep>Dostęp</a><br>
+<a href=#bib>Bibliografia</a><br>
+<a href=#przy>Przypisy</a><br>
+
+<i></i><p>
+
+<h3><a name=wprowadzenie>Wprowadzenie</h3>
+
+<p>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.
+
+<p>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...
+
+<p>Jeśli więc indeks powinien być nieodzownym elementem
+każdej naukowej pozycji,
+to dlaczego tak często jest on pomijany?
+
+<p>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.
+
+<p>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ą.
+
+<p>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.
+
+<p>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.
+
+<p>Użytkownicy LaTeX-a już od dawna mogą tworzyć skorowidze i sortować je
+przy pomocy programu <code><b>MakeIndex</b></code>. Przygotowanie indeksu wygląda następująco:
+
+<ul>
+<li>tworzymy dokument LaTeX-owy, w którym
+ etykietujemy słowa, wybrane do skorowidzu przy pomocy
+ komendy <code>\index</code>
+
+<li>kompilujemy i otrzymujemy nieposortowany plik <code>.idx</code>, zwierający
+ hasła w kolejności występowania w tekście
+
+<li>program <code><b>MakeIndex</b></code> sortuje wejściowy plik <code>.idx</code>, tworząc posortowany plik
+ <code>.ind</code> będący złożonym skorowidzem
+
+<li>kolejna kompilacja daje w efekcie publikację z indeksem
+</ul>
+
+<p>Powyższe cztery kroki opisane są szczegółowo w rozdziale
+-- ,,<a href=#skorowidz>Zrób skorowidz</a>''.
+
+<p>Oczywiście w tym miejscu nasunąć może się kilka pytań, jak choćby ,,czy
+można korzystać z <em>plain</em>-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.
+
+
+<h3><a name=polsku>Indeks po polsku</a></h3>
+
+<p>W rozdziale tym opisuję zasady, według których
+powinien być sortowany indeks zawierający polskie wyrazy.
+
+<p>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ą:
+<blockquote><i>
+zasady szeregowania w porządku alfabetycznym w katalogach,
+bibliografiach, opracowaniach dokumentacyjnych i innych wykazach
+dokumentów oraz indeksach
+</i></blockquote>
+
+<h4><a name=komp>Język polski a komputery</a></h4>
+
+<p>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.
+
+<p>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 stosowany<sup><a href=#red1>1r</a></sup>.
+Firmy IBM i Hewlett-Packard nie przejęły się
+tym faktem i stworzyły standard Latin2<sup><a href=#red2>2r</a></sup>,
+zawierający
+także wszystkie ,,nasze'' znaki.
+
+<p>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
+<code>.tex</code> używano powszechnie notacji prefiksowej do oznaczania polskich
+znaków (np. <samp>`ą'=`/a'</samp>). Programy sortujące indeksy po polsku
+powinny więc przewidywać i tę możliwość
+z epoki przed-MeXowej.
+
+<h4><a name=reguly>Reguły sortowania po polsku</a></h4>
+
+<p>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.
+
+<pre><samp>
+
+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 ź ż
+
+</samp></pre>
+
+
+<p>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:
+<blockquote><i>
+dopuszcza się nieuwzględnienie w szeregowaniu polskich znaków
+diakrytycznych
+</i></blockquote>
+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
+normy<sup><a href="#f1">1</a></sup>
+
+<p>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:
+<blockquote><i>
+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
+</i></blockquote>
+
+<p>Mając na względzie powyższy cytat, przyjrzyjmy się przykładowi:
+
+<pre>
+poprawnie nie poprawnie
+- - - - - - - - - - - -
+katalog informatyczny katalogi
+katalog przedmiotowy katalog informatyczny
+katalogi katalog przedmiotowy
+</pre>
+
+<p>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.
+
+
+<pre>
+l &lt;&lt; ł L &lt;&lt; Ł
+</pre>
+
+(znak <code>&lt;&lt;</code> oznacza tu relację porządku w słowniku polskim)
+
+<p>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:
+
+<pre>
+polski &lt;&lt; Polski (po polsku)
+Polish &lt;&lt; polish (po angielsku)
+</pre>
+
+<p>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!).
+
+<p>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ż:
+<blockquote><i>
+Za podstawę układu haseł EP PWN przyjęto kolejność liter alfabetu
+polskiego -- od małych liter do dużych
+</i></blockquote>
+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.
+
+<p>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
+<code>polish</code> i <code>Polish</code>,
+napisane w wymienionej właśnie kolejności...
+
+<p>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:
+
+<pre>
+polonez
+Polonez
+ ...
+Polka
+polka
+</pre>
+
+<p>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.
+
+
+<h4><a name=sortowanie>Sortowanie cyfr</a></h4>
+<p>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:
+
+<pre>
+\index{trzynaście@13}
+</pre>
+
+
+W skorowidzu pojawi się więc hasło `trzynaście', lecz algorytm sortowania
+potraktuje ten napis jako liczbę `13'.
+
+<p>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 `@'.
+
+<pre>
+\index{19.I.@I.}
+\index{08.vii.@vii.}
+\index{27.06.@06.}
+</pre>
+
+<p>W języku polskim po liczebnikach porządkowych piszemy kropkę.
+
+<h3><a name=skorowidz>Zrób skorowidz</a></h3>
+
+<p>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ć:
+
+
+<ul>
+<li>Dodaj styl <code>makeidx</code> jako parametr komendy <code>\documentstyle</code>
+ (ujęty w nawiasy kwadratowe np. <code>\documentstyle[makeidx]{article}</code>)
+
+<li>Umieść w preambule komendę <code>\makeindex</code> tak, aby
+ znajdował się ona pomiędzy komendami
+ <code>\documenstyle</code> a <code>\begin{document}</code>
+
+<li>Umieść w tekście komendę <code>\printindex</code> w miejscu, w którym chcesz
+ umiejscowić skorowidz (zwykle jest to koniec dokumentu --
+ bezpośrednio przed komendą <code>\end{document}</code>)
+</ul>
+
+<p>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ę
+<code>[\makeescape!]\index{!argument}</code>, której argument musi zawierać słowo pojawiające
+się potem w skorowidzu. Dla przykładu przyjrzyjmy się ,,wyrwanemu''
+z dokumentu fragmentowi:
+
+<pre>
+... pusta linia oznacza dla TeX-a
+koniec akapitu\index{akapit}, więc ...
+</pre>
+
+<p>Po takim zabiegu w skorowidzu pojawi się słowo `akapit' wraz z numerem
+strony, na której słowo `akapitu' wystąpi.
+
+<p>Oto krótki przykład LaTeX-owego
+dokumentu<sup><a href="#f2">2</a></sup>,
+do którego tworzy się mini-indeks o nazwie <code>przyklad.tex</code>:
+
+<pre>
+\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}
+</pre>
+
+<p>Uznać można w tym miejscu, iż wykonano pierwszy z czterech kroków
+opisanych w rozdziale pierwszym.
+
+<p>Drugi krok, czyli kompilacja LaTeX-em, może wydać się łatwy. Jest tak
+w istocie, o ile posiadamy plik stylu <code>makeidx.sty</code>. Plik ten zawiera
+definicje makr do tworzenia indeksów i dystrybuowany jest wraz
+z programem <code><b>MakeIndex</b></code>. <code>makeidx.sty</code> umieścić należy
+w przeszukiwanym przez TeX-a
+katalogu<sup><a href=#f3>3</a></sup>
+<code>...\texinput</code> lub katalogu bieżącym; jeśli plik ten
+istnieje kompilacja
+powinna ,,przejść'' bez kłopotu.
+
+<pre>
+&gt;tex &lplain przyklad.tex
+</pre>
+
+(znak `<code>&gt;</code>' symbolizuje prompt)
+
+<p>Krok trzeci to sortowanie powstałego z powyższej kompilacji pliku
+<code>przyklad.idx</code>, 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 <code>przyklad.idx</code>:
+
+<pre>
+\indexentry{spacja}{1}
+\indexentry{spacja}{1}
+\indexentry{spacja}{1}
+\indexentry{akapit}{1}
+</pre>
+
+<p>Hasła w plikach <code>.idx</code> o powyższej strukturze można sortować na przykład
+programem <code><b>MakeIndex</b></code> w następujący sposób:
+
+<pre>
+&gt;makeindex przyklad.idx
+</pre>
+
+<p>Powstanie plik o nazwie <code>przyklad.ind</code>, który jest
+gotowym do kompilacji uporządkowanym skorowidzem.
+Wprowadzany jest on do składu przez komendę <code>\printindex</code>. Oto jego
+postać:
+
+<pre>
+\begin{theindex}
+ \item akapit, 1
+ \indexspace
+ \item spacja, 1
+\end{theindex}
+</pre>
+
+<p>Krok ostatni to kolejna kompilacja LaTeX-em. Oprócz zapisanego
+dokumentu pojawi się nowa strona ze skorowidzem.
+
+
+<h3><a name=uzyt>Programy i makra użytkowe</a></h3>
+
+<p>W pierwszym rozdziale postawiłem sobie dwa nieco kłopotliwe pytania, na
+które obiecałem odpowiedzieć -- co niniejszym czynię.
+
+<h4><a name=PLindex><code><b>MakeIndex</b></code> i <code><b>PLindex</b></code></a></h4>
+<p>Doświadczony użytkownik zauważył z pewnością, że w powyższym przykładzie
+kompilacja pliku <code>przyklad.tex</code> nie przebiegnie poprawnie! Stanie się
+tak, gdyż LaTeX nie ,,zna'' polskich znaków i w miejscach ich
+wystąpienia wykaże błąd...
+
+<p>No właśnie -- co dzieje się z indeksem, gdy zaczynamy używać
+<code>LaMeX-a</code> 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 <code><b>MakeIndex</b></code> nie wystarcza.
+
+<p>Ponieważ źródła programu <code><b>MakeIndex</b></code> dostępne są jako
+<i> free software</i>, więc
+spróbowałem zaimplementować <code><b>MakeIndex</b></code> dla potrzeb polskiego użytkownika.
+Powstał program <code><b>PLindex</b></code>, który sortuje według zasad opisanych w rozdziale
+drugim -- ,,Indeks po polsku''.
+
+<p>Program <code><b>PLindex</b></code> posiada wszystkie możliwości programu
+<code><b>MakeIndex</b></code>
+(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 <code><b>PLindex</b></code> jest `<code>-z</code>'.
+
+
+<h4><a name=uzywac>Jak używać <code><b>PLindex</b></code></a></h4>
+<p>Oto przepis jak używać <code><b>PLindex</b></code> do polskich skorowidzów:
+
+\noindent
+<pre>
+>plindex -z [mazovia|latin2|prefixing]
+ ... foo.idx
+</pre>
+
+
+<p>Po parametrze `<code>-z</code>' 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 <code><b>MakeIndex</b></code>).
+
+<p>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 `<code>-z</code>') oraz niemieckim (opcja `<code>-g</code>').
+Jeżeli użytkownik poda obie opcje, ostatnia z nich będzie brana pod
+uwagę przez program. Także opcja `<code>-c</code>'<sup><a href=#f4>4</a></sup>
+nie jest uwzględniana w trybie sortowania po polsku.
+
+<p>Domyślnie (ang. default) czyli bez jakiejkolwiek opcji <code><b>PLindex</b></code> działa
+dokładnie tak samo jak <code><b>MakeIndex</b></code>, to znaczy sortuje zgodnie z angielskimi
+normami i angielskim alfabetem.
+
+
+<h4><a name=bieg><code> <b>PLindex</b></code> w biegu</a></h4>
+<p>Pozwólmy teraz popracować programowi <code><b>PLindex</b></code>. Weźmy na przykład taki oto
+plik <code>.idx</code> z polskimi znakami kodowanymi w standardzie Mazovii
+i nazwijmy go <code>testpl.idx</code>
+
+<pre>
+\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}
+</pre>
+
+
+<p>Wpiszmy teraz w linii komend polecenie:
+
+<pre>
+&gt;plindex -z mazovia test.idx
+</pre>
+
+
+<p>Po krótkiej chwili powinniśmy uzyskać rezultat w postaci pliku <code>.ind</code>
+o nazwie <code>testpl.ind</code> w postaci źródłowej:
+
+<pre>
+\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}
+</pre>
+
+Wygląd w składzie
+<pre>
+
+ 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
+
+</pre>
+
+<hr>
+
+oraz pliku-ilg<sup><a href=#f5>5</a></sup>
+o nazwie <code>testpl.ilg</code>.
+
+<p>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
+<code><b>MakeIndex</b></code>
+w wersji 2.12. <code><b>PLindex</b></code> spisał się bez zarzutu.
+
+
+<h4><a name=idxmac><code>IDXMAC</code> i <code>PLIDXMAC</code></a></h4>
+<p>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ść.
+
+<p>W pakiecie programu <code><b>MakeIndex</b></code> w wersji 2.12 znaleźć można plik
+<code>idxmac.tex</code>,
+który zawiera makra do składania skorowidzów w systemie <em>plain</em>-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.
+
+<p>Po przetestowaniu makr </code>IDXMAC</code> 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].
+
+<code>IDXMAC</code> z naniesionymi poprawkami i drobnymi dodatkami
+dołączam do pakietu {<code><b>PLindex</b></code>} pod nazwą <code>PLIDXMAC</code>
+w nadziei,
+że okażą się przydatne dla użytkowników formatu <em>plain</em>.
+
+
+<h4><a name=pierwszy><code>PLIDXMAC</code> po raz pierwszy</a></h4>
+<p>W pakiecie programu <code><b>PLindex</b></code> znajduje się plik <code>plidxmac.tex</code>, który zawiera
+wszystkie definicje potrzebne do tworzenia skorowidzu makr.
+
+<p>Plik ten należy dołączyć do tworzonego dokumentu TeX-owego komendą:
+
+<pre>
+\input plidxmac.tex
+</pre>
+
+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.
+
+<p>W tym momencie mamy do dyspozycji trzy<sup><a href=#f6>6</a></sup>
+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:
+
+ <pre>
+ ...
+\makeindex
+ ...
+\index{!argument}
+\index{!argument}
+ ...
+\index{!argument}
+ ...
+\printindex
+ ...
+</pre>
+
+
+<p>Aby stworzyć najprostszy skorowidz, wystarczy w pliku źródłowym
+(rozszerzenie <code>.tex</code>)
+umieścić komendę <code>\makeindex</code>. Następnie obok wybranych do indeksu słów
+należy wpisać komendę <code>[\makeescape!]\index{!argument}</code>, której dokładny opis znajdziesz
+poniżej. Makro <code>\index</code> służy do etykietowania słów, które mają znaleźć się
+w skorowidzu.
+
+<p>Miejsce publikacji, w którym życzymy sobie umieścić indeks,
+oznaczyć należy
+komendą <code>\printindex</code>, rzecz jasna skorowidz powinien być wcześniej posortowany
+i złożony [4].
+
+<p>Jeśli weźmiemy znany już plik <code>przyklad.tex</code> w postaci:
+
+<pre>
+
+\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
+
+</pre>
+
+to plik <code>przyklad.idx</code> należy posortować wydając polecenie:
+
+<pre>
+&gt;plindex -z Mazovia -s plaintex.ist
+ przyklad.idx
+</pre>
+
+
+<p>Zagadkowe może tu być pojawienie się pliku <code>plaintex.ist</code>. Dokładnie
+opisałem tę systuację w dokumentacji do programu <code><b>PLindex</b></code>
+[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ą <code>INDEXSTYLE</code>
+(przykładowo<br> <code>SET INDEXSTYLE=c:\tex\ist</code>),<br>
+oraz przedstawię jego zawartość:
+
+<pre>
+preamble
+"\\beginindex\n"
+postamble
+"\n\n\\endindex\n"
+</pre>
+
+
+<p>Posortowany plik <code>przyklad.ind</code> jest wspominanym już i gotowym do
+kompilacji uporządkowanym skorowidzem, który wprowadzany jest do składu
+komendą <code>\printindex</code>. Oto jego postać:
+
+<pre>
+\beginindex
+\item akapit, 1
+\indexspace
+\item spacja, 1
+\endindex
+</pre>
+
+<h4><a name=pauzy>Indeks z pauzami</a></h4>
+<p>Ponieważ niektóre dzieła posiadają indeksy, w których zamiast wcięć
+pojawiają się pauzy, dlatego zdefiniowałem makro <code>\indexemdashes</code>, które
+wykonuje tę czynność. Makro to powinno pojawić się w pliku źródłowym
+przed makrem <code>\printindex</code>.
+
+
+
+<h4><a name=potrafi>Co jeszcze potrafi <code>PLIDXMAC</code></a></h4>
+<p>W rozdziale ,,<code>PLIDXMAC</code> po raz pierwszy''
+wspomniałem o innych możliwościach,
+jakie niosą z sobą makra <code>PLIDXMAC</code>.
+
+<p>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ę
+<code>\makeindex</code>
+poprzedzić komendą:<br>
+
+<code>[\makeescape!]\pagenumbering{!argument}</code>, gdzie<br>
+
+<code>[\makeescape!]!argument</code> --&gt; <code>arabic</code> | <code>roman</code> |
+<code>Roman</code> | <code>alph</code> | <code>Alph</code>
+
+<hr>
+
+<p>Każdy, kto obok skorowidzu chciałby stworzyć
+glosarium<sup><a href="#f7">7</a></sup>,
+może dokonać tego w identyczny sposób, jak tworzy się
+indeks. Wystarczy użyć komend <code>\makeglossary</code> oraz <code>\glossary</code>, które
+odpowiadają makrom <code>\makeindex</code> i <code>\index</code>. Powstaje wówczas plik
+z rozszerzeniem <code>.glo</code>.
+
+<p>Umieszczenie w dokumencie sekwencji:
+
+<pre>
+\begindoublecolumns
+\printindex
+\enddoublecolumns
+</pre>
+
+\noindent
+spowoduje złożenie skorowidzu w dwu szpaltach wyrównanych do góry, zaś
+umieściwszy po komendzie <code>\begindoublecolumns</code>; <code>\balancecolumns</code>
+wyrównanych do dołu.
+
+
+<h3><a name=zakon>Zakończenie</a></h3>
+
+<p>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.
+
+<p>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ą.
+
+<p>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 <code><b>PLindex</b></code> i zbiór makr
+<code>PLIDXMAC</code> obudzą
+w nas potrzebę ich tworzenia przydając się wielu użytkownikom.
+
+<h3><a name=dostep>Dostęp</a></h3>
+
+<p>Program <code><b>MakeIndex</b></code> dostępny jest np. w zasobach komputerów
+CTAN. Program <code><b>PLindex</b></code> i makra <code>PLIDXMAC</code> dostępne są
+na serwerze <a href=ftp://ftp.gust.org.pl/pub/TeX/indexing/>GUST</a>.
+
+<h3><a name=bib>Bibliografia</a></h3>
+<ol>
+<!-- norma-szeregowanie-alfabetyczne -->
+<li>Norma PN--80/N--01223 ,,Szeregowanie alfabetyczne'', Maj 1980.<br>
+<em> Norma zgłoszona przez Ministerstwo Kultury i Sztuki. Ustanowiona
+ przez Polski Komitet Miar i Jakości.</em>
+
+<!-- latex-lamport-PL -->
+<li>Leslie Lamport.
+<i> LaTeX System przygotowywania dokumentów. </i>
+Ariel, 1992.
+Tłumaczenie polskie: Piotr Wyrostek.
+
+<!-- makeindex-lamport -->
+<li>Leslie Lamport.
+<code><b>MakeIndex</b></code>: An Index Processor For LaTeX.<br>
+Documentation for general <code><b>MakeIndex</b></code> users, Luty 1987.
+
+<!-- plindex -->
+<li>Bogusław Lichoński.
+<code><b>PLindex</b></code> polska implementacja programu <code><b>MakeIndex</b></code>.<br>
+Dokumentacja dla użytkowników i programistów, Wrzesień 1993.
+
+<!-- plidxmac -->
+<li>Bogusław Lichoński.
+<code>PLIDXMAC</code> makra do tworzenia skorowidzów w systemie
+ plain-TeX.<br>
+Dokumentacja dla użytkowników i programistów, Październik 1993.
+
+<!-- makeindex-chen -->
+<li>Pehong Chen i Michael A. Harrison.
+Index Preparation and Processing.<br>
+Computer Science Division, Marzec 1987.
+</ol>
+
+<h3><a name=przy>Przypisy</a></h3><p>
+<i></i><p>
+
+<hr width=20% align=left>
+<sup><a name="f1"><b>1</b></a></sup> 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 <code>sort</code> -- to jednak opisana możliwość nie została chyba
+sumiennie
+przetestowana przez twórców systemu, gdyż... program nie działa
+poprawnie.
+
+
+<hr width=20% align=left>
+<sup><a name="f2"><b>2</b></a></sup> Tekst jest fragmentem książki [2].
+
+
+<hr width=20% align=left>
+<sup><a name="f3"><b>3</b></a></sup> Zwykle jest to katalog
+określony zmienną <code>TEXINPUT</code>, na przykład poleceniem:<br>
+<code>SET TEXINPUT=c:\tex\texinput</code>
+
+
+<hr width=20% align=left>
+<sup><a name="f4"><b>4</b></a></sup> Użycie tej opcji
+powoduje znikanie pośrednich (zbytecznych) spacji. Domyślnie wszystkie
+spacje są pamiętane.
+
+
+<hr width=20% align=left>
+<sup><a name="f5"><b>5</b></a></sup> Plik-ilg jest odpowiednikiem pliku-log,
+produkowanego przez TeX-a, czyli jest zbiorem komunikatów wysyłanych
+przez <code>PLindex</code>.
+
+
+<hr width=20% align=left>
+<sup><a name="f6"><b>6</b></a></sup> W rzeczywistości
+jest ich więcej; patrz rozdział ,,Co jeszcze potrafi <code>PLIDXMAC</code>''.
+
+
+<hr width=20% align=left>
+<sup><a name="f7"><b>7</b></a></sup> glosarium -- od łac. <i> glossarium</i> zbiór
+glos od łac. <i> glossa</i> (stary, obcy) wyraz wymagający wyjaśnienia;
+słowni(cze)k wyrazów trudnich, rzadkich, przestarzałych, wymagających
+objaśnienia.
+
+
+<hr>
+<i>od red.</i><br>
+<hr width=20% align=left>
+<sup><a name=red1>r1</a></sup> 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
+<hr width=20% align=left>
+<sup><a name=red2>r2</a></sup> Trudno mówić o standardzie, skoro
+na tym samym komputerze obowiązują dwa różne sposoby DOS - 852 i
+Windows - CP 1250, <b> niezgodne </b> z Polską Normą.
+
+<hr>
+Zredagował</br>
+<em>Włodzimierz Macewicz</em>
+<hr>
+</body>
+</html>