Uygulama : DocBook ile PDF yaratma Home Map Index Search News Archives Links About LF
[Top
bar]
[Bottom bar]
Bu makalenin: Castellano  Deutsch  English  Français  Nederlands  Russian  Turkce  
[Photo of the Author]
by Egon Willighagen

Yazar hakk�nda:

1999 y�l�nda Hollanda LF tak�m�na kat�ld� ve bu y�l�n baslar�nda 2. edit�r oldu. Nijmegen �niversitesinde Kimya Bilimleri b�l�m�nde ��renci.Baskebol oynamay� ve y�r�y�� yapmay� seviyor.

�cerik:

DocBook ile PDF dok�manlari yapmak


�eviri: Serkan Bursal�


( �eviri tam anlam�yla bitmemi�tir. T�rk�e s�zc�k hatalar� bulunmaktad�r. �eviri en en k�sa s�rede bu hatalar�ndan ar�nd�r�larak g�ncelle�tirilecektir.)

[Illustration]

�zet :

Bu yazi Pdf dok�manlari gelistirmek i�in DocBook'un nasil kullanilacagini anlatmaktadir ve DocBook makalelerini ve ara�larini degistirip Pdf dok�manlarina �evirmek i�in ihtiyaciniz olan ara�lari kapsayacaktir. Burada sadece ihtiyaciniz olan yazilim ara�larini isimlendirdiginden ve onlari nasil kuracaginizi anlatmadigindan, bu makale deneyimli Linux kullanicilari i�in tasarlanmistir.

Yazinin ilk b�l�m�nde docbook dok�manlarinin bi�imi �zerine yogunlasilacaktir. DocBook dok�manlari tanitildigi zaman , bunlari Acrobat ile g�r�nt�lenebilen pdf bi�imine �evirebilmek i�in gerekli olan ara�lari a�iklamaya �alisacagim.



 

DocBook nedir?

DocBook [1] dok�manlari g�stermek/belirtmek i�in gelistirilen bir SGML uygulamasidir ; HTML 'in web dok�manlarini belirtmesi gibi. HTML 'den farkli olarak, DocBook dok�manin d�zeni hakkinda bilgi vermez. Bu nedenle DocBook dok�maninin g�r�nt�lenmeden �nce baska bir bi�ime �evrilmesi gerekir. Baska bi�imlere �evirme belirli bir modeli DocBook dok�manina uygulama ile yapilir


 
Sekil 1: Conversion from DocBook to PDF with a stylesheet

Sonlara dogru bu d�n�s�m� yapmak i�in hangi modelleri kullanmak zorunda oldugunuz ve modele hangi ara�larin uygulanacagi a�iklanacaktir. �nce, dok�manlarin nasil bir araya getirilecegini g�recegiz.

 

Yazi Yazmak

DocBook iki �esit dok�mani belirtebilir : yazilar ve kitaplar. Prensipte ikisi de ayni oldugundan , yazi g�sterimini �rnek olarak g�sterecegim. Basit bir yazi dok�mani g�stermeden �nce DocBook ile ilgili birka� temel prensip

DocBook bir SGML uygulamasidir; HTML gibi. Fakat DocBook'un XML bi�im de vardir. XML tipi daha kurallara baglidir fakat okunmadi daha kolaydir. Bu nedenle �grenmesi daha kolaydir. XML'in kendisi SGML uygulamasi oldugundan t�m SGML ara�lari kullanilabilir. SGML ile XML arasindaki temel farklar sunlardir:

  • XML elemanlari her zaman kapatilmak zorundadir.
  • XML elemanlari yuvalanmalidir ?
Bunun anlami <BR>'yi HTML'de kullanamazsiniz; <BR></BR> 'yi kullanmak zorundasiniz. Ikincinin anlami ise; <B><A HREF="some_url">click here</B></A> yazamazsiniz ;elemanlari uygun sekilde yuvalayarak <B><A HREF="some_url">click here</A></B>.

�nemli formaliteleri g�rd�kten sonra DocBook'ta yazi yazmaya baslayabiliriz.

    <?xml version="1.0"?>
    <article>
      <title>Writing DocBook articles</title>
      <artheader>
        <abstract>
          This article describes how you can use DocBook to develop
          PDF documents and will cover tools you need to edit DocBook
          articles and tools to translate them to PDF documents.
        </abstract>
        <author>
          <firstname>Egon</firstname>
          <surname>Willighagen</surname>
        </author>
        <date></date>
      </artheader>
    </article>

Bu zor degil. Basligi , ne zaman yazildigi ve yazarin adi olan kisa bir yazi ile baslayalim.

Bir sonraki adim, yaziya b�l�m elemanlarini kullanarak b�l�mler eklemektir.

    <?xml version="1.0"?>
    <article>
      <title>Writing DocBook articles</title>
      <artheader>
        ... the articles header ...
      </artheader>
  
      <section>
        <title>Introduction</title>
      </section>

      ... other sections ...

    </article>

