Następna strona Poprzednia strona Spis treści

4. Technikalia - historia

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 emacs'a 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 SGML-a 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 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 tekscie 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 LaTeX-a (tzw. LaTeX-u 2e), standardowo pozwalającym na pisanie z ogonkami. Aby można było używać jawnie polskich liter w LaTeX-u 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 LaTeX-a.

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 tag-u <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 takze 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ć LaTeX-a w wersji 2e. Jeżeli mamy zainstalowany pakiet tetex (chyba jeden z popularniejszych w dystrybucjach linux-a) 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 LaTeX-u, więc opis do czynności, które należy wykonać może być trochę nieodpowiedni. Wszelkie informacje o LaTeX-u jakie potrzebowałem do uzyskania satysfakcjonujących mnie wyników uzyskałem z Polskiej Strony Ogonkowej.


Następna strona Poprzednia strona Spis treści