PLaTeX i pdfPLaTeX

Pakiet PLaTeX dostarcza narzędzi potrzebnych do składu dokumentów w języku polskim LaTeXem 2e.
Autorzy pakietu: Mariusz Olko i Marcin Woliński.
Więcej informacji na temat samego pakietu -- patrz plik czytaj.txt dystrybucji PLaTeX.

Dokumentacja niniejsza omawia pokrótce tworzenie formatów dla programów texpdftex (wersji TeX-a tworzącej od razu pliki PDF) ze wsparciem dla jęz. polskiego i ich użycie w środowisku opartym na web2c (dystrybucje TeX Live/teTeX/fpTeX) lub MiKTeX.

Poniżej (w tym pliku) pokazano prosty przykład tworzenia pliku z użyciem pakietu platex. Ponadto w najnowszych dystrybucjach dołączono przykładowy plik doc/latex/platex/tstlatex.tex. służący do przetestowania poprawnego działania formatu LaTeX/PLaTeX. Początkującym użytkownikom zaleca się zapoznanie z zawartością tego pliku. Plik ten dostępny jest także na serwerze GUST. Techniczne szczegóły dotyczące użycia pakietu polski.sty (główny element pakietu platex) dostępne są po dwukrotnym uruchomieniu:
platex polski.dtx
platex polski.dtx
i wyświetleniu wynikowego polski.dvi.


I. Przygotowanie formatu LaTeX2e do obsługi języka polskiego

Format w systemie TeX to wstępnie prekompilowany (aby przyspieszyć jego analizę przez program tex/pdftex) zestaw makrodefinicji oraz reguł przenoszenia wyrazów dla wybranego zestawu języków. Plik formatu z reguły posiada rozszerzenie .fmt. Tworzenie formatu to, w skrócie, uruchomienie programu tex z opcją --ini i wczytanie odpowiedniego pliku inicjującego (dla LateX jest to plik latex.ltx). W LaTeX 2e zestaw reguł przenoszenia wyrazów jest zwyczajowo deklarowany w pliku o nazwie language.dat. Plik ten znajduje się zwykle w podkatalogu tex/generic/config/language.dat lokalnej konfiguracji systemu TeX bądź w głównym katalogu instalacji. Modyfikacja language.dat polega na usunięciu w tym pliku znaku `%' przed plhyph.tex i ewentualnym zablokowaniu takim znakiem niepożądanych deklaracji wzorców dzielenia wyrazów. Przygotowanie formatu:

Dlaczego PLaTeX a nie Babel?

(Fragment ten jest cytatem z listu nadesłanego na listę dyskusyjną GUST przez Marcina Wolińskiego).
W porównaniu do pakietu Babel, PLaTeX ma kilka mniej lub bardziej istotnych zalet: Podsumowując: jeżeli nie potrzebujemy środowiska wielojęzycznego to dużo mniejsza objętość pakietu PLaTeX oznacza także mniejszą liczbę błędów i potencjalnych kolizji z innymi częściami LaTeXa.
[achiwum GUST-L, list z 06/06/1997]

II. Użycie

Aktualne implementacje, oparte na webc 7.3, pozwalają wreszcie na prawidłowe przekodowanie znaków diakrytycznych w pliku TeX-owym na wewnętrzną reprezentację. Przekodowanie działa też w drugą stronę, kiedy TeX wyświetla komunikaty i zapisuje pliki .log, .toc, .idx itp. Do tego celu używa się zewnętrznych, tekstowych plików TCX. Co więcej, przekodowanie (plik TCX) może być deklarowane bezpośrednio w pliku TeX-owym. Jeśli pierwszy wiersz pliku zawiera komentarz strukturalny postaci
%&platex --translate-file=il2-pl
to plik może być przetworzony za pomocą polecenia tex plik.tex; zostanie wtedy wczytany format platex.fmt oraz tablica il2-pl.tcx przekodowania z iso8859-2 (latin2) do układu fontów PL (wewnętrznego dla programu TeX). Tym samym zbędna jest deklaracja w preambule pliku LaTeX-owego:
\usepackage[latin2]{inputenc}
Możemy użyć także polecenia:
platex --translate-file=TCXFILE myfile.tex
lub wręcz
platex myfile.tex
gdy plik myfile.tex zawiera w pierwszym wierszu:
%& --translate-file=TCXFILE
W tej dystrybucji dostarczono szereg plikow TCX. Można je znaleźć w katalogu texmf/web2c/:
amiga-pl.tcx AmigaPL do PL
il2-pl.tcx iso8859-2 (latin2) do PL
cp1250-pl.tcx Windows cp1250 do PL
cp852-pl.tcx IBM cp852 do PL
maz-pl.tcx Mazovia do PL

A oto przykład pliku LaTeX-owego:

        %& --translate-file=cp1250pl
        \documentclass[a4paper]{article}
        \usepackage{polski}
        \begin{document}
          Polskie literki piszemy w standardzie Windows cp1250: .....
        \end{document}
Jak widać, nasz plik ma krótką preambułę -- pakiet polski korzysta domyślnie z zainstalowanych fontów PL i układu OT4. Jeśli korzystamy z fontów EC nasza preambuła powinna zawierać dodatkowy wiersz:
\usepackage[T1]{fontenc}

III. Polskie fonty PostScriptowe

Aktualne dystrybucje zawierają fonty serii PL w wersji Type 1 (postscriptowe). Można je także znaleźć w najbliższym węźle CTAN lub jego kopii, np.:
ftp://sunsite.icm.edu.pl/CTAN/fonts/psfonts/polish/plpsfont/.
Pliki .pfb znajdują się w podkatalogu texmf/fonts/type1/public/pl/ naszej instalacji.

Sterownik dvips (zamieniający wynik pracy TeX-a, plik DVI, do formatu PostScript) wymaga aby deklaracje map fontowych (dla fontów PL konkretnie zawartość texmf/dvips/pl/pl.map) były dołączone do pliku texmf/dvips/config/psfonts.map. Mapy fontowe można alternatywnie dołączyć w pliku texmf/dvips/config/config.ps (lub jego lokalnej kopii), dopisując wiersz:
p +pl.map
po deklaracji głównej mapy fontowej: p psfonts.map.

Aby fonty Type 1 były użyte przez program pdfTeX, należy sprawdzić jakie mapy fontowe są deklarowane w pliku texmf/pdftex/config/psfonts.map -- powinien on także zawierać deklaracje map fontowych dla fontów PL.

W dystrybucji TeX Live wszystkie aktualnie dostępne polskie fonty Type1 są gotowe do użycia zarówno przez program dvips, jak i pdftex.

Bardziej szczegółowe omówienie instalacji fontów Type1 zawarte jest w artykule Instalowanie fontów Type1/True Type.


Staszek Wawrykiewicz (StaW@gust.org.pl), 23.01.2001.