Su anda yaziya giris b�l�m� ekledik. Eklenebilecek b�l�m elemanlari sonu�lar, yorumlar veya baska b�l�mler olabilir.

 

Yazi veya baska bilgilerin eklenmesi

B�t�n yazilar para elemanlari i�erirler; HTML' in p elemani gibi:

    <section>
      <title>Introduction</title>
      <para>
        DocBook is an SGML application 
        developed to markup documents, just like HTML marks up webdocuments.
      </para>
    </section>

Fakat yazinin yaninda baska elemanlar da m�mk�nd�r. Bu b�l�m�n geri kalaninda �rnekler, listeler, resimler ,vb ... yaziya nasil eklenecegi g�sterilmektedir.

�rneklerin Eklenmesi

�rnekler �rnek elemanlarinin kullanimi ile eklenebilir ; asagida verilen �rnek programda oldugu gibi :

    <example>
      <title>Perl program that converts an XML document into a HTML
    page.</title>
      <programlisting>
        #!/usr/bin/perl -w
        use diagnostics;
        use strict;
        use XML::XSLT;
    
        my $XSLTparser = XML::XSLT->new();
        $XSLTparser->open_project ("file.xml",
    "stylesheet.xsl", "FILE", "FILE");
        $XSLTparser->process_project;
        $XSLTparser->print_result();    
      </programlisting>
    </example>
    
Fakat �rnekler yazi,resim ve baska bilgiler de i�erebilirler.

Listeler Ekleme

HTML' de oldugu gibi DocBook da liste i�ermektedir. Listeler madde seklinde yazilmis liste elemanlari ile tanimlanirlar ve bir ya da daha fazla liste elemani i�erebilirler.

    <itemizedlist>
      <listitem>
        <para>an item</para>
      </listitem>
      <listitem>
        <para>another item</para>
      </listitem>
      <listitem>
        <para>and again an item</para>
      </listitem>
    </itemizedlist>
    
Burada para elemani yaziyi da i�erebilir. Yazi her zaman bu elemani birlikte i�ermek zorundadir.

Listeler siralanabilirler. Bu durumda sirali liste elemanlari madde seklinde yazilmis liste elemanlari yerine kullanilabilir. Numara parametresi eklenerek sayilarin tipi de belirlenebilir (e.g. <orderedlist numeration="Arabic">)

Resim Eklemek

G�r�nt�ler de yaziya eklenebilir:

    <mediaobject>
    <imageobject>
    <imagedata fileref="some_picture.gif"
    format="gif"/>
    </imageobject>
    <textobject>
      <para>
        If you were not using
    <productname>Lynx</productname>
        you could now see a picture.
      </para>
    </textobject>
    </mediaobject>
    
Resmin yaninda yazi da verilebilir. Ger�ekte film de eklenebilirdi. DocBook dok�manini Pdf dok�manina �eviren model proses�r� , en iyi araci se�ecektir. Bu b�y�k bir olasilikla resim olacaktir.

Ayrica lynx kelimesinin isaretleyici oldugu da not edilmelidir. Bu d�zenin bilgiden ayrildigi ; g�r�n�s�n spesifik oldugu bir isaretleme dilidir. Bu makale; Lynx'in, Lynx isminin �r�n� oldugunu anlatir. Bu model sayfasi daha sonra �r�n adini �zel bir g�r�n�mle g�sterilemsi gerekti�ini tarif eder; �rnegin italik takip eden b�l�mde kelimeler i�in bazi ek isaretleyiciler g�recegiz.

Belirtme S�zc�kleri

Resim �rneginde g�sterildigi gibi , kelimelerin kendileri belirtece sahip olabilir. Asagidaki tabloda bazi isaret edici elemanlar verilmistir:

    Eleman Tanimi
    abbrev Kisaltmayi bir periyot takip eder.
    �rnek:
    <para><abbrev>e.g.</abbrev> means for example.</para>
    acronym Esanlamli
    �rnek:
    <para><acronym>DSM</acronym> (chemical company) means "De StaatsMijnen" (=The State Mines).</para>
    email Elektronik Posta Adresi
    �rnek:
    <para>My email is <email>egon.w@linuxfocus.org</email></para>
    keyword Bir makalenin anahtar kelimesi
    �rnek:
    <para>In my humble opinion <keyword>chemistry</keyword> is very important.</para>
Diger elemanlar kaynaklarda listelenmistir [2].

DocBook elemanlar� ile ilgili k�sa bir giri�ten sonra , �imdi s�ra Pdf dok�man� yapmaya geldi.

 

Dok�manin PDF Bi�imine �evrilmesi

Elimizdeki DocBook dok�manini bir�ok bi�ime �evirebiliriz. Pdf'in yaninda, dok�mani Word Perfect, Word, Star Writer ya da diger yazim programlari ile okunabilecek bir internet sitesine, Postscript dok�manina, Tex dosyasina veya RTF'a (Rich Text Format) �evirebiliriz. Ama bu makalede yalnizca Pdf bi�imine �evirmekle ilgilenecegiz.

