diff options
Diffstat (limited to 'Master/texmf-doc/doc/polish/tex-virtual-academy-pl/poczatki/spw.html')
-rw-r--r-- | Master/texmf-doc/doc/polish/tex-virtual-academy-pl/poczatki/spw.html | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/polish/tex-virtual-academy-pl/poczatki/spw.html b/Master/texmf-doc/doc/polish/tex-virtual-academy-pl/poczatki/spw.html new file mode 100644 index 00000000000..2f3e4cc1861 --- /dev/null +++ b/Master/texmf-doc/doc/polish/tex-virtual-academy-pl/poczatki/spw.html @@ -0,0 +1,156 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> + <head> + <META http-equiv="content-type" content="text/html; charset=ISO-8859-2"> + <title lang="pl"> Sprawa przekodowywania wejścia </title> + </head> + + <body lang="pl" link="#808080" vlink="#bfbfbf"> + <center> + <table bgcolor="white" cellpadding="20"> </table> + <p><br></p> + <table width="90%" border="0" cellpadding="30" cellspacing=0 bgcolor="white"> + <tr><td><center><font size="+3"> + Ośmiobitowe wprowadzanie<br> + polskich znaków w TeXu<br> + (w implementacjach opartych na web2c) </font> + </center></td></tr> + <tr><td><p> + Istnieje kilka sposobów kodowania polskich znaków w + dokumencie TeXowym. Najbardziej komfortowa jest notacja + ,,naturalna'' ośmiobitowa, tzn. zastosowanie jakiejś + strony kodowej (np. cp852, cp1250, ISO 8859-2 (Latin 2), + itp.). Są dwa zasadnicze sposoby nauczenia TeXa + przetwarzania tak zapisanego tekstu. Jeden polega na + zastosowaniu znaków aktywnych. Drugi wymaga wsparcia ze + strony samej implementacji TeXa polegającego na + przekodowywaniu znaków z wejścia na odpowiednie + pozycje znaków w stosowanych fontach. + Każdy z wymienionych sposobów ma swoje wady i + zalety.</p> + + <p>Przekodowywanie znaków narodowych przez samego TeXa + jest dostępne od dawna w emTeXu i sbTeXu (MS DOG), + natomiast w popularnych dystrybucjach UNIXowych + opartych na web2c pojawiło się dosłownie przed chwilą + (jeśli pamiętać, że chwila w TeXu może trwać pół + roku; w porównaniu z wiekiem TeXa jest to czas + zaniedbywalny). W związku z tym przekodowanie stało się + dostępne również w fpTeXu --- opartej na web2c + dystrybucji TeXa dla Windows 95/98/NT. A ponieważ + MikTeX (też Windows) nie zamierza być w tej kwestii w + tyle, można mieć nadzieję, że wkrótce praktycznie każdy + liczący się TeX będzie mógł przekodowywać.</p> + + <p><font size="-1">Implementacja przekodowywania, pod + tajemniczą nazwą TCX została wprowadzona do dystrybucji + web2c już jakiś czas temu. Wkrótce jednak przeciwnicy + tego rozwiązania (związani z ekipą LaTeXa 2e) wymogli + jego unieczynnienie w źródłach (<code>#ifdef 0</code> z + podejrzanym komentarzem). Praca z ośmiobitowym tekstem + jest dla polskich użytkowników czymś zupełnie + podstawowym. Dlatego też niewielka ekipa polskich + użytkowników (Staszek Wawrykiewicz, Włodek Bzyl i niżej + podpisany) podjęła próbę przeforsowania wprowadzenia na + nowo do web2c procedur przekodowujących. + Przedsięwzięcie to powiodło się (głównie dzięki zapałowi + i energii Staszka).</font></p> + + <p>Warto tu jeszcze zaznaczyć, że wprowadzenie + przekodowywania nie narusza licencji TeXa. Jak wiadomo, + jedyną osobą władną aby wprowadzać zmiany w TeXu jest + Don Knuth. Nie dotyczy to wszakże drobnych szczegółów + związanych ze specyfiką danego systemu operacyjnego + (środowiska obliczeniowego), w którym dana implementacja + TeXa ma działać. W istocie TeX ma mechanizm zamiany + dowolnego (jednobajtowego) kodu używanego w dokumentach + na reprezentację opartą na ASCII i używaną w pliku .dvi + (reprezentacja ta odzwierciedla układ znaków w fontach). + Mechanizm przekodowywania został przewidziany z myślą o + komputerach pracujących w EBCDICu (który jest istotnie + odmienny od ASCII). Wierzymy, że środowisko + obliczeniowe posługujące się kodem (na przykład) ISO + 8859-2 też jest środowiskiem ,,nie-ASCII'' i że w + związku z tym pracująca w nim implementacja TeXa może + mieć w odpowiednie tablice w programie włożone + odwzorowanie ISO 8859-2 w układ fontów. W związku z + mnogością stosowanych ,,stron kodowych'' zaszycie + odwzorowania w kompilat TeXa jest niepraktyczne. + Dlatego web2c oferuje rewelacyjne uproszczenie: tabelę + opisującą przekodowanie można zadać przy pomocy opcji + polecenia uruchamiającego TeXa.</p> + + </td></tr> + <tr bgcolor="black"><td><font color="white"> + <p><strong>Jak się tego używa?</strong></p> + + <p> W nowej wersji web2c (7.3) i w konsekwencji teTeXa + (1.0) TeX reaguje na dodatkową opcję + <code>--translate-file</code> wskazującą plik z tablicą + konwersji. Opcji tej używa się przy normalnym wywołaniu + TeXa (a nie jak w emTeXu przy generowaniu formatu).<br> + + Pokaźna kolekcja tablic konwersji jest dystrybuowana z + samym web2c (i w konsekwencji powinna być dostępna w + dystrybucjach pochodnych). Są tu w szczególności + tablice przekodowujące do układu fontów PL (tylko + polskie znaki): il2-pl.tcx -- dla ISO 8859-2 (Latin-2), + cp1250-pl.tcx -- Code Page 1250 (Windows), cp852-pl.tcx + -- tzw. IBM Latin 2, maz-pl.tcx -- Mazowia, a jakże, + oraz amiga-pl.tcx -- dla kodu AmigaPL.</p> + + <p>Przykład: pod Linuksem poniższe wywołanie przetwarza + dokument MeXowy z polskimi znakami w notacji + ,,naturalnej'':</p> + + <pre>mex -translate-file=il2-pl mojdokument.tex</pre> + + <p>Istnieje alternatywny sposób informowania TeXa o + sposobie kodowania danego pliku. Web2c ,,od zawsze'' + reagowało na pierwszą linię pliku zaczynającą się w taki + sposób</p> + <pre>%&mex</pre> + <p>załadowaniem odpowiedniego formatu (tutaj MeXa). W + nowej wersji ten mechanizm został rozszerzony. + Następująca linia</p> + <pre>%&mex --translate-file=il2-pl</pre> + <p>oprócz formatu zadaje również kodowanie pliku. Można + również pominąć nazwę formatu:</p> + <pre>%& --translate-file=il2-pl</pre> + <p>Użycie opcji <code>--translate-file</code> w pierwszej + linii pliku sprawia, że dokument zawiera jawną informację + o kodzie, który został w nim użyty. Dzięki temu nie + trzeba zgadywać, w jakim kodzie kolega przysłał nam plik + (zmora emTeXa). Dzięki zaś obecności kompletu plików .tcx + w dystrybucji wystarczy uruchomić na dokumencie TeXa bez + żadnych dodatkowych opcji, aby uzyskać poprawny + wydruk.</p> + + <p>TeX poszukuje pliku opisującego przekodowanie w + bieżącym katalogu oraz w miejscu właściwym dla plików + <tt>.pool</tt> czyli domyślnie + <code>texmf/web2c</code>.</p> + + <p>Opcji -translate-file można używać również w wywołaniu + initexa, ale będzie ona w mocy tylko w czasie jego + pracy. Po co to komu? Można wyobrazić sobie format + oparty na MeXu definiujący makra o nazwach zawierających + polskie znaki. W pliku takiego formatu nazwy makr + byłyby zakodowane w notacji wewnętrznej. A zatem format + byłby nadal niezależny od notacji wejściowej! Przy + przetwarzaniu dokumentu możnaby nadal wskazać dowolną + stronę kodową dla wejścia i dawałaby ona dostęp do makr + o polskich nazwach. Jak się zdaje web2c jest pierwszą + na świecie implementację TeXa o takich + możliwościach.</p> </font></td></tr> + <tr> + <td> + <table width="100%" cellpadding=0 border=0 cellspacing=0><tr><td> + <a href="mailto:wolinski@mimuw.edu.pl">Marcin Woliński</a> + </td> + </tr></table> + </table> + </center> + </body> +</html> + |