JJak tto zzrobić (JTZ) czyli HOWTO po polsku Bartosz Maruszewski B.Maruszewski@jtz.org.pl Michał Malarski malarz@it.pw.edu.pl Piotr Pogorzelski piotr.pogorzelski@ippt.gov.pl v 3.6, 11 Grudnia 2001 Informacje co to takiego JTZ, skąd się to wzięło, czemu to ma służyć, komu to jest potrzebne, a komu nie. Najnowsza wersja tego dokumentu znajduje się na naszym serwerze FTP ftp.jtz.org.pl oraz na Polskiej Stronie Tłumaczeń . Chciałbym zauważyć, że dokument ten dość często się zmienia, więc pilnuj proszę czy masz najnowszą wersję. Szczególnie zwracam uwagę na słowniczek. ______________________________________________________________________ Spis treści 1. Projekt JTZ 1.1 Co to jest JTZ ? 1.2 Ustalenia, które stały się obowiązującym prawem. 1.3 Ludzie, czyli kto to robi 1.4 Pierwsze rezultaty 1.5 Przetłumaczone dokumenty 2. Słownik 3. Trochę danych technicznych dla tłumaczy. 3.1 Krótki minikurs SGML-a. 3.2 sgml-tools 3.3 Teraz trochę o konwersji. 3.4 Polonizacja pakietu 3.5 Co mam zrobić jeśli chcę poprawić dokument. 4. Technikalia - historia 4.1 Jak korzystać z trybu psgml pod Xemacsem? 4.2 konwersja txt i html a sprawa polska 4.3 Konwersja SGML -> LaTeX a sprawa polska 4.3.1 LaTeX i LaTeX2e (epsilon) 4.3.2 Co nam generuje sgml2latex ? 4.3.3 Program sgml2latex i pliki DVI oraz PS 4.3.4 Konwersja właściwa, czyli jak uzyskać DVI lub PS 4.3.5 Uwagi 5. Od autorów ______________________________________________________________________ 11.. PPrroojjeekktt JJTTZZ 11..11.. CCoo ttoo jjeesstt JJTTZZ ?? Wszystko zaczęło się od tego, że kilku osobom chciało się poświęcić troche czasu (bynajmniej nie wolnego) (choć jeden z nich sugerował, że podobno miał mieć jakieś ferie, czy coś w tym stylu, lecz przecież każdy rozsądny człowiek wie, że nie ma czegoś takiego jak ferie, urlop, wolna chwila. To są puste pojęcia wymyślone przez *owców, które mają jedynie namącić ludziom w głowach) i wspomóc World Linux Domination Project Polska (choć część z nich na pewno sobie nie zdawała sprawy z tego co robi) tłumacząc HOWTO na nasz rodzimy język. Dosyć szybko zebrała się mała grupka ludzi, którzy rzuciwszy w kąt inne sprawy zabrali się do dyskusji co przetłumaczyć, jak to przetłumaczyć i co z tymi tłumaczeniami robić. Na szczęście nie byli w tym najlepsi (w tłumaczeniach też nie, jak sami zobaczycie), więc się zajęli innym sprawami (wesela, kino, spacer itp.). Ku ogólnemu zdziwieniu okazało się, że ich wysiłek nie poszedł na marne i zaczęły pojawiać się pierwsze efekty ich działań (o nich za chwilę). Również ich dyskusje, zaowocowały pewnymi ustaleniami, które od tej pory stały się obowiązującym prawem. OOssoobbąą kkoooorrddyynnuujjąąccąą projekt jest BBaarrttoosszz MMaarruusszzeewwsskkii B.Maruszewski@jtz.org.pl 11..22.. UUssttaalleenniiaa,, kkttóórree ssttaałłyy ssiięę oobboowwiiąązzuujjąąccyymm pprraawweemm.. Te ogniste dyskusje, o których wcześniej pisałem (wymiana kilkunastu listów między trzema osobami) doprowadziły do przyjęcia następujących zasad : ˇ Postanowiliśmy, że każdy kto chce dołożyć swoją cegiełkę do tego projektu, zanim cokolwiek zacznie robić, powinien się z nami skontaktować i sprawdzić, czy to co chce robić nie zostało już przez kogoś wzięte. Wyślij list na adres B.Maruszewski@jtz.org.pl i zatytułuj go "HOWTO-info". Otrzymasz wtedy dokładną listę kto co robi i jakie dokumenty są wolne. ˇ Jeśli dokument jest "wolny", zanim się go zacznie tłumaczyć trzeba o tym poinformować osobę koordynującą rozdział dokumentów (B.Maruszewski@jtz.org.pl). ˇ Upewnij się, że posiadasz najnowszą wersję dokumentu (po co się męczyć dwa razy?) i sprawdź czy autor nie ma jakichś zastrzeżeń co do tłumaczenia. ZZaawwsszzee informuj autora, że chcesz przetłumaczyć jego dokument. Możesz zacząć tłumaczyć od razu po wysłaniu listu, nie czekając na odpowiedź, bo szansa, że autor się nie zgodzi jest raczej jak 1:1 000 000 :) ˇ Jeśli jest dostępna wersja oryginału w sgml, to tłumacz raczej ją. ˇ WW ttłłuummaacczzeenniiaacchh wwyykkoorrzzyyssttuujjeemmyy oopprraaccoowwaannyy wwssppóóllnniiee ssłłoowwnniikk, starając się zachować wspólne słownictwo (niestety trzeba zrezygnować z ulubionych zwrotów). Słownik taki otrzymasz wysyłając list na adres B.Maruszewski@jtz.org.pl i tytułując go "HOWTO- slownik". Zapoznaj się z nim przed rozpoczęciem tłumaczenia - uchroni cię to od niepotrzebnych, długotrwałych poprawek. Słownik ten znajduje się także w tym dokumencie. ˇ Każdy nagłówek pliku ma wyglądać tak samo. Skopiuj poniższy i zmień dane: ___________________________________________________________________ Tytuł <author>Autor: Imię Nazwisko <htmlurl url="mailto:autor@adres" name="autor@adres"><newline> v0.75, 1 Sierpnia 1996<newline> <-- wersja i data oryginału <bf>Wersja polska: Imię Nazwisko tłumacza <htmlurl url="mailto:tłumacz@adres" name="tłumacz@adres"></bf><newline> v1.3, 28 Marca 1997 <-- wersja i data tłumaczenia ___________________________________________________________________ Zawsze umieszczaj tę sekcję. Z reguły autorzy także ją umieszczają. Dodaj tylko od siebie dwie poniższe informacje. Jeśli jej nie ma, to załóż ją z tymi informacjami. ______________________________________________________________________ <abstract> Dokument ten został napisany w standardzie ISO-8859-2. Oryginał tego dokumentu znajduje się pod adresem... <it>jeśli autor nie podał, to podaj ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/(mini)</it> </abstract> ______________________________________________________________________ Zwróć szczególną uwagę na wszystkie newline. ˇ Wszystkie teksty piszemy w formacie SGML, z wykorzystaniem definicji dokumentu (DTD) nazwanej linuxdoc. Polskie litery kodujemy w jjeeddyynnyymm aktualnym standardzie (dla nieuświadomionych dodam, że nazywa się on ISO-8859-2). Więcej informacji odnośnie standardu kodowania można znależć na Polskiej Stronie Ogonkowej <http://www.agh.edu.pl/ogonki> ˇ Zajmujemy się tylko tłumaczeniem, choć bardzo byśmy chcieli nie możemy jednocześnie aktualizować tłumaczonych dokumentów. Aktualizować oznacza, że nie możemy weryfikować danych znajdujących się w oryginale. Jeśli oryginał zostanie zaktualizowany, to każdy tłumacz jest zobowiązany do uaktualnienia swojego tłumaczenia. ˇ Każdy dokument musi zawierać rozdział, w którym podane są wszelkie wprowadzone zmiany w stosunku do oryginału. Najlepiej na końcu zatytuowany OOdd ttłłuummaacczzaa. ˇ Tłumaczymy dokumenty HOWTO. Jeśli w przyszłości ich nam zabraknie, być może weźmiemy się za coś innego. ˇ Nazw plików nie tłumaczymy, Installation-HOWTO pozostanie dalej Installation-HOWTO. Dodajemy jedynie rozszerzenie ..ppll..ssggmmll. ˇ Jak już przetłumaczysz, sprawdzisz i stwierdzisz, że można tłumaczenie oddać do użytku, to przedtem sprawdź, czy dokument można przekonwertować na inne formaty. ˇ Po przetłumaczeniu i sprawdzeniu powyższego poinformuj osobę koordynującą, czyli Bartka Maruszewskiego B.Maruszewski@jtz.org.pl, że skończyłeś tłumaczyć dany dokument. TTUU BBYYŁŁYY IINNFFOORRMMAACCJJEE OO NNAAGGRRYYWWAANNIIUU NNOOWWYYCCHH DDOOKKUUMMEENNTTÓÓWW NNAA FFTTPP ˇ Jeśli pracujesz nad obszernym dokumentem i chcesz udostępnić jakiś zrobiony fragment, to też to jest możliwe. TTUU BBYYŁŁYY IINNFFOORRMMAACCJJEE OO NNAAGGRRYYWWAANNIIUU NNOOWWYYCCHH DDOOKKUUMMEENNTTÓÓWW NNAA FFTTPP ˇ Oprócz numeracji oryginału stosujemy także numerację tłumaczenia. Patrz kilka punktów wyżej na temat nagłówka pliku sgml. Numeracja ta jest niezależna od numeracji oryginału i zawsze zaczynamy od wersji 1.0 ˇ Jeśli zmieniasz wersję tłumaczenia, to zastosuj się do poniższych reguł: ˇ Jeśli są to duże poprawki/zmiany, np.: przeróbka kilku sekcji, likwidacja niektórych, dodanie nowych, to zmień wersję główną ((11..00 -->> 22..00)) ˇ Jeśli są to średnie poprawki/zmiany, np.: poprawka większej ilości błędów zmiana kilku adresów, to zmień wersję poboczną ((11..00 -->> 11..11)) ˇ Jeśli są to małe poprawki/zmiany, np.: usunięcie paru literówek, zmiana jednego/dwóch adresów, to zmień drugą cyfrę po przecinku ((11..00 -->> 11..0011)) Będzie to ułatwienie dla użytkowników, którzy będą wiedzieć czy opłaca się ściągać nową wersję czy nie. ˇ Jeśli jest to możliwe, to staraj się w miarę postępowania prac nad danym dokumentem podawać ich procentowe zaawansowanie. Odpowiedni formularz jest na WWW. TTOO OODD DDAAWWNNAA JJEESSTT PPOOBBOOŻŻNNYYMM ŻŻYYCCZZEENNIIEEMM.. ˇ Jeśli w dokumencie znajduje się odwołanie do przetłumaczonego już HOWTO, to zrób odwołanie do tego tłumaczenia a nie oryginału. Tłumaczenia na serwerze WWW znajdują się w katalogach: ˇ Html/ - HOWTO ˇ Html/mini - mini-HOWTO Nazwa pliku to: ˇ Nazwa-HOWTO.pl.html - HOWTO ˇ Nazwa.pl.html - mini-HOWTO ˇ W związku z powyższym punktem bbaarrddzzoo pprroosszzęę wszystkich tłumaczy, aby stosowali się do powyższego szablonu. ˇ Jeśli uaktualniasz swoje tłumaczenie, to bardzo proszę przyślij osobie koordynującej, czyli Bartkowi Maruszewskiego B.Maruszewski@jtz.org.pl wiadomość, że to zrobiłeś, żebym mógł umieścić nowszą wersję na WWW. Przecież nie może myśleć o wszystkim. ˇ Pytacie czasami czy możecie wstawiać własne tagi (<bf> <tt> itd.). Otóż żadnych zasad na ten temat nie wypracowaliśmy. Ja tłumaczę dokument tak jak jest i nie upiększam go, bo nie mam czasu i mi się nie chce. Wg. mnie jeśli chcesz sie pobawić - proszę bardzo. ˇ Zastanawiacie się także, czy można używać "mniej oficjalnych" słów. Otóż wg. mnie takie HOWTO jest pisane przez ludzi i dla ludzi i nie jest to żadne rządowe pismo super oficjalne itp. Już nie raz widziałem taki slang, że po kilkukrotnym przeczytaniu nie wiedziałem o co chodzi... Jednak należy pamiętać o pewnym umiarze... nie przesadzajmy :) ˇ Zdarzają sie czasami takie wyrażenia, które ciężko przetłumaczyć na polski i wychodzą z tego jakieś dziwolągi językowe albo w ogóle nie mają odpowiednika w j. polskim. W takim przypadku przetłumacz to, ale podaj dodatkowo w nawiasie wersję oryginalną wyrażenia. Stosuj to także jeśli tłumaczenie jest dwuznaczne. 11..33.. LLuuddzziiee,, cczzyyllii kkttoo ttoo rroobbii CChhwwiilloowwoo jest nas niewielu. Ci, o których wiemy (być może są tacy, którzy samotnie, w zapomnieniu zrobili już tę całą robotę, lecz my o nich nic nie wiemy) to: ˇ [mg] Maciek Grochal frytek@tichy.ch.uj.edu.pl ˇ [bm] Bartosz Maruszewski B.Maruszewski@jtz.org.pl ˇ [po] Pawko Olszewski alder@amg.com.pl ˇ [pp] Piotr Pogorzelski piotr.pogorzelski@ippt.gov.pl ˇ [pt] Piotr Tęczyński pteczyn@amu.edu.pl ˇ [zb] Ziemek Borowski ziembor@digilab.com.pl ˇ [bb] Benedict P. Barszcz poseidon@mail.ziplink.net ˇ [jc] Jakub Chmielewski yacoob@manager.ae.wroc.pl ˇ [jb] Janusz Batko janus@krakow.linux.org.pl ˇ [ps] Paweł Świerszcz vampire@aule.mdkna102.krakow.pl ˇ [jp] Jacek Pliszka Jacek.Pliszka@fuw.edu.pl ˇ [gsn] Gwidon S. Naskrent naskrent@hoth.amu.edu.pl ˇ [zb] Zbigniew von Borgosz borg@kki.net.pl ˇ [bp] Bartek Papierski bartekp@dom.vr.pl ˇ [pd] Piotr DUDA s0074@pjwstk.waw.pl ˇ [mm] Michał Malarski malarz@it.pw.edu.pl ˇ [gn] Grzegorz Nalepa nalepa@ibm.uci.agh.edu.pl Jeśli chcesz do nas dołączyć zapisz się na naszą listę, lecz pamiętaj, że jest ona przeznaczona, dla osób pprraaccuujjąąccyycchh nad tłumaczeniami, nie służy do przyglądania się, jak postępują prace. Adres listy to _j_t_z_@_i_p_p_t_._g_o_v_._p_l lub _j_t_z_@_j_t_z_._o_r_g_._p_l. Aby się na nią zapisać wyślij na adres majordomo@ippt.gov.pl list zawierający subscribe jtz Imię Nazwisko Paweł Więcek _c_o_v_e_n_@_p_w_r_._w_r_o_c_._p_l opiekuje się pakietem naszych tłumaczeń dostarczanym dla Debiana. Pakiet ten jest dostępny jako _"_u_n_s_t_a_b_l_e _d_o_c_-_l_i_n_u_x_-_p_l_" pod adresem <ftp://ftp.ists.pwr.wroc.pl/coven/debian> lub na dowolnej kopii serwera GNU/Linux Debian <ftp://ftp.debian.org>. Michał Malarski _m_a_l_a_r_z_@_i_t_._p_w_._e_d_u_._p_l stworzył pakiet tłumaczeń przeznaczonych dla RedHata. Pakiet ten dostępny jest pod adresem <ftp://srl.it.pw.edu.pl/pub/JTZ/RedHat>. 11..44.. PPiieerrwwsszzee rreezzuullttaattyy Postanowiliśmy, że przetłumaczone dokumenty będą udostępniane szerszemu gronu dopiero, kiedy będą się do tego nadawały ;-). To znaczy, że przetłumaczony dokument musi wpierw troche poczekać, zostać ponownie sprawdzony przez autora i dopiero potem może pokazać się szerszej publiczności. Chcemy jednak, abyście wiedzieli czego możecie oczekiwać w najbliższym czasie i jaki jest stopień zaawansowania prac. Czekamy również na wasze reakcje i oczekiwania. Wasze głosy mogą wpłynąć na kolejność w jakiej będą tłumaczone te dokumenty. Zajrzyj na Polską Stronę Tłumaczeń <http://www.jtz.org.pl>. Jeśli chcesz wiedzieć nad czym w tej chwili pracujemy, wyślij na adres B.Maruszewski@jtz.org.pl <mailto:B.Maruszewski@jtz.org.pl> list, który w polu SSuubbjjeecctt:: zawiera napis HOWTO-info. Otrzymasz mniej więcej taką odpowiedz: ______________________________________________________________________ From: Bartosz Maruszewski <B.Maruszewski@jtz.org.pl> Subject: Re: HOWTO-info Date: Tue, 25 Feb 1997 16:47:27 +0100 (MET) Lines: 38 ========== KTO ========== ===== CO ROBI ===== ===== CO ZROBIL ===== Ja SMB BootPrompt Kernel m. Locales m. DOS2Linux -------------------------------------------------------------------- Piotr P. META Instalation Serial ISP-HookUp NET2 LargeDisk Ethernet -------------------------------------------------------------------- Piotr T. XFree86, WWW Java-CGI -------------------------------------------------------------------- Pawko O. Sound Modules ========== SPIS ========== Howtos: BootPrompt(*), BootDisk(*), Instalation(*), Kernel(*), Modules(*), Printing(-Usage), SCSI, SMB(*), Serial(*), Sound(*), UMSDOS, ISP-HookUp(*), META(*), NET2(*), Ethernet(*) Mini-Howtos: LILO, LargeDisk(*), Colour-ls, Consoles(-Many), DOS2LINUX(*), Getty-ps, KeySetup, Keystroke, Locales(*), Quota, Swap-Space, Upgrade, X*(*), Diald, (*) - oznacza zrobione, badz w trakcie tlumaczenia m. - mini HOWTO ______________________________________________________________________ 11..55.. PPrrzzeettłłuummaacczzoonnee ddookkuummeennttyy Aktualne informacje znajdziesz na Polskiej Stronie Tłumaczeń <http://www.jtz.org.pl/>. Wszystkie przetłumaczone dokumenty (w różnych formatach) można znaleźć na naszym serwerze FTP <ftp://ftp.jtz.org.pl/> 22.. SSłłoowwnniikk Jeśli znajdziesz jakieś nowe słowo/wyrażenie, które nadaje się do słownika, albo znajdziesz lepsze określene dla któregoś słowa/wyrażenia już będącego w słowniku, to wyślij je do Bartka Maruszewskiego B.Maruszewski@jtz.org.pl. ** v3.4.6 ** acknowledgement - podziękowania (jako tytuł sekcji), wyrazy uznania actual - rzeczywisty, ostateczny, faktyczny, bieżący adapter - sterownik affect - dotyczyć, mieć negatywny wpływ na aggregate works - prace zebrane arrangement - ustawienie aspect ratio - współczynik kształtu/obrazu based - oparty na bit bucket - kosz na bity boot - załadować, wystartować system, boot diskette - dyskietka startowa boot prompt - zachęta startowa broadcasting - rozgłaszanie, nadawanie can access - ma dostęp carry out - wypełnij, wykonać, przeprowadzić chip - układ scalony command - polecenie command output - wynik/rezultat polecenia (to) crash - wywalić się, załamanie, pad/paść credits - wyrazy uznania debug - odpluskwiać derivative works - prace pochodne disable - wyłączyć disclaimer - zastrzeżenie driver - sterownik to edit - (z)modyfikowac entry - pozycja EPROM burner - programator eprom-ów expire - wygasnąć feed - zasilać, zasilanie, dostarczać figure out - stwierdzić filesystem - system plików flexibility - elastyczność for details - więcej na temat szczegółów dotyczących hack - przerobić (odnośnie jądra Linuksa) hardware - sprzęt header/include files - pliki nagłówkowe interface - interfejs introduction - wprowadzenie issue a command - wykonać xxx issue - sprawa dotycząca xxx jumper - zworka, przełącznik kill - usun (o procesie) learn about - nauczyć się, dowiedzieć się o line - wiersz maintain - opiekować się maintained - prowadzony/pielęgnowany/utrzymywany przez major - liczba główna man - podręcznik (man) map - odwzorowywać masquerading - maskowanie memory window - ramka pamięci minor - liczba poboczna mirror - kopia normal - zwykly note - zauważ, uwaga, zapamiętaj obey - podlegać, być posłusznym override -- zmienić, nadpisać pipe -- potok poll - sprawdzać, próbkować, monitorować probe - przeszukiwać, sprawdzać, wykrywać, dokonywać detekcji processed - interpretowane, przetwarzane prompt - zachęta put - umieścić to query - pytać, sprawdzać reboot - przeładowanie reflect - odzwierciedlać release - wersja, wydanie root - administrator root filesystem - główny system plików section - rozdział shadow - przesłaniać share - współdzielić shell - powłoka, interpreter shell prompt - zachęta powłoki, interpretera software - oprogramowanie spool directory - katalog zadań, katalog buforowania stream -- strumień support - obsługiwać symbolic link - dołączenie/dowiązanie/wskazanie symboliczne system call - funkcja systemowa terms of use - warunki stosowania/używania/korzystania third-party books - książki wydawnictw/autorów, nie związanych z firmą produkującą opisywaną rzecz albo książki osób trzecich total - całkowity tune - ustawić, dostroić unlike - w przeciwieństwie do, niepodobny do upgrade - odnawianie, odswieżanie, uaktualnianie usage - stosowanie using this technique - za pomocą tego sposobu, tym sposobem utility, tool - narzędzie work-around - obejści X - nazwa systemu graficznych okienek uniksa to: X X Window System X Version 11 X Window System, Version 11 X11 ***** Żadnej innej _SZCZEGÓLNIE_ *XWindows* nie przyjmuję ***** skróty od zwrotów: - według - wg - wyżej wymienione - ww. ========================================================== Wyrazy których nie tłumaczymy: firewall, bridge, host, proxy, log, stdin, stdout, locale, *roff, timeout, routing, router mieszczą się tutaj także wszelkie polecenia systemowe i nazwy programów X, emacs, *TeX, *script. =========================================================== Jak odmieniać wyrazy nietłumaczone, zaczerpnięte z j. angielskiego oraz wszelkie skróty? Wyrazy zaczerpnięte z ang. to takie jak: Linux, Unix, fax... *************** UWAGA *************** Odmiana słowa Linux: (podaję za słownikiem języka polskiego) ten Linux tego Linuksa temu Linuksowi tego Linuksa z Linuksem o Linuksie O! Linuksie. :) Żadnej innej nie przyjmuję. Jeśli znajdę w jakimś tłumaczeniu: Linuxie, Linux-ie itp, to NIE AKCEPTUJE go. Jeśli wyraz kończy się na spółgłoskę, to piszemy końcówkę polską wg rodzaju jaki dany wyraz przyjmuje w j. polskim (NIE STOSUJEMY myslnikow do oddzielenia polskiej koncowki od skrotu): np: ten firewall -- tego firewalla ten RAM -- tego RAMu W dopełniaczu (kogo? czego?) skrótu kończącego się na spółgłoskę zawsze używamy końcówki 'u': DOSu, BIOSu itd. Jeśli wyraz kończy się na samogłoskę, to dodajemy apostrof i piszemy końcówkę polską wg rodzaju jaki dany wyraz przyjmuje w j. polskim: np: ten bridge - tego bridge'a Jeśli wyraz kończy się na tzw. nieme "e", to lepiej unikać jego odmiany, np: edytor joe -- w edytorze joe, edytora joe. A nie edytorze joe'u czy edytora joe'a ... 33.. TTrroocchhęę ddaannyycchh tteecchhnniicczznnyycchh ddllaa ttłłuummaacczzyy.. Wcześniej już zostało wspomniane, że piszemy w formacie SGML. Format ten bardzo przypomina HTML więc jeśli znasz ten ostatni, to nie powinien on ci nastręczać większych trudności. Do konwersji z formatu SGML na inne formaty służy pakiet ssggmmll--ttoooollss. 33..11.. KKrróóttkkii mmiinniikkuurrss SSGGMMLL--aa.. Wielu z was chce się przyłączyć, ale pisze do mnie, że nie zna SGMLa. No i piszę do każdego litanię wszystkich zasad itp. Żeby tego nie robić postanowiłem zamieścić kilka porad jak z niego korzystać. ˇ Przede wszystkim chciałbym zauważyć, że SGML jest podobny do HTMLa jeśli chodzi o składnię - można właściwie powiedzieć, że jest taka sama. Np.: w HTMLu piszesz <I> a w SGMLu <it>, w HTMLu <B> - w SGMLu <bf> (wielkość liter oczywiście nie ma znaczenia). ˇ W SGMLu, tak samo jak w HTMLu, są pewne znaczki o znaczeniu specjalnym. Są to np.: &, <, >, ~ itp. Żeby je zapisać należy użyć specjalnej notacji. I tak odpowiednio są to: &, <, >, ˜. Zobacz punkt 3.2 w podręczniku w katalogu /usr/doc/sgmltools-xxx. ˇ Najprostszym sposobem na zorientowanie się jak powinien wyglądać plik źródłowy w SGMLu jest zajrzenie, do któregoś z już napisanych dokumentów. Ogólnie metoda jest prosta: - bierzesz nagłówek podany w drugim punkcie tego dokumentu i kopiujesz go do swojego tłumaczenia. - dalej wszystko tak samo jak w innych dokumentach SGML. ˇ Jeszcze jedna ważna uwaga, która przysparza trochę kłopotów. Jeśli chcesz między początkowym tagiem a końcowym użyć znak /<, to parser potraktuje, to jako koniec tagu. Należy wtedy stosować tagi w pełnej postaci, czyli np. <bf>tekst</bf>. Piszę to, bo można też stosować skrótową formę: <bf/tekst/. To naprawdę nie jest trudne. 33..22.. ssggmmll--ttoooollss Więcej informacji o pakiecie ssggmmll--ttoooollss można znaleźć na stronie projektu SGMLTools <http://www.sgmltools.org/> Pakiet sgml-tools wywodzi się od dawnego pakietu linuxdoc-sgml. Zmianę nazwy pakietu argumentuje się tym, że poprzednia nazwa wiązała pakiet z Linuxem, co nie było zgodne z rzeczywistością. Można go było używać również pod kontrolą innych systemów operacyjnych. Aktualnie projekt ten jest chwilowo zawieszony, więc z wszelkimi problemami musimy rodzić sobie sami. Aktualne wersje tego pakietu są dwie: ˇ 11..00..99 - ostatnia wersja pakietu wspierająca DTD lliinnuuxxddoocc. ˇ 22..00..22 - najnowsza wersja pakietu. Od wersji 2.0 nie obsługiwany jest DTD lliinnuuxxddoocc tylko DTD ddooccbbooookk. Ponieważ jesteśmy zainteresowani DTD lliinnuuxxddoocc to używamy wersji 11..00..99. Co prawda nie każę używać ci dokładnie tej wersji, ale nie jestem w stanie ci powiedzieć, czy wersja, którą używasz można łatwo przekonać do obsługi polskich tłumaczeń. 33..33.. TTeerraazz ttrroocchhęę oo kkoonnwweerrssjjii.. Jak już wspomniałem do konwersji z formatu SGML służy pakiet programów ssggmmll--ttoooollss. Programy z tego pakietu, których będziesz używał to najprawdopodobniej: ˇ ssggmmllcchheecckk - sprawdzanie poprawności dokumentu SGML ˇ ssggmmll22hhttmmll - konwersja dokumentu SGML na format HTML ˇ ssggmmll22ttxxtt - konwersja dokumentu SGML na format tekstowy ˇ ssggmmll22llaatteexx - konwersja dokumentu na formaty LaTeX / DVI / PostScript Aby wygenerować poprawne JTZ-ty musisz prawdopodobnie zmodyfikować kilka plików z pakietu _s_g_m_l_-_t_o_o_l_s. Informacje jak to zrobić znajdzesz poźniej. Do wygenerowania pięciu głównych formatów (poza SGML oczywiście) należy wykonać kolejno polecenia: ______________________________________________________________________ sgml2html -s 0 -l pl nazwa.pl.sgml sgml2txt -f -c latin nazwa.pl.sgml sgml2latex -o ps -p a4 nazwa.pl.sgml sgml2latex -o dvi -p a4 nazwa.pl.sgml sgml2latex -o tex -p a4 nazwa.pl.sgml ______________________________________________________________________ W powyższym przykładzie zmienna systemowa PPLLIIKK oznacza nazwę dokumentu poddawanego konwersji. Jeżeli często przeprowadzasz konwersję do wszystkich formatów polecam napisanie sobie podobnego skryptu. ______________________________________________________________________ #!/bin/sh sgml2html -s 0 $1.pl.sgml sgml2txt -f -l pl -c latin $1.pl.sgml sgml2latex -o ps -p a4 $1.pl.sgml sgml2latex -o dvi -p a4 $1.pl.sgml sgml2latex -o tex -p a4 $1.pl.sgml ______________________________________________________________________ Aby dokonać konwersji należy wywołać powyższy skrypt z parametrem bedącym nazwą dokumentu SGML (z pominięciem rozszerzeń .pl.sgml) Oczywiście możesz również eksperymentować z innymi opcjami, ale ten zestaw opcji wydaje się być najwłaściwszy. Opcje te oznaczają: ˇ --cc - zestaw znaków użytych w tekście - parametr istotny jedynie podczas konwersji do formatu tekstowego ˇ --ss - liczba poziomów podziału na oddzielne pliki dokumentu w formacie HTML ˇ --oo - format wyjściowy programu _s_g_m_l_2_l_a_t_e_x ˇ --pp - format papieru - istotny dla _s_g_m_l_2_l_a_t_e_x ˇ --ll - język dokumentu - istotne dla _s_g_m_l_2_h_t_m_l w przypadku podziału dokumentu na pliki 33..44.. PPoolloonniizzaaccjjaa ppaakkiieettuu ssggmmll--ttoooollss Instrukcja ta dotyczy wersji _1_._0_._9_-_2 pakietu _s_g_m_l_-_t_o_o_l_s. Informacja ta nie oznacza, że w innych wersjach należy postąpić inaczej. Sposób postępowania na pewno nie zmienił się od wersji _1_._0_._7. Sposób postępowania dla starszych wersji pakietu _s_g_m_l_-_t_o_o_l_s czy też dla pakietu _l_i_n_u_x_d_o_c_-_s_g_m_l (poprzednika pakietu _s_g_m_l_-_t_o_o_l_s) opisany jest w sekcji historycznej. Chcemy uzyskiwać poprawne dokumenty w formatach: ˇ tekstowym (_t_x_t) - nie ma żadnych problemów ˇ html-owym (_h_t_m_l) - gdy tworzymy wieolopoziomowy dokument HOWTO, chcemy aby odnośniki typu _P_o_p_r_z_e_d_n_i, _N_a_s_t_ę_p_n_y były odnośnikami w języku polskim ˇ LaTeX'owym (_t_e_x) - mamy problem z konwersją polskich liter oraz napisem Spis Treści ˇ PostScriptowym (_p_s, _d_v_i - jeżeli dla dokumentu LaTeX jest wszystko w porządku to tutaj też. Aby poradzić sobie z powyższymi problemami musimy zmodyfikować dwa pliki. Pierwszy z nich odpowiada za odnośniki w wersjach HTML dokumentów. Jest to plik /usr/lib/sgml-tools/SGMLTools/Lang.pm W pliku tym musimy dodać definicję języka polskiego, oraz odpowiednie napisy dla tej definicji. Drugi z plików jest plikiem odpowiadającym za znaczniki w generowanym pliku w formacie LaTeX. Plikiem tym jest /usr/lib/sgml-tools/dist/linuxdoc/latex2e/mapping w pliku tym modyfikujemy informację o nagłówku dokumentu LaTeX twor­ zonego podczas konwersji. Musimy zdefiniować użycie znaków wg. stan­ dardu Latin2 oraz języka polskiego. Aby było łatwiej dokonać te zmiany przygotowałem odpowiedni patch do automatycznego dokonania potrzebnych zmian. Patch ten jest dostępny w sieci <ftp://ftp.jtz.org.pl/tools>. Ponieważ niektórzy mogą mieć problem ze ściągnięciem ww. pliku jego zawartość zamieszczam też poniżej: ______________________________________________________________________ *** /usr/lib/sgml-tools/SGMLTools/org/Lang.pm Mon Mar 22 05:29:00 1999 --- /usr/lib/sgml-tools/SGMLTools/Lang.pm Tue May 18 22:44:50 1999 *************** *** 60,65 **** --- 60,66 ---- pt portuges portuguese ca catalŕ catalan it italiano italian + pl polski polish ro română romanian ); *************** *** 164,169 **** --- 165,171 ---- "pt" => "Página anterior", "ca" => "Pŕgina anterior", "it" => "Indietro", + "pl" => "Poprzednia", "ro" => "Înapoi" }, "Next" => { *************** *** 177,182 **** --- 179,185 ---- "pt" => "Página seguinte", "ca" => "Pŕgina següent", "it" => "Avanti", + "pl" => "Następna", "ro" => "Înainte" }, "Contents" => { *************** *** 190,195 **** --- 193,199 ---- "pt" => "Índice", "ca" => "Índex", "it" => "Indice", + "pl" => "Spis treści", "ro" => "Cuprins" }, "Table of Contents" => { *************** *** 203,208 **** --- 207,213 ---- "pt" => "Índice geral", "ca" => "Índex general", "it" => "Indice Generale", epackage\[latin2\]{inputenc}\n" "\\usepackage{t1enc}\n" - "\\usepackage{babel}\n" + "\\usepackage\[polish\]{babel}\n" "\\usepackage{epsfig}\n" "\\usepackage{[OPTS]}\n" "\\def\\addbibtoc{\n" @@ -39,9 +39,9 @@ "\\usepackage{linuxdoc-sgml}\n" "\\usepackage{qwertz}\n" "\\usepackage{url}\n" - "\\usepackage\[latin1\]{inputenc}\n" + "\\usepackage\[latin2\]{inputenc}\n" "\\usepackage{t1enc}\n" - "\\usepackage{babel}\n" + "\\usepackage\[polish\]{babel}\n" "\\usepackage{epsfig}\n" "\\usepackage{[OPTS]}\n" "\\def\\addbibtoc{\n" @@ -56,9 +56,9 @@ "\\usepackage{linuxdoc-sgml}\n" "\\usepackage{qwertz}\n" "\\usepackage{url}\n" - "\\usepackage\[latin1\]{inputenc}\n" + "\\usepackage\[latin2\]{inputenc}\n" "\\usepackage{t1enc}\n" - "\\usepackage{babel}\n" + "\\usepackage\[polish\]{babel}\n" "\\usepackage{epsfig}\n" "\\usepackage{[OPTS]}\n" "\\def\\title#1{\n" ______________________________________________________________________ Aby wykorzystać ten plik należy wykonać komendę: patch -p0 < sgml-tools.patch To jest wwsszzyyssttkkoo ccoo mmuussiisszz zzrroobbiićć. Powtórzę jeszcze raz: jedyne operacje jakie musisz wykonać, aby spolonizować _s_g_m_l_-_t_o_o_l_s _1_._0_9 to: ˇ Wejść w posiadanie pliku ssggmmll--ttoooollss..ppaattcchh. ˇ Wykonać polecenie ppaattcchh z odpowiednimi parametrami. ˇ _s_g_m_l_-_o_w_a_ć_, _k_o_n_w_e_r_t_o_w_a_ć_, _t_ł_u_m_a_c_z_y_ć_, _._._. _;_-_) Jeżeli ktoś jest zainteresowany co dokładnie zostało i dlaczego zmienione to zapraszam do sekcji TTeecchhnniikkaalliiaa -- hhiissttoorriiaa. 33..55.. CCoo mmaamm zzrroobbiićć jjeeśśllii cchhccęę ppoopprraawwiićć ddookkuummeenntt.. Po pierwsze wszelkie poprawki trzeba nanosić w formacie SGML. Jeśli znalazłeś literówki, to po prostu popraw je i wyślij poprawioną wersję do tłumacza. Upewnij się przedtem czy masz najnowszą wersję, bo może błędy, które poprawiasz są już poprawione w nowszej wersji. Jeśli chcesz ingerować w treść dokumentu, to postępuj wg. poniższej instrukcji: ˇ zachowaj kopię tłumaczenia ˇ nanieś poprawki, które uważasz za stosowne ˇ programem ddiiffff utwórz plik zmian wydając polecenie: ___________________________________________________________________ diff -Nu stara-wersja nowa-wersja > zmiany ___________________________________________________________________ ˇ tak utworzony plik zmiany wyślij do tłumacza 44.. TTeecchhnniikkaalliiaa -- hhiissttoorriiaa Ponieważ niektórzy korzystają ze starszych wersji oprogramowania i z różnych powodów nie chcą ich zmienić zdecydowaliśmy sie na pozostawienie starych sposobów zmuszenia do współpracy tamtego oprogramowania. 44..11.. JJaakk kkoorrzzyyssttaaćć zz ttrryybbuu ppssggmmll ppoodd XXeemmaaccsseemm?? UUWWAAGGAA!! Wraz z aktualnymi wersjami emacs'a dostarczany jest plik sgml-mode.elc odpowiedzialny za tryb SGML pod emacsem. Całkiem prosto: ˇ zainstalować pakiet linuxdoc-sgml ˇ dopisać do pliku .bashrc wiersze LINUXDOCLIB=/usr/lib/linuxdoc-sgml export LINUXDOCLIB SGML_PATH=$LINUXDOCLIB/dtd/%N.dtd:$LINUXDOCLIB/dtd/%P.dtd:$LINUXDOCLIB/dist/linuxdoc/html/%N export SGML_PATH ˇ uruchomić xemacsa i pisać! 44..22.. kkoonnwweerrssjjaa ttxxtt ii hhttmmll aa sspprraawwaa ppoollsskkaa UUWWAAGGAA!! Konwersja na formaty TXT oraz HTML dla użytkowników pakietu linuxdoc- sgml. Do konwersji pliku źródłowego SGMLa na HTML i TXT służą odpowiednio programy _s_g_m_l_2_h_t_m_l i _s_g_m_l_2_t_x_t. Wszystko co musisz pamiętać, to użycie odpowiedniej opcji dla _s_g_m_l_2_t_x_t, żeby zostawił polskie znaki w spokoju. Opcja ta, to --ll. Podczas konwersji występuje z reguły błąd _C_o_u_l_d_n_'_t _f_i_n_d _f_o_n_t _'_C_' czy jakoś tak - otóż nie ma się czym przejmować. Poprawny dokument tekstowy zostanie wygenerowany. Co do konwersji na HTML, to tutaj problemu z polskimi literami nie ma, ale trzeba pamiętać, aby użyć opcji --LL ppoolliisshh, żeby odwołania _N_e_x_t, _T_a_b_l_e _o_f _C_o_n_t_e_n_t_s i _P_r_e_v_i_o_u_s zamienić na polskie odpowiedniki. Przed konwersją załóż plik /usr/lib/linuxdoc-sgml/rep/html/polish i wpisz w nim: PrevPage: Poprzednia NextPage: Następna TOC: Spis Treści 44..33.. KKoonnwweerrssjjaa SSGGMMLL -->> LLaaTTeeXX aa sspprraawwaa ppoollsskkaa UUWWAAGGAA!! O ile dobrze pamiętam opis ten dotyczy ostatniej wersji pakietu lliinnuuxxddoocc--ssggmmll. _W _p_o_n_i_ż_s_z_y_m _t_e_k_ś_c_i_e _o_p_i_s_u_j_ę _m_o_j_e _u_d_a_n_e _p_r_ó_b_y _k_o_n_w_e_r_s_j_i _d_o_k_u_m_e_n_t_u _z _p_o_l_s_k_i_m_i _z_n_a_k_a_m_i _d_i_a_k_t_r_y_c_z_n_y_m_i _z_a_p_i_s_a_n_e_g_o _w _f_o_r_m_a_c_i_e _S_G_M_L _n_a _f_o_r_m_a_t _L_a_T_e_X _o_r_a_z _D_V_I _(_D_e_v_i_c_e _I_n_d_e_p_e_n_d_e_n_t_) _i _P_S _(_P_o_s_t_S_c_r_i_p_t_)_. 44..33..11.. LLaaTTeeXX ii LLaaTTeeXX22ee ((eeppssiilloonn)) Bezproblemowo znaki różnych alfabetów możemy używać tylko w nowym formacie LaTeXa (tzw. LaTeXu 2e), standardowo pozwalającym na pisanie z ogonkami. Aby można było używać jawnie polskich liter w LaTeXu w nagłówku dokumentu w formacie LaTeX wygenerowanego przez program sgml2latex muszą wystąpić następujące linie: ______________________________________________________________________ \usepackage{t1enc} \usepackage[latin2]{inputenc} \usepackage[polish]{babel} ______________________________________________________________________ Najważniejsza jest pierwsza z nich: ______________________________________________________________________ \usepackage{t1enc} ______________________________________________________________________ Linia ta umożliwia w ogóle pisanie z ogonkami. Kolejna linia: ______________________________________________________________________ \usepackage[latin2]{inputenc} ______________________________________________________________________ umożliwia zapisanie polskich liter w standardzie ISO Latin 2 (ISO 8859-2) a nie jakimiś przedziwnymi zaklęciami magicznymi LaTeXa. Trzecia z nich, a mianowicie: ______________________________________________________________________ \usepackage[polish]{babel} ______________________________________________________________________ daje nam jedynie dodakowy bajer: słowa w języku polskim w razie potrzeby zostaną poprawnie podzielone (zgodnie z regułami języka polskiego oczywiście). Niestety program sgml2latex, generujący za każdym razem najpierw plik w formacie LaTeX, a dopiero później korzystając z tego pliku generuje pliki w formatach DVI i/lub PS, nie generuje odpowiednich linii w tym pliku. 44..33..22.. CCoo nnaamm ggeenneerruujjee ssggmmll22llaatteexx ?? Program sgml2latex umożliwia wygenerowanie pliku w formacie LaTeX lub LaTeX2e (z opcją -2e). Wszystko byłoby fajnie gdyby ten plik był poprawny dla nas (czyli zawierał linie wymienione powyżej). Niesety tak nie jest. Żeby to poprawić wystarczy jedynie trochę zmodyfikować plik /usr/lib/linuxdoc-sgml/rep/latex2e/mapping w którym jest opisany sposób konwersji pliku SGML do formatu LaTeX2e. W pliku tym we fragmencie dotyczącym konwersji tagu <article> zamiast linii ______________________________________________________________________ "\\usepackage\[latin1\]{inputenc}\n" ______________________________________________________________________ należy wstawić trzy następujące linie: ______________________________________________________________________ "\\usepackage{t1enc}\n" "\\usepackage\[latin2\]{inputenc}\n" "\\usepackage\[polish\]{babel}\n" ______________________________________________________________________ Pierwsze dwie z tych linii muszą znaleźć się koniecznie, natomiast trzecia wedle upodobania. Muszę jednak dodać, że w wypadku dodania trzeciej z tych linii konieczne jest odpowiednie skonfigurowanie programu dvips (przynajmniej ja to zrobiłem, w każdym razie korzystając z programu texconfig dodałem polski sposób dzielenia wyrazów. Jeżeli korzystając z formatu SGML tworzymy także inne dokumenty można w taki sam sposób dokonać zmian w sekcjach dotyczących konwersji tagów <report>, <book> oraz <notes>. Te zmiany nie są jednak konieczne gdy pracujemy wyłącznie z dokumentami HOWTO. 44..33..33.. PPrrooggrraamm ssggmmll22llaatteexx ii pplliikkii DDVVII oorraazz PPSS Już mamy poprawne generowanie plików w formacie LaTeX2e. Teraz jeszcze musimy posiadać LaTeXa w wersji 2e. Jeżeli mamy zainstalowany pakiet tetex (chyba jeden z popularniejszych w dystrybucjach Linuxa) to mamy odpowiedni program. Ponieważ program sgml2latex oczekuje, że program LaTeX2e wywołujemy przez latex2e to musimy mu taki sposób wywołania tego programu zapewnić. Najprościej jest w katalogu /usr/bin utworzyć skrót o nazwie latex2e do programu latex, czyli: ______________________________________________________________________ cd /usr/bin ln -s latex latex2e ______________________________________________________________________ 44..33..44.. KKoonnwweerrssjjaa wwłłaaśścciiwwaa,, cczzyyllii jjaakk uuzzyysskkaaćć DDVVII lluubb PPSS Po dokonaniu wyżej wymienionych modyfikacji żadne zmiany w dokumentzch SGML nie są już konieczne. Wystarczą jedynie odpowiednie opcje programu sgml2latex. Należy pamiętać o użyciu opcji -2e aby program generował pliki w formacie LaTeX2e a nie w starszym (LaTeX). Aby uzyskać wersję w formacie DVI używamy komendy: sgml2latex -2e -a -d nasz_plik.sgml Analogicznie możemy wygenerować pliki w formacie PS: sgml2latex -2e -a -p nasz_plik.sgml 44..33..55.. UUwwaaggii Rozwiązanie jest w paru miejscach trochę toporne, ale skuteczne. Osobiście były to moje pierwsze kroki w LaTeXu, więc opis do czynności, które należy wykonać może być trochę nieodpowiedni. Wszelkie informacje o LaTeXu jakie potrzebowałem do uzyskania satysfakcjonujących mnie wyników uzyskałem z Polskiej Strony Ogonkowej. 55.. OOdd aauuttoorróóww Wszelkie uwagi do treści tego dokument będą oczywiście mile widziane. Gwoli wyjaśnienia dodamy tylko, że osobą koordynująca całością prac jest tylko i wyłącznie Bartosz Maruszewski B.Maruszewski@jtz.org.pl. Wszelkie uwagi dotyczące sekcji PPrroojjeekktt JJTTZZ oraz SSłłoowwnniikk należy kierować więc wyłącznie do niego. Natomiast jeżeli będziesz miał jakieś problemy od strony technicznej z konwersją dokumentów z formatu SGML, czy też uwagi dotyczące sekcji TTeecchhnniikkaalliiaa zgłoś się do Michała Malarskiego malarz@it.pw.edu.pl