Bu makalenin: Castellano Deutsch English Français Nederlands Russian Turkce |
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: |
Ö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 [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
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.
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:
Ö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.
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 EklemekGö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ükleriResim ö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> |
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> |
DocBook elemanları ile ilgili kısa bir girişten sonra , şimdi sıra Pdf dokümanı yapmaya geldi.
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.
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.texGö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.texbu 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
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 :
|
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