TeX i ogonki...

czyli jedynie słuszne ogonki w TeX-u


Ze swej strony uważam, że temat ten należy o tyle poszerzyć, by nie zacieśniać swojego widoku na sprawy TeX-owe li tylko do kwesti ogonków --- proponuję przyglądnąć się zjawisku ,,TeX a Sprawa Polska''.



Oprócz ,,wrodzonej'' wiedzy typograficznej i drukarskiej, jaką Ojciec Knuth wpakował w ,,bebchy'' TeX-a, daje on pełną swobodę w dostosowaniu go do lokalnych potrzeb, czy to językowych, czy też typograficznych. Nie jestem odosobniony w twierdzeniu, że TeX najlepiej ze wszystkich dostępnych w naszym kraju programów, przystosowany został do pisania tekstów w języku polskim. Niebagatelne zasługi na tym polu należy przypisać autorom pakietu MeX: Bogusławowi Jackowskiemu i Markowi Ryćko. MeX jest adaptacją formatów PLAIN i LaTeX do składu w języku polskim z uwzględnieniem polskich zwyczajów drukarskich. Przewagą tego pakietu nad innymi, dotychczas stosowanymi, jest niezaprzeczalny fakt wyjątkowo starannego (jak na TeX-a przystało) opracowania problemu od samego początku.

Spolszczenie programu nie polega li tylko na mniej lub bardziej przypadkowym przyklejeniu protezy ogonka w pewnym miejscu litery alfabetu łacińskiego. Typowym przykładem takiego podejścia ,,po polsku'' do TeX-a, jest wspomniana metoda historyczna uzyskiwania polskich znaków, tu i ówdzie nazwywana dość adekwatnie do rezultatów --- TeX-ochida. Wykorzystuje ona TeX-owe mechanizmy budowy znaków akcentowanych: doklejanie znaku akcentu, kropki lub ogonka (cedilla) do odpowiedniej litery. Pomimo swojego ,,ochidego'' wyglądu, tego typu teksty masowo są jeszcze tworzone przez pewne ,,nierefolmowalne'' jednostki, a nawet... akceptowane przez niektóre wydawnictwa!

Stworzony przez tandem Jackowski & Ryćko pakiet MeX zawiera:

Szczegółowy opis pakietu zawiera plik mexinfo.pl (mexinfo.eng) --- będący w standardowej dystrybucji pakietu. Pakiet dostępny jest na większości serwerów zawiarających oprogramowanie TeX-owe, np.: ( ftp.gust.org.pl/TeX/language/polish/).


Przystosowanie TeX-a do pisania ,,po polsku''

1. Instalacja formatów MeX i LaMeX

Do rozpoczęcia pracy z polską wersją formatów PLAIN oraz LaTeX niezbędne jest utworzenie za pomocą wersji inicjalizacyjnej programu TeX (iniTeX) plików mex.fmt i lamex.fmt i umieszczenie ich w odpowiednim katalogu, zależnym od używanego systemu operacyjnego i od implementacji TeX-a. Plik *.fmt jest to plik binarny, zawierający skondensowane do postaci bezpośrednio zrozumiałej dla kompilatora TeX-a, makra oraz reguły przenoszenia wyrazów.

Do utworzenia tych formatów należy:

,,Zdobycie'' *.tfm-ów polega na ściągnięciu z odpowiedniego miejsca pliku (np. ftp.gust.org.pl/TeX/language/polish)

Przed utworzeniem plików MEX.FMT i LAMEX.FMT użytkownik powinien przygotować w miejscu dostępnym dla TeX-a, np. w bieżącym katalogu, zestaw plików źródłowych:

  mex.tex,
  lamex.tex,
  mex1.tex,
  mex2.tex,
  mexconf.tex,
  plhyph.tex

oraz źródłowe wersje oryginalnych formatów angielskojęzycznych przystosowanych do TeX-a 3.x, tj.:

  plain.tex,
  latex.tex,
  lplain.tex,
  lfonts.tex,
  hyphen.tex.

Pliki PLAIN.TEX i LFONTS.TEX zawierają między innymi listę fontów wykorzystywanych przez angielskojęzyczne wersje formatów PLAIN i LaTeX. W typowych wersjach plików PLAIN.TEX i LFONTS.TEX większość fontów ma nazwy rozpoczynających się od ,,cm''. W czasie generacji plików MEX.FMT i LAMEX.FMT przedrostek ,,cm'' zamieniany jest automatyczne na ,,pl'' -- nie mylić z ,,p1'' -- i do plików FMT są wbudowywane informacje o fontach PL. Plików z fontami CM może w tym czasie w ogóle nie być w pamięci.

Sposób generowania plików FMT zależy od systemu operacyjnego i od implementacji TeX-a.

