April 2000. Staszek Wawrykiewicz (StaW@gust.org.pl). TeX Live 5 version. Public domain. Dokumentacja po polsku (iso8859-2) i po angielsku (niżej). The documentation in Polish and in English (below). Polski: 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 ze wsparciem dla jęz. polskiego i ich użycie w środowisku opartym na web2c (TeX Live/teTeX/fpTeX). I. Przygotowanie formatu LaTeX2e do obsługi języka polskiego Istnieją tu dwie metody: * standardowa: należy uruchomić program texconfig, uaktywnić reguły dzielenia wyrazów dla jęz. polskiego (menu Hyphenation uruchamia edycję pliku texmf/tex/generic/config/language.dat; należy usunąć w tym pliku znak `%' przed plhyph.tex i ewent. zablokować takim znakiem niepożądane wzorce dzielenia); wygenerowany zostanie format latex.fmt zawierający wybrane wzorce dzielenia oraz mechanizm Babel przełączania języków; texconfig tworzy ponadto dowiązanie (lub program) latex. Dla dociekliwych: powyższe odpowiada uruchomieniu z linii poleceń: fmtutil -byfmt latex zaś na niższym poziomie -- poleceniu tex --ini --progname=latex latex.ini * niestandardowa, która tworzy ,,czysty'' format LaTeX2e zawierający jedynie wybrane wzorce dzielenia wyrazów, bez zbędnych mechanizmów Babel. Jest to metoda preferowana przez wielu polskich użytkownikow. ;-) Dlaczego PLaTeX a nie Babel? O tym poniżej. Na CD TeX Live 5 jest już gotowy taki format -- platex.fmt oraz program uruchomieniowy platex; procedura opisana w punkcie 1 pozwala również na wygenerowanie takiego formatu za pomocą programu texconfig: menu Formats uruchamia edycję pliku texmf/web2c/fmtutil.cnf, należy tu odblokować wiersz dotyczący formatu platex (usunąć znak #) i po zapisaniu pliku powrócić do menu nadrzędnego, po czym opuścić program (,,w tle'' zostanie wykonany program fmtutil -byfmt platex); texconfig tworzy ponadto dowiązanie (lub program) platex. Uwaga: w podobny sposob można wygenerować format pdfplatex.fmt dla programu pdfTeX -- wersji TeX-a tworzącej od razu pliki PDF. Odpowiada to uruchomieniu polecenia: fmtutil -byfmt pdfplatex Deklaracje formatów znajdują się w pliku texmf/web2/fmtutil.cnf Plik ten można modyfikować zgodnie z zawartymi w nim wskazówkami, po czym uruchomienie programu: fmtutil --all wygeneruje wszystkie potrzebne formaty (fmtutil --help wyświetla dostępne opcje). W wypadku gdy nie mamy (jeszcze) programu texconfig (Windows) procedura generowania formatu platex (lub pdfplatex) da się przedstawić w kilku krokach: 1. należy odszukać plik texmf/web2c/fmtutil.cnf (edytujemy kopię tego pliku znajdującą sią w lokalnym drzewie katalogów TeX-owych użytkownika lub w drzewie przeznaczonym na lokalne konfiguracje!); 2. w pliku fmtutil.cnf należy odblokować wiersz dotyczący formatu platex lub pdfplatex (usunąć znak #); 3. uruchomić polecenie: fmtutil -byfmt platex (lub fmtutil -byfmt pdfplatex) 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: * PLaTeX udostępnia tradycyjne definicje nazw polskich funkcji trygonometrycznych \tg, \ctg, \arc i polskich znaków mniejsze-równe oraz większe-równe. * PLaTeX umie poprawne przenosić wyrazy złożone (tj. takie jak np. biało-czerwony) udostępniając do tego celu polecenie \dywiz. * PLaTeX wstawia prawidłowe odstępy na końcu zdania. * Babel nie wspiera do końca fontów w układzie OT4 (fontów PL), co powoduje, że polskie znaki diakrytyczne w wyrazach wstawianych automatycznie przez LaTeX (dokładnie ,,ę'' w słowie część oraz ,,ą'' w słowie ,,załącznik'') sklejane z dwóch znaków. Jest to drobny, ale ciągle nie usunięty błąd. (Można go poprawić samodzielnie dokonując niewielkiej modyfikacji pliku polish.sty z dystrybucji pakietu Babel.) Obwiedniowe fonty OT4 są niezastąpione przy tworzeniu plików w formacie PDF. 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. Jeśli korzystamy z fontów EC nasza preambuła powinna zawierać dodatkowy wiersz: \usepackage[T1]{fontenc} Więcej informacji na ten temat w pakiecie platex: CTAN/language/polish/ i na CD TeX Live 5 w katalogu texmf/source/latex/platex/ --------------------------------------------------------------------------- III. Polskie fonty PostScriptowe Dystrybucja CD TeX Live zawiera fonty PL w wersji Type 1. (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 katalogu: texmf/fonts/type1/public/pl/ naszej instalacji. Sterownik dvips jest już przygotowany do pracy z fontami PL, wystarczy uruchomić: dvips plik.dvi Deklaracje map fontowych, konkretnie zawartość texmf/dvips/config/pl.map, są już dołączone do pliku texmf/dvips/config/psfonts.map. Aby fonty Type 1 były użyte przez program pdfTeX, należy sprawdzić zawartość pliku texmf/pdftex/config/psfonts.map -- powinien on także zawierać deklaracje map fontowych dla fontów PL. --------------------------------------------------------------------------- --------------------------------------------------------------------------- English: PLaTeX provides tools to typeset documents in Polish using LaTeX2e. Authors: Mariusz Olko & Marcin Woli\'nski. This document describes shortly creation of latex.fmt and usage in web2c based environement. See readme.txt for more informations about the PLaTeX package. I. Preparing LaTeX2e format for Polish There are two methods: 1. `standard': just run texconfig and activate polish hyphenation patterns. This produces latex.fmt with Babel machinery included. 2. `recommended', which makes clean and generic LaTeX2e without Babel mess, containing only patterns for Polish and US English. This is prefered by many users in Poland. ;-) CD TeX Live 5 already contains such format: platex.fmt; it can be also build with texconfig, from Formats menu. More info how to do it: see platex package on CTAN/language/polish/ or /texmf/source/latex/platex/ on this CD. II. Usage: the current implementations based on web2c 7.3 allow (hopefully) proper reencoding of input national characters into internal TeX's, and back again, for all messages, .log, .toc, .idx files written by TeX, etc. External readable TCX translation files are used and they can be specified explicitly in the TeX file or in the command line. If the _first_ line of TeX's file contains a structured comment of the form %&latex --translate-file=il2-pl it suffice to run `tex file.tex' with latex.fmt and il2-pl.tcx translation table (iso8859-2 latin2 to internal PL reencoding). We can use TCX tables instead of LaTeX's \usepackage[latin2]{inputenc} If we use latex.fmt with Polish patterns we can compile our file with the command `latex --translate-file=TCXFILE myfile.tex' or just `latex myfile.tex' where the first line of myfile.tex contains %& --translate-file=TCXFILE Several TCX files are provided; they can be found in the texmf/web2c/ directory: amiga-pl.tcx AmigaPL <--> PL encoding il2-pl.tcx iso8859-2 (latin2) <--> PL encoding cp1250-pl.tcx Windows cp1250 <--> PL encoding cp852-pl.tcx IBM cp852 <--> PL encoding maz-pl.tcx Mazovia <--> PL encoding III. Polish PostScript fonts in Type 1 format CD TeX Live distribution contains Type 1 PL fonts (.PFB files) (they can also be dowloaded from the nearest CTAN node or its mirror: CTAN/fonts/psfonts/polish/plpsfont/ ). pl*.pfb Type 1 fonts can be found in the directory texmf/fonts/type1/public/pl/ of our installation. Dvips and pdfTeX are already prepared for PL fonts in Type 1, just run: dvips myfile.dvi since the contents of texmf/dvips/config/pl.map is included into the standard texmf/dvips/config/psfonts.map. In order to use Type 1 fonts with pdfTeX check the contents of texmf/pdftex/config/psfonts.map should be checked. ------------------------------------------------------------------------