Jak to zrobić (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.8, 28 Grudnia 2003


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.

1. Projekt JTZ

1.1 Co to jest JTZ ?

Wszystko zaczęło się od tego, że kilku osobom chciało się poświęcić trochę 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.

Osobą koordynującą projekt jest Bartosz Maruszewski B.Maruszewski@jtz.org.pl

1.2 Jak zacząć?

Najpierw należy wybrać co chcesz tłumaczyć. Zajrzyj na adres http://cvs.jtz.org.pl/JTZ/tools/howto.dat i sprawdź czy ktoś już nie przetłumaczył lub nie tłumaczy aktualnie tego samego. Jeśli tak, to możesz się z nim skontaktować w sprawie pomocy lub wybrać coś innego. Jeśli wybranego HOWTO nie ma na liście tłumaczonych ani dostępnych, to znaczy, że nic o tym dokumencie nie wiemy i możesz go śmiało tłumaczyć.

Następnie, po wybraniu materiału do pracy, należy poinformować nas, że zabierasz się za tłumaczenie. Najlepiej jeśli uzyskasz dostęp do CVS (patrz punkt Lista dyskusyjna i CVS) i dopiszesz do pliku tools/howto.dat informacje o swojej pracy. Możesz też zrobić to przez listę dyskusyjną (patrz punkt Lista dyskusyjna i CVS). Później postępuj zgodnie z ustaleniami.

Uwaga!!!
Bardzo ważne jest poinformowanie nas o zamiarze tłumaczenia. Jeśli nie powiesz nam o tym, to inni chętni nie będą wiedzieć, że dany tekst jest już tłumaczony i mogą zabrać się za to samo.

1.3 Ustalenia, które stały się obowiązującym prawem.

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:

1.4 Lista dyskysyjna i CVS

Lista dyskusyjna

Jeśli chcesz do nas dołączyć zapisz się na naszą listę, lecz pamiętaj, że jest ona przeznaczona, dla osób pracujących nad tłumaczeniami, nie służy do przyglądania się, jak postępują prace. Adres listy to jtz@wlug.ists.pwr.wroc.pl. Aby się na nią zapisać wyślij na adres jtz-request@wlug.ists.pwr.wroc.pl list zawierający w treści lub tytule słowo

subscribe

Jedyny słuszny adres listy dyskusyjnej, na który należy pisać, to jtz@wlug.ists.pwr.wroc.pl. Poprawnymi adresami, z których mogą przychodzić listy, to jtz@diament.ists.pwr.wroc.pl lub jtz@jtz.org.pl, ale na te adresy proszę nie wysyłać listów, bo mogą niezauważone się zmienić.

CVS

Ale jaki CVS?? Co to i po co??

Projekt JTZ przechowuje swoje zasoby w repozytorium CVS. Jest to jedyne słuszne miejsce, gdzie znajdują się wszelkie dokumenty zarówno w trakcie opracowywania jak i dopuszczone już do wydania. CVS jest to system zarządzania zasobami tekstowymi dla wielu użytkowników, w skład którego wchodzi:

Najważniejsze, co musisz wiedzieć, to fakt, że projekt JTZ korzysta z CVS. Jeśli zamierzasz przetłumaczyć jeden tekst i o nim zapomnieć lub nie jesteś hakerem i boisz się nowości, to skontaktuj się z nami poprzez listę dyskusyjną przed rozpoczęciem tłumaczenia. Od razu napiszę, że w taki sposób najprawdopodobniej procedura będzie kilkakrotnie wydłużona, gdyż wymagana jest kilkukrotna interwencja innej osoby poza Tobą. Jeśli zamierzasz być programistą i pracować w większej grupie osób, to radzę się zapoznać z CVS.

Dostęp do zasobów CVS (tylko do odczytu) jest możliwy także poprzez WWW pod adresem cvs.jtz.org.pl/JTZ/.

Aby uzyskać prawo zapisu do CVS JTZ należy najpierw zgłosić się na listę dyskusyjną, a następnie wysłać na adres Tomasza Kłoczko list zawierający następujące informacje:

1.5 Pierwsze rezultaty

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 trochę poczekać, zostać ponownie sprawdzony przez autora i dopiero potem może pokazać się szerszej publiczności. Dotyczy to szerszego grona czyli WWW i FTP. W zasobach CVS mają prawo przebywać niepełne tłumaczenia, nad którymi trwają prace -- po to jest CVS; korzystajcie z niego.

Jeśli chcesz wiedzieć nad czym w tej chwili pracujemy, zajrzyj na stronę cvs.jtz.org.pl/JTZ/tools/howto.dat. Tam powinny znajdować się mniej więcej taka treść:



========== KTO ========== ===== CO ROBI ===== ===== CO ZROBIL =====
Bartek M.                          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

1.6 Przetłumaczone dokumenty

Aktualne informacje znajdziesz na Polskiej Stronie Tłumaczeń.

Wszystkie przetłumaczone dokumenty (w różnych formatach) można znaleźć na naszym serwerze FTP ftp://ftp.jtz.org.pl/

1.7 Co zrobić, jeśli chcę poprawić czyjeś tłumaczenie?

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:

2. Słownik

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 ...

3. Format tłumaczonych dokumentów: SGML

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 sgml-tools.

Więcej informacji o tym pakiecie można znaleźć na stronie projektu SGMLTools

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:

Część zasobów HOWTO/JTZ jest w formacie linuxdoc, część w docbook -- format jest zawsze zdeklarowany w pierwszej linii dokumentu. Zasada jest taka, że tłumaczymy dokument w takim formacie, w jakim jest oryginał. Więcej informacji nt. pracy z obywdoma formatami znajdziesz poniżej.

3.1 Docbook

Informacje o tłumaczu

Wg LDP dane nt. tłumacza w dokumentach o formacie DOCBOOK podawać należy w nagłówkach w sposób następujący:


 <othercredit role= 'translator'>
  <firstname>Imię</firstname>
  <surname>Nazwisko</surname>
  <affiliation>
   <address>
   <email>adres.email@tłumacza.pl</email>
   </address>
  </affiliation>
  <contrib>Wersja polska: 6.66, 22 września 2004</contrib>
 </othercredit>

Więcej nt. docbook

Więcej informacji nt. pisania w docbook i konwertowania tych dokumentów na inne formaty znajdziesz pod adresem http://www.tldp.org/LDP/LDP-Author-Guide/.

3.2 Linuxdoc

Informacje o tłumaczu

Dane nt. tłumacza w dokumentach o formacie LINUXDOC podawać należy w nagłówkach w sposób następujący:


<title>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

3.3 Krótki minikurs SGML-a.

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ć.

To naprawdę nie jest trudne.

3.4 Teraz trochę o konwersji.

Jak już wspomniałem do konwersji z formatu SGML służy pakiet programów sgml-tools. Programy z tego pakietu, których będziesz używał to najprawdopodobniej:

Aby wygenerować poprawne JTZ-ty musisz prawdopodobnie zmodyfikować kilka plików z pakietu sgml-tools. 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 nazwa.pl 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ą:

Polonizacja pakietu sgml-tools

Instrukcja ta dotyczy wersji 1.0.9-2 pakietu sgml-tools. 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 sgml-tools czy też dla pakietu linuxdoc-sgml (poprzednika pakietu sgml-tools) opisany jest w sekcji historycznej.

Chcemy uzyskiwać poprawne dokumenty w formatach:

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 tworzonego podczas konwersji. Musimy zdefiniować użycie znaków wg. standardu Latin2 oraz języka polskiego.

Aby było łatwiej dokonać te zmiany przygotowałem odpowiedni patch do automatycznego dokonania potrzebnych zmian.


*** /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",
+      "pl" => "Spis treści", 
       "ro" => "Cuprins"
    }
  };

