%% Tomasz Przechlewski . %% Copyright 1999. Public domain %% The remaining part of this README file is in Polish. %% It describes how to prepare .dvi, .ps and .pdf files %% of the Polish translation of ``The Not So Short Introduction To LaTeX''. %% %% notacja prefiksowa: /a/c/e/l/n/o/s/x/z // /A/C/E/L/N/O/S/X/Z W tym dokumencie znajduje si/e kilka wskaz/owek dla os/ob chc/acych samodzielnie skompilowa/c ,,Wprowadzenie'' (gotowe do wydruku pliki DVI, PS i PDF umieszczono w katalogu nadrz/ednym). Nie za kr/otkie wprowadzenie do LaTeXe (98 stron) versja 1.02 (na podstawie angielskiej wersji 3.2) Autor: Tobias Oetiker 29/09/1998 Polskie t/lumaczenie i uzupe/lnienia: J. Go/ldasz, R. Kubiak i T. Przechlewski 06.03.1999 Kompilacja TeX-em z formatem LaTeX2e wymaga (pr/ocz pakiet/ow standardowych) pakiet/ow: url.sty, fancyhdr.sty, amsmath.sty, amstext.sty, amsgen.sty, amsbsy.sty, amsopn.sty, amssymb.sty, amsfonts.sty, mathrsfs. Aby skompilowa/c dokument uruchom LaTeX-a z plikiem lshort2e.tex, lub -- jezeli wykorzystujesz pakiet inputenc -- lshort2e.ltx (patrz ni/zej opis problemu z przekodowaniem polskich znak/ow). Przygotowanie kompletnego dokumentu /l/acznie ze skorowidzem wymaga obecno/sci programu do sortowania skorowidza (w przypadku wykorzystywania pakietu inputenc dodatkowo potrzebny jest program AWK), za/s dokumentu w formacie PDF -- programu pdftex oraz AWK-a. Je/zeli masz problemy z sortowaniem skorowidza mozesz skorzysta/c z gotowego, znajdujacego sie w pliku lshort2e.ind. Do utworzenia dokumentu w formacie PDF skorowidz znajduje si/e w pliku lshort2e.hdx (zmie/n nazw/e tego pliku na lshort2e.ind). W dystrybucji zawarto gotowe skrypty Uniksowe pozwalaj/ace automatycznie przygotowa/c dokument w formacie a4 i broszury a5, a tak/ze w formacie PDF. Skrypty te mo/zna dosy/c /latwo przerobi/c tak, aby dzi/ala/ly w innych systemach. Szczeg/o/ly w opisie poni/zej oraz w komentarzach skrypt/ow. *** Opis problemu *** Opisany szczeg/o/lowo we ,,Wprowadzeniu'' pakiet |inputenc| realizuje funkcj/e przekodowania jedynie cz/e/sciowo, tj. zamienia uk/lad znak/ow w pliku /xr/od/lowym na uk/lad wewn/etrzny \TeX-a, jednak/ze nie pozwala zapanowa/c nad konwersj/a znak/ow w komunikatach i plikach pomocniczych tworzonych w trakcie kompilacji. Ograniczenie to jest nieistotne gdy piszemy listy, artyku/ly czy opracowania. Komplikuje jednak niepotrzebnie prac/e w przypadku bardziej skomplikowanych zastosowa/n LaTeX-a, jak np. tworzenie skorowidza. W szczeg/olno/sci w niniejszym ,,Wprowadzeniu'' wszystkie przyk/lady (tj. fragmenty kodu pomi/edzy |\begin{example}| a |\end{example}| s/a zapisane tylko raz do pliku. Nast/epnie LaTeX z jednego tekstu tworzy dwie wersje: tekst, tak jak wygl/ada on po z/lo/zeniu oraz tekst tak, jak wygl/ada on w pliku /xr/od/lowym. Jest to rozwi/azanie eleganckie, bo jednorazowe wpisywanie kodu pozwala na unikni/ecie b/l/ed/ow, kt/ore by/lyby nieuchronne gdyby/smy musieli wpisywa/c tekst dwukrotnie: raz pokazuj/ac wynik, a raz zawarto/s/c pliku /xr/od/lowego. Problem w tym, /ze z uwagi na spos/ob dzia/lania \TeX-a technicznie jest to rozwi/azane za pomoc/a pisania do pliku pomocniczego, kt/orego zawarto/s/c jest nast/epnie czytana. I tu pojawia si/e ograniczenie w funkcjonalno/sci pakietu inputenc. Nie da si/e tak przygotowanego pliku /xr/od/lowego poprawnie wydrukowa/c, podobnie jak nie da si/e posortowa/c skorowidza (plik lshort2e.idx) bez uprzedniego jego poprawienia, np. za pomoc/a skryptu Perl-owego lub AWK-owego. Jak sobie z tym poradzi/c? Wi/ekszo/s/c wsp/o/lczesnych implementacji TeX-a pozwala na zmian/e kodowania bez potrzeby u/zywania pakietu |inputenc| (np. em\TeX dla MS DOS i OS//2, sbTeX czy komercyjny Y\&YTeX, oraz nowe implementacje oparte na WEB2C: teTeX i fpTeX). Zamiana kodowania przez program TeX dzia/la tak/ze ,,w drug/a stron/e'', co oznacza, /ze teksty pisane do plik/ow zewn/etrznych s/a kodowane tak jak pliki /xr/od/lowe. Pomijaj/ac inne zalety tego rozwi/azanie powiemy tylko tyle, /ze znika opisany wy/zej problem z tekstem zawartym w /srodowisku |example|. Tak/ze skorowidz mo/zemy sortowa/c bez /zadnych dodatkowych dzia/la/n. W wyniku intensywnych dzia/la/n podj/etych przez cz/lonk/ow GUST-u na forum Internetu uda/lo si/e wprowadzi/c do dystrybucji opartych na WEB2C implementacj/e rozwi/azania udost/epniaj/acego w \TeX-u mo/zliwo/sci przekodowywania znak/ow narodowych, u/zywanych w plikach \TeX-owych, na wewn/etrzne kodowanie \TeX-a, zwi/azane z u/zywanymi fontami. Nie chodzi tu w /zadnym wypadku o zmian/e \TeX-a. D. E. Knuth na etapie projektowania przewidzia/l tego rodzaju problemy. /Xr/od/la \TeX-a zawieraj/a kod umo/zliwiaj/acy zmian/e kodowania, a u/zycie do tego celu tablic zewn/etrznych mie/sci si/e w granicach dopuszczalnych zmian implementacyjnych. Ze wzgl/ed/ow, o kt/orych nie b/edziemy tu pisa/c, rozwi/azanie to od lat by/lo blokowane przez osoby zajmuj/ace si/e rozwojem TeX-a opartego o WEB2C. Aczkolwiek w chwili t/lumaczenia pojawia/ly si/e popularne dystrybucje TeX-a umo/zliwiaj/ace przekodowanie jednak ich popularno/s/c by/la na tyle ograniczona, /ze: 1. Nie pisali/smy o tym w tek/scie ,,Wprowadzenia...''. Zreszt/a nie ma o czym -- je/zeli nasz system TeX umo/zliwia przekodowanie, to po prostu nie musimy do/l/acza/c pakietu |inputenc| i na tym zmiany si/e ko/ncz/a. (Zgodnie z deklaracj/a ze wst/epu nie zajmujemy si/e we ,,Wprowadzeniu'' problemami implementacji ale raczej opisujemy LaTeX-a.) 2. Umo/zliwiamy kompilacj/e ,,Wprowadzenia...'' zar/owno w przypadku instalacji ,,tradycyjnych'', tj. obs/luguj/acych polskie znaki za pomoc/a pakietu |inputenc| jak i tych, w kt/orych nie ma potrzeby z takiego pakietu korzysta/c. *** Drukowanie ,,Wprowadzenia'' w instalacji TeX-a umo/zliwiaj/acej zmian/e kodowania _bez_ potrzeby do/l/aczania pakietu inputenc *** Domy/slnie pliki /xr/od/loweg s/a przygotowane do kompilacji za pomoc/a takiej wersji TeX-a. W szczeg/olno/sci: 1. skrypt lsh2ps kompiluje ,,Wprowadzenie'' po czym z powsta/lego pliku .dvi tworzy plik PostScriptowy gotowy do druku za pomoc/a ghostscript-a lub na drukarce PostScriptowej. 2. skrypt lsh2psa5 kompiluje ,,Wprowadzenie'' po czym z powsta/lego pliku .dvi tworzy plik PostScriptowy. Plik ten nast/epnie jest zamieniany na dwa pliki (a5-p1.ps i a5-p2.ps). W ten spos/ob po wydrukowaniu po obu stronach kartki papieru otrzymujemy broszur/e formatu A5. Ca/le ,,Wprowadzenie'' zmie/sci si/e na 25 kartkach A4. 3. skrypt lsh2pdf kompiluje ,,Wprowadzenie'' za pomoc/a programu pdftex. W rezultacie otrzymujemy elektroniczn/a wersj/e dokumentu w formacie PDF. Wi/ecej szczeg/o/l/ow zajduje si/e w opisie w skrypcie lsh2pdf. 4. skrypt dvi2psa5 zamienia plik lshort2e.dvi na dwa pliki (a5-p1.ps i a5-p2.ps). W ten spos/ob po wydrukowaniu po obu stronach kartki papieru otrzymujemy broszur/e formatu A5. Wszystkie skrypty nie maj/a /zadnych argument/ow -- ich uruchomienie polega po prostu na wpisaniu nazwy. Do prawid/lowego dzia/lania wymagane s/a programy: LaTeX, dvips, plmindex, awk, psbook, pstops. Je/zeli nie masz programu plmindex i nie chcesz go zainstalowa/c to mo/zesz usun/a/c ze skrypt/ow wywo/lanie programu plmindex. W dystrybucji znajduje si/e plik lshort2e.ind, zawieraj/acy gotowy skorowidz. Ponadto plik lshort2e.hdx zawiera posortowany skorowidz gotowy do wykorzystania w przypadku tworzenia dokumentu w formacie PDF za pomoc/a programu pdftex. *** Drukowanie ,,Wprowadzenia'' z wykorzystaniem pakietu inputenc *** W przypadku gdy musimy korzysta/c z pakietu |inputenc| zaczynamy od modyfikacji wszystkich plik/ow /xr/od/lowych za pomoc/a skryptu lsh2lsh. Skrypt ten wykorzystuje program awk. Pliki .tex zostaj/a zmodyfikowane a oryginalne zostan/a skopiowane pod nazw/a .tex.bak (uwaga w systemach w kt/orych takie nazwy s/a niedozwolone -- nale/zy zmodyfikowa/c skrypt lsh2lsh). Ponadto skrypt lsh2lsh podmienia g/l/owny plik /xr/od/lowy lshort2e.tex (dotychczas nazywaj/acy si/e lshort2e.ltx), tak, /ze bez /zadnych dodatkowych czynno/sci mo/zemy rozpocz/ac kompilacj/e. Dalej post/epujemy jak w punktach 1--4 opisanych wy/zej, z tym, /ze wcze/sniej nale/zy r/ecznie zmodyfikowa/c jedn/a linijk/e w skrypcie lsh2ps, lsh2psa5 lub lsh2pdf (miejsce zmiany jest opisane w skryptach).