next up previous contents
Nästa: 9.4 Mer om SGML Upp: 9. Textbehandling med SGMLtools Förra: 9.2 Uppbyggnad av ett

Delavsnitt

9.3 DocBook

Strukturen i DocBook går från att man har ett <set> med <book> och varje <book> innehåller ett eller flera kapitel. Det finns även andra huvudtyper av dokument som article, refset.

En normal DocBook bok har en struktur som påminner om följande:

Book
  Bookinfo
  ToC <!-- Table of contents -->
  LoT <!-- För bilder -->
  LoT <!-- För tabeller -->
  Preface
  Chapter
  Chapter
  Chapter
  Reference
  Appendix
  Appendix
  Glossary
  Bibliography
  Index

Som sagt så är <book> det högsta elementet i en bok. Detta element har attribut som kan sättas till olika värden. Ett mycket använt attribut är lang="svse" detta skrivs <book lang="svse"> och bestämmer att detta är ett dokument som är skrivet på Svenska. Andra attribut som kan vara värda att lägga på minnet är id="textsträng" och role="textsträng", id används för att namnge en del av dokumentet så att man kan referera till den och om man behöver använda en tag på ett sätt den inte är avsedd för använder man role.

I DocBook finns två typer av semantiska element, de som är hirarkiska till sin funktion, och de som är till för att göra logiska block. Det är viktigt att skilja på dessa. Skilnaden är t.ex. en paragraf är ett logiskt block som kan förekomma på många ställen i hirarkin medans en sektion bara kan förekomma i ett kapitel.

9.3.1 Bookinfo

<bookinfo></bookinfo> används för att förse dokumentet med information om författare, publicering, tryckning och upphovsrätt. I kort allt det som gäller boken och som brukar tryckas på insidan av första bladet. Saker som kan vara bra att fylla i är <author></author> som i sin tur innehåller <honorific></honorific>, <firstname></firstname>,
<othername></othername> och <lineage></lineage> vilka innehåller den sedvanliga författar informationen som namn. Honorific motsvarar svenskans akademisk titel, lineage används knappast i Sverige, men skall innehålla tert som jr, dä, dy för att särskilja två författare som har samma namn. Förutom detta så finns också <authorblurb></aurthorblurb> som innehåller lite lös text om författaren innom <para> taggar.

<leagalnotice></leagalnotice> är också bra att känna till den används för att kunna skriva saker som, detta dokument får inte reproduceras. För att indikera vem som har upphovsrätt på verket används <copyright>.

<COPYRIGHT>
<YEAR>1998</YEAR>
<HOLDER>Martin Wahlen</HOLDER>
</COPYRIGHT>
<LEGALNOTICE>
<PARA>
  Detta är ett exempel på Copyright som man kan använda!
</PARA>
</LEGALNOTICE>

Är ett kort exempel på vad en bookinfo kan innehålla.

9.3.2 TOC

<toc></toc> Insättningspunkt för en innehållsförteckning. Här genereras en innehållsförteckning med alla Kapitel, Sektioner och Appendix.

9.3.3 Preface, Chapter och Appendix

Dessa element är uppradade eftersom de utgör själva innehållet i de flesta dokument. Under dessa kan man ha ett antal sektioner. Eller så kan man bara ha lösa paragrafer om man vill det.Elementen skall alltid ha minst en rubrik. Rubriken skrivs innom <title> taggar och är ett logisktblock. Det vill säga att man inte behöver skriva <para></para> runt den text man vill ha som rubrik.

<chapter id="kapitel1">
  <title>Hej</title>
  <para>Detta &auml;r ok</para>
</chapter>

Här införde vi &auml; detta motsvarar ett ä, eftersom man inte kan vara säker på att alla datorer hanterar 8-bitars tecken uppsättning har man valt att låta SGML koda vissa bokstäver som entities. De som används på svenska är &aring, &auml; och &ouml;. Det är även bra att kunna danskans ä nämligen &aeling;.

9.3.4 Listor

Det finns många olika typer av listor i DocBook, men gemensamt har de alla att <listitem><para>Text</para></listitem> är hur listorna är uppbyggda. De två vanligaste typerna av listor är <OrderedList> och ItemizedList.

9.3.5 Bilder

Något som brukar vara ganska populärt när man skriver dokument är figurer och bilder som illustrerar det man diskuterar. I DocBook så används <figure> för detta ändamål. <figure> har ett par viktiga extra attribut, det viktigaste är float, detta attribut har två värden ett eller noll. Ett gör att figuren kan flyttas i texten till det ställe där JADE tycker att den passar bäst. Noll innebär att bilden måste sättas in här i förhållande till texten. I figuren skall det sedan stå en <title> tag med en beskrivande rubrik till bilden.

Efter <title> taggarna kommer det som är intressant nämligen <graphic> taggen. Den har som attribut fileref="filnamn" vilket gör att man kan ta in bilder i sina dokument. Vidare så finns ett attribut, format="format" där format kan vara eps, gif, jpeg, etc

9.3.6 Table

DocBook använder sig av CALS tabeller. Detta är en typ av tabell som finns med i många olika dokumenttyper. En tabell är ju troligen något som inte är så olikt oavsätt vilken typ av dokument man skriver.

CALS tabellen

9.3.7 Index

Man kan ju givetvis generera ett index till sina böcker och skrifter det finns ett flertal taggar för att göra detta. Normalt så använder man

9.3.8 Ett exempel

<!DOCTYPE article PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
]>

<article lang="svse" id="Exempel1">
<artheader>
<author>
<firstname>Martin</firstname>
<surname>Wahlen</surname>
<othername>Viktor</othername>
<authorblurb>
<para>Styrelseledamot i SSLUG och studerande vid Lunds Universitet</para> 
</authorblurb>
</author>
<abstract>
<para>
Detta &auml;r en artikel som visar lite olika finesser i DocBook och i SGML.
</para>
</abstract>
</artheader>
<sect1>
<title>Ett logisktblock &auml;r rubriken</title>
<para>
F&ouml;r att skriva i DocBook beh&ouml;ver man en bra editor. T.ex. VIM (VI 
Improved). Andra alternativ &auml;r emacs med psgml, jed eller n&aring;gon 
av de kommerciella alternativen som FrameMaker+SGML.
</para>
<itemizedlist id="not-in-para">
<listitem><para>Detta är en lista</para></listitem>
<listitem><para>Här kan man ha saker</para></listitem>
<listitem><para>En listitem kan innehålla flera paragrafer</para>
<para>Som den här</para>
</listitem>
<listitem>
<orderedlist>
<listitem><para>Inne i Listan så kan man ha en lista till!<para></listitem>
</orderedlist>
</listitem>
</itemizedlist>
<para>
En lös paragraf kan följa efter listan. Och den kan ha en lista i sin tur
<itemizedlist id="in-para">

<listitem><para>
Litetext
</para></listitem>
</itemizedlist>
</para>
</sect1>
</article>


next up previous contents
Nästa: 9.4 Mer om SGML Upp: 9. Textbehandling med SGMLtools Förra: 9.2 Uppbyggnad av ett
Goran Andersson
1999-03-08