--- sgml-tools.org/dist/sgmltool/latex2e/mapping        2001-06-25 08:59:08.000000000 +0200
+++ sgml-tools/dist/sgmltool/latex2e/mapping    2003-11-13 02:15:23.000000000 +0100
@@ -8,9 +8,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"
@@ -23,9 +23,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"
@@ -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 wszystko co musisz zrobić. Powtórzę jeszcze raz: jedyne operacje jakie musisz wykonać, aby spolonizować sgml-tools 1.09 to:

Jeżeli ktoś jest zainteresowany co dokładnie zostało i dlaczego zmienione to zapraszam do sekcji Technikalia - historia.

4. Technikalia - historia (dot. linuxdoc)

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.

4.1 Jak korzystać z trybu psgml pod Xemacsem?

UWAGA!
Wraz z aktualnymi wersjami emacsa dostarczany jest plik sgml-mode.elc odpowiedzialny za tryb SGML pod emacsem.

Całkiem prosto:

4.2 konwersja txt i html a sprawa polska

UWAGA!
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 sgml2html i sgml2txt. Wszystko co musisz pamiętać, to użycie odpowiedniej opcji dla sgml2txt, żeby zostawił polskie znaki w spokoju. Opcja ta, to -l. Podczas konwersji występuje z reguły błąd Couldn't find font '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 -L polish, żeby odwołania Next, Table of Contents i Previous 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&nbsp;Treści

4.3 Konwersja SGML -> LaTeX a sprawa polska

UWAGA!
O ile dobrze pamiętam opis ten dotyczy ostatniej wersji pakietu linuxdoc-sgml.

W poniższym tekście opisuję moje udane próby konwersji dokumentu z polskimi znakami diaktrycznymi zapisanego w formacie SGML na format LaTeX oraz DVI (Device Independent) i PS (PostScript).

LaTeX i LaTeX2e (epsilon)

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.

Co nam generuje sgml2latex ?

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.

Program sgml2latex i pliki DVI oraz PS

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

Konwersja właściwa, czyli jak uzyskać DVI lub PS

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

Uwagi

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.

5. Od autorów

Wszelkie uwagi do treści tego dokumentu 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 Projekt JTZ oraz Słownik 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 Technikalia zgłoś się do Michała Malarskiego malarz@it.pw.edu.pl

# # # #

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22