Większość najnowszych implementacji TeX-a, w tym emTeX (Eberhard Mattess production), ma możliwość automatycznej zamiany kodów znaków czytanych z pliku na kody wewnętrzne TeX-a. Pozwala to na wykorzystanie pełni możliwości TeX-a przy jednoczesnym uniezależnieniu się od sposobu kodowania polskich liter w danej instalacji komputera.

W pakiecie MeX znajdują się pliki wsadowe (ang. batch files) służące do generowania plików FMT pod kontrolą systemu operacyjnego MS-DOS przy użyciu emTeX-a (TEX186.EXE). Pliki te wykorzystują tabele konwersji zapisane w postaci źródłowej w plikach MAZ2PL.PCT i LAT2PL.PCT, a w postaci przygotowanej do pracy z INITEX-em w plikach MAZ2PL.TCP i LAT2PL.TCP. Pliki *.TCP powstają z plików *.PCT po wykonaniu komendy MK-TCP.BAT.

Jeśli użytkownik wykorzystuje kodowanie polskich liter w systemie Mazovia, powinien utworzyć pliki *.FMT za pomocą komend GM-MEX.BAT (generowanie MEX.FMT) oraz GM-LAMEX.BAT (generowanie LAMEX.FMT); jeśli wykorzystuje kodowanie w systemie Latin 2 --- za pomocą komend GL-MEX.BAT oraz GL-LAMEX.BAT; w ostatniej wersji dystrybucyjnej pakietu znajduje się również zestaw plików do generowanie formatu wykorzystującego formatowanie w systemie ISO Latin2.

Utworzone w ten sposób pliki FMT należy przenieść do odpowiednich kartotek: np. w standardowej dystrybucji emTeX-a są to katalogi BTEXFMTS/TEXFMTS (w zależności od używanego komplilatora TeX-a) --- w instalacji ,,indywidualnej'' należy te katalogi podać z pełną ścieżką dostępu w zmiennych systemowych BTEXFMT/TEXFMT.

Ten sposób polonizowania TeX-a, pozwala na pisanie tekstu źródłowego z kodowaniem jakie aktualnie jest użytkownikowi wygodniejsze w zastosowaniu --- utworzony format *.fmt rozpoznaje zakodowane w ten sposób polskie znaki narodowe i zamienia je na odpowiednie kody wewnętrzne odpowiadające ich miejscu w pliku fontu.

Dodatkowym sposobem kodowania polskich znaków narodowych, jaki dodali autorzy pakietu MeX --- jest notacja slash-owa (,,ciachowa''). Polski znak reprezentowany jest przez parę znaków: slash-a oraz odpowiedniej litery alfabetu łacińskiego. Ten sposób kodowania niejednokrotnie jest najwłaściwszym sposobem używania polskich liter w plikach przenoszonych pomiędzy kilkoma różnymi systemami i instalacjami.

2. Polonizacja LaTeX2e.

W przypadku ,,współczesnej'' wersji LaTeX-a (wersję 2.09 uważa się obecnie za ,,gatunek ginący'') --- reprezentacja lokalnych sposobów kodowania znaków, np. znaków narodowych, odbywa się na poziomie odpowiednich pakietów makr, i w wersji ,,ustandaryzowanej'' przekazywana jest formatowi latex2e a następnie kompilatorowi --- dokładny opis tych mechanizmów znajduje się w literaturze (np. LaTeX Companion).

Skład w języku polskim dokonywany za pomocą latex2e wspomagany jest przez pakiet Mariusza Olko ,,popolsku''. Zapewnia on (tu --- wyciąg z dokumentacji pakietu):

Szczegóły instalacji i budowy pakietu --- zainteresowani znajdą w pakiecie dystrybucyjnym popolsku.zip (np. ftp.gust.org.pl/TeX/language/polish/ )

UWAGA: Wymieniono tu tylko dwa podstawowe sposoby uzyskiwania polskich znaków diakrytycznych w dokumentach (La)TeX-owych --- pozostałych sposobów uzyskiwania polskich znaków świadomie nie podaję, uznając ww. za ,,jedynie słuszne'' i jedyne (!!!) godne upowszechnienia wśród adeptów TeX-owej sztuki...

3. ,,Indexowanie'' po polsku czyli Skorowidz

Podstawowym problemem przy tworzeniu skorowidzów i innego rodzaju alfabetycznych wykazów, było do tej pory prawidłowe sortowanie uwzględniające zasady pisowni polskiej i dodatkowych reguł (określonych w Polskich Normach) --- na szczęście czasy te mamy już za sobą, przynajmniej w TeX-u.

Do tworzenia skorowidzów publikacji składanych TeX-em, służy program PLINDEX, autorstwa Bogusława Lichońskiego. Dystrybucja wraz z dodatkowym opisem (bardzo dokładnym! po polsku!) znajduje się w ftp.gust.org.pl/TeX/GUST/contrib/plindex/ .


Przygotował:
Jacek Kmiecik, 4.07.1996 r.