| I Ogólnopolskie Seminarium ,,Internet jako narzędzie ewangelizacji'' | ||
|---|---|---|
| Poprzedni | Publikacje elektroniczne — przygotowanie tekstów | Następny |
Wszystkie referaty prezentowane na tym Seminarium zostały opracowane z wykorzystaniem możliwości, o których tu piszemy. Od początku zakładaliśmy, że teksty będą dostępne w różnych postaciach i to zarówno przed, w trakcie, jak i po Seminarium. Przed były dostępne dla organizatorów (w tym wszystkich prelegentów) w postaci elektronicznej, ale nadającej się do wydrukowania (Postscipt, PDF). Ponieważ materiały dochodziły z różnych stron, w różnych formatach i w różnym czasie, to każdy z nich był wstępnie w zasadzie samodzielną całością. Forma była dostosowana do potrzeb np. jako czcionka podstawowa został wybrany standardowy Times–Roman, ponieważ jest to czcionka wbudowana i dostępna we wszystkich drukarkach postscriptowych i programach do przeglądania i drukowania dokumentów PDF. Jako powszechnie dostępna nie musi być dołączana do dokumentów, dzięki czemu są one mniejsze.
Na potrzeby wydrukowania materiałów w drukarni trzeba było wszystkie teksty potraktować jako całość i złożyć razem, generując przy okazji np. spis treści. Materiały będą (są) także dostępne w postaci elektronicznej w sieci WWW. Są one dostępne w zwyczajnym formacie HTML oraz w formacie PDF. Zostaną także przygotowane wersje materiałów dostępne na płytach CD–ROM (PDF, HTML).
Wszystkie te postacie wynikowe dokumentów generowane są automatycznie z wersji źródłowych zakodowanych z wykorzystaniem SGML. Użyte DTD to DocBook opracowany w amerykańskim wydawnictwie O'Reilly and Associates. Część materiałów była od razu pisana w tym formacie z wykorzystaniem edytora strukturalnego, który potrafi korzystać z informacji zawartych w DTD, pokazując np. autorowi elementy dopuszczalne w danym kontekście. Edytorem tym był Emacs pracujący w specjalnym trybie psgml.
Część dokumentów była konwertowana z innych formatów (Tag, Word, LaTeX). Nie korzystano z żadnych standardowych filtrów, ani konwerterów dostępnych w różnych edytorach tekstów. Na potrzeby konwersji tworzone były odpowiednie filtry w języku perl. Część pracy została wykonana “ręcznie” przy użyciu edytorów Emacs i vi.
Do weryfikacji poprawności dokumentów zakodowanych w SGML użyty został parser nsgmls autorstwa Jamesa Clarka. Parser ten wykorzystany został także przy przetwarzaniu dokumentów do formatów prezentacyjnych. Szablony służące do konwersji na formaty prezentacyjne zostały napisane w języku perl z wykorzystaniem specjalizowanej biblioteki SGMLSpm oraz pakietu sgmlspl autorstwa Davida Megginsa.
Do opracowania wersji drukowanej i oraz wersji w formacie PDF, wykorzystaliśmy program pdfTeX z formatem LaTeX.
Poniżej, jako przykład dokumentu źródłowego zakodowanego z wykorzystaniem SGML, pokazujemy fragment tekstu ks. Krzysztofa Goneta:
<article>
<artheader>
<title>Wiara, biblioteki i~Internet<comment>Wypowiedź na "Warsztatach
nt tworzenia serwisów WWW" zorganizowanych przez Radę Ruchów
Katolickich w~Warszawie w~dniu 15 marca 1998 r.</comment></title>
<author>
<honorific>Ks.</honorific>
<firstname>Krzysztof</firstname>
<surname>Gonet</surname>
<authorblurb>
<para>kgon@wmsd.edu.pl</para>
</authorblurb>
</author>
</artheader>
<sect1>
<title>Świat globalnego porozumienia w~roku 2000 a~"pełnia czasu"
w~roku~0</title>
<para>"Świat globalnego porozumienia", który budujemy na
przełomie drugiego i~trzeciego tysiąclecia przypomina warunki,
które nastały na przełomie "starej" i~"nowej ery" w~roku~0.
Św. Paweł określił tamten moment "pełnią czasu".~[Gal 4,3]</para>
<para>Ta pełnia miała jednak nie tylko religijny wymiar. Ten
czas, gdy Bóg wszedł w~ludzką historię stając się człowiekiem,
był jednak niezwykły również w~całkiem materialnym wymiarze.</para>
<itemizedlist>
<listitem>
<para>Oto świat cywilizacji Europejskiej został zjednoczony w~jeden
organizm państwowy Cesarstwa Rzymskiego.</para>
</listitem>
<listitem>
<para>Na jego terenie panował względny pokój ("Pax Romana").</para>
</listitem>
<listitem><para>Na całym terenie Cesarstwa można się było
porozumieć w~jednym języku --- po grecku.</para></listitem>
<listitem><para>Rozległe tereny były połączone wspaniałymi, jak na
owe czasy, drogami rzymskimi i~bezpiecznym (po opanowaniu
piractwa) transportem morskim.<footnote>
<para>
Ks. Marek Starowieyski: "Praeparatio Evangelica". W: Pierwsi
świadkowie.Wybór najstarszych pism chrześcijańskich. Kraków:
ZNAK, 1988, s.5--14</footnote>
</para>
</listitem>
</itemizedlist>
<para>Opisane warunki dawały niezwykłą możliwość międzyludzkiej
komunikacji. W~ówczesnych warunkach, dwa tysiące lat temu tak
właśnie wyglądał "świat globalnego porozumienia".</para>
....
</sec1>
....
</article>Przytoczyliśmy tu dosyć duży fragment tekstu, ale chodzi nam o to aby zwrócić uwagę na kilka spraw:
Mimo być może skomplikowanego na pierwszy rzut oka wyglądu, dokument zakodowany w SGML–u jest czytelny dla człowieka. Chodzi przede wszystkim o to, że dokumenty SGML to dokumenty tekstowe. Do tworzenia bądź modyfikowania nie wymagają żadnych specjalizowanych programów typu wordprocesory, albo wymyślne edytory tekstów. Każdy najprymitywniejszy nawet edytor tekstowy wystarczy do odczytania, bądź poprawienia tekstu dokumentu.
Dokument jest wyraźnie podzielony na dwie części: nagłówek i część właściwą. W nagłówku umieszczone są oczywiście informacje na temat autora i ogólne informacje o dokumencie. Nagłówek jaki widać tutaj jest dosyć prosty. Potencjalnie może on zawierać dużo więcej informacji np. słowa kluczowe, informacje bibliograficzne, katalogowe (ISBN, ISSN) itd.
Na powyższym fragmencie tekstu widać także jeszcze jedną cechę SGML–a, o której wcześniej nie wspominaliśmy. Jest to mianowicie możliwość stosowania skrótów. W SGML–u istnieje wiele mechanizmów pozwalających na zmniejszanie znakowania niezbędnego do prawidłowej interpretacji dokumentu. Nie będziemy wdawać się w szczegółowy opis wszystkich dostępnych mechanizmów. Chcemy tylko na jednym małym przykładzie pokazać istniejące możliwości.
Popatrzmy na cudzysłowy. Cudzysłowy jakie znajdują się w tekście źródłowym są “typu komputerowego” ("). Nie ma różnicy między cudzysłowem otwierającym i zamykającym. Oczywiście często autorom jest wygodnie stosować taką konwencję. Muszą zadbać tylko o właściwe ich sparowanie. W rzeczywistości znaki cudzysłowu są ogranicznikami i w tym przypadku para znaków " jest równoważna parze etykiet elementu służącego do zaznaczania cytatów (quote, /quote). Fragment tekstu "pełnia czasu" jest więc równoważny z <quote>pełnia czasu</quote>. Mechanizm interpretacji cudzysłowów pokazujemy tutaj bez szczegółowego omówienia tylko jako przykład pokazujący, że mechanizm skrótów dostępny w SGML–u jest w niezwykle silnym narzędziem (umożliwia np. rozróżnianie znaczenia tych samych symboli w zależności od kontekstu).
W przytoczonym fragmencie występują jeszcze inne rodzaje skrótów (`~' i `—'), ale ich znaczenie jest inne. Znak `~' to twarda (niełamliwa) spacja czyli miejsce, w którym nie wolno zakończyć wiersza, Trzy minusy `—' służą do zaznaczenia znaku myślnika (pauzy `—', m–dash), który jest inny niż znak przenoszenia (-) czy znak matematycznej operacji odejmowania (−). Niestety nie wszędzie da się tę różnicę zachować — na stronie WWW w HTML–u może być problem z rozróżnieniem tych znaków, ale to już jest sprawa formatu prezentacyjnego — w dokumencie źródłowym tego typu znaki muszą być rozróżnione.
W przykładowym fragmencie tekstu wyraźnie widać także różnicę w stosunku do kodowania tekstów na potrzeby DTP, o której wspominaliśmy wcześniej. Niektóre elementy takie jak sect1, itemizedlist, listitem, footnote, nie zawierają bezpośrednio tekstu (treści) — są tylko (albo aż) “pojemnikami” na elementy niższego poziomu.
Wyraźnie widoczna jest także hierarchia elementów: elementy niższego poziomu są całkowicie “zanurzone” w elementach wyższego poziomu. I tak np. słowa pełnia czasu w tytule pierwszej części tekstu stanowią zawartość elementu quote (pamiętamy o skrótach) i jednocześnie część zawartości elementu title, który stanowi część zawartości elementu sect1, który wreszcie stanowi część zawartości elementu najwyższego poziomu article.
Ta hierarchia jest często bardzo istotna, bo definiuje kontekst znaczeniowy danego elementu. Na przykład tytuł może być tytułem rozdziału, podrozdziału, tabeli, rysunku, itd. Jest to zawsze tytuł i wygodnie jest go oznaczać wszędzie w ten sam sposób. Już jednak sposób jego formatowania, czy wykorzystania, zależą od tego, czego tytułem jest dany tytuł. I tak np. tytuł rozdziału, poza tym, że ma być sformatowany w odpowiedni sposób musi trafić do spisu treści, a tytuły tabel, do spisu tabel. I znowu, tak jak w przypadku skrótów, sygnalizujemy tylko pewien fakt, który jest w rzeczywistości istotnym zagadnieniem projektowym związanym z zadaniem tworzenia definicji typów dokumentów oraz definiowania sposobów przetwarzania tekstów na potrzeby prezentacji. Wyczerpujące omówienie tego zagadnienia znacznie przekracza ramy tego tekstu i naszego spotkania.
Przy okazji analizy struktury przykładowego tekstu warto wspomnieć o jeszcze jednej ważnej sprawie. Stosując techniki, o których jest mowa w tym tekście wiele zyskujemy. Przede wszystkim praca przebiega niezwykle sprawnie. Raz wybrane standardy kodowania strukturalnego będą nam służyły w przyszłości. Nawet jeśli zajdzie potrzeba wykorzystywania tekstów do celów, których nie jesteśmy sobie w stanie jeszcze nawet wyobrazić, to nie będzie potrzeby ponownego ręcznego opracowywania każdego tekstu. Wystarczy przygotować odpowiednie narzędzia (filtry), które dokonają niezbędnych przekształceń dokumentów automatycznie.
Właściwie opracowane teksty pozwalają także zaoszczędzić mnóstwo pracy na etapie przygotowywania tekstów do późniejszego wykorzystania i prezentacji. Opracowując teksty na potrzeby tego seminarium najmniej problemów mieliśmy z tekstami pisanymi od razu w sposób strukturalny z wykorzystaniem SGML–a. Inne teksty np. nadesłane w LaTeX–u, także nie sprawiały wielkiego problemu i wszystkie elementy strukturalne (np. wyróżnienia kursywą czy pismem pogrubionym) “przeszły” bez wielkiego problemu — wystarczył malutki skrypt w perlu i kilka niewielkich ręcznych poprawek. Podobnie teksty w zapisane w HTML‐u nie stanowiły problemu. Tutaj (zwłaszcza, że autor, od którego dostaliśmy tekst w HTML‐u stosował pewne zdroworozsądkowe konwencje) można było zastosować od razu narzędzia SGML–owe. Najwięcej pracy było z tekstami nadesłanymi w formatach typowych edytorów tekstów (TAG czy MS–Word). Ponieważ nie są nam dostępne takie programy, więc mimo iż sam tekst można przy odrobinie wprawy odzyskać bez większego problemu, to wszelkiego typu wyróżnienia w tekście już nie bardzo. Poza tym dokument trzeba później ręcznie “poznakować”, czyli dokonać identyfikacji jego struktury logicznej. W przypadku tekstów o prostej strukturze jakie znajdują się w materiałach, nie stanowiło to wielkiego problemu, ale jednak zajęło niepotrzebnie dużo czasu.