DocBook Vi ya da Nedit gibi herhangi bir edit�rle yazilabilir. Daha da iyisi Emacs'tir: Norman Walsh DocBook i�in bazi kullanisli y�ntemler ekleyen ana bir model yazmistir, [3] eleman isimlerini tamamlamak veya template elemanlari eklemek gibi
Kendi test yazinizi yapmak disinda , bu yazida verilen �rnekleri i�eren benim versiyonumu da indirebilirsiniz.

Bu makalenin basinda a�iklandigi gibi, DocBook 'u Pdf bi�imine �evirmek i�in bizim hem bir modele hem de bu modeli kullanan ara�lara ihtiyacimiz var. Bu model DocBook makalesini tabii ki direkt olarak Pdf bi�imine �evirmez. Arada bir Tex adimi vardir. Kullandigimiz model Norman Walsh'un [4] DSSSL'de yazilmis DocBook Modelidir

Modeli kullanabilmek i�in DSSSL modeline �evirmemiz bunun i�in de DSSSL prosesor�ne sahip olmamiz gerekir. Bu prosesor Jade'dir [5] Ve James Clark tarafindan gelistirilmistir (bu araci desteklemeyi birakmistir). Bunun yerine OpenJade[6] konmustur.

    Mod�ler Model Sayfasi, Jade ve JadeTex (asagida) paketleri(like RedHat, Suse, Corel en Debian)! kullanan t�m dagiticilar i�in elde edilebilirdir.�ncelikle y�kleme programinizi , CD veya dagitici web sayfasini kontrol edin

Benim Debian sistemim Walsh'�n Mod�ler Model Sayfas�nda Pdf'e d�n���m, /usr/lib/sgml/stylesheets/dsssl/docbook/nwalsh/print/ i�ine Jade i�in "-d" parametresi ile y�klenmistir. "-t" se�ene�i Jade'e Tex'i arka planda kullanmas�n� s�yler

    egonw@localhost> ls -al
    total 3
    -rw-r--r--    1 egonw    egonw        2887 Apr  8 22:06 docbook_article.xml
    egonw@localhost> jade -t tex -d
    /usr/lib/sgml/stylesheets/dsssl/docbook/nwalsh/print/docbook.dsl
    docbook_article.xml
    egonw@localhost> ls -al
    total 21
    -rw-r--r--    1 egonw    egonw        2887 Apr  8 22:06 docbook_article.xml
    -rw-r--r--    1 egonw    egonw       17701 Apr  8 22:29 docbook_article.tex
    
G�rd�g�n�z gibi Jade Tex dosyalari olusturur. Bu Tex dosyasi daha sonra JadeTex paketinde bulunan pdfjadetex araci ile PDF dosyasina �evrilir [7]:
    egonw@localhost> ls -al
    total 21
    -rw-r--r--    1 egonw    egonw        2887 Apr  8 22:06 docbook_article.xml
    -rw-r--r--    1 egonw    egonw       17701 Apr  8 22:29 docbook_article.tex
    egonw@localhost> pdfjadetex docbook_article.tex
    
bu g�zel bir docbook_article.pdf olusturur. Her sayfanin basina yazi ba�ligi eklemek gibi bir �ok d�zenleme yapilabilir ve program listelemek i�in farkli fontlar kullanilabilir. DocBook ile �alismaya basladigim zaman Hangi kombinasyonlara sahip oldugumu anlamakla zaman harcadim. Bu yazi sadece tek bir kombinasyonu g�steriyor

 

Dikkat edilecek noktalar

DocBookXML dili �ok kapsamlidir.Bu baska formatlara �evrilebilir anlamina gelir.Bu yazi sadece �ok kisa bir giris yapmistir.Bu yazi i�in ; sorular yazisma sayfasina postalanabilir.Daha fazla bilgi i�in [8] ve [9] referanslara gidilebilir. Son referans tamamen docbook ile yazilmistir.

Bu yazida yer almayan Fakat DocBook ile m�mk�n olan ileri konular :

  • bibliografik bilgiler i�in kapsamli anlatimlar
  • baska b�l�mlere link yapmak.
Belki gelecekteki bir yazinin konusu olur.

 

Referanslar

1.  DocBook website
2.  Quick Reference: DocBook Elements
3.  Emacs major mode for DocBook
4.  The Modular DocBook Stylesheets
5.  Jade
6.  OpenJade
7.  JadeTeX
8.  Norman Walsh's DocBook site
9.  DocBook: The Definate Guide on SGML variant

 

Bu yaz� hakk�nda g�r�� bildirmek i�in

Her yazi geri d�n�s�ml� konusma sayfasina sahiptir. Bu sayfada kendi yorumlarinizi yazabilir veya diger okuyucularin yorumlarini okuyabilirsiniz:
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Egon Willighagen
LinuxFocus.org 2000

Click here to report a fault or send a comment to Linuxfocus

2000-07-20, generated by lfparser version 1.7