2.4. Opdeling af dokument

En bog inddeles i kapitelniveauer med <chapter>, og tilsvarende lavere niveauer <sect1>, <sect2>, og <sect3>. Opdelingen afspejler ikke nødvendigvis de filer man skriver. For hver ny inddeling skal man have et <title></title> til at anføre titel.

En artikel har samme inddelinger, pånær <chapter>, og første inddelingsniveau er <sect1>.

Hver af de tags kan tage en ID="label", som man kan bruge til at referere til.

Eksempel 2-12. Opdeling

<sect2 id="introduktion">
<title>Dette er en introduktion</title>
 <para>
  Tekst kommer her i en para-blok og bemærkede du at afsnittet har
  label "introduktion"?
 </para>
 <para>
  Havde det været en bog, skulle vi starte med chapter og sect1, men
  men det er jo et eksempel :-)
 </para>
 <para>
  Læs mit næste afsnit i <xref linkend="naeste-inddeling">.
 </para>

 <sect3 id="naeste-inddeling">
 <title>Dette er næste inddeling</title>
   <para>
    Her er et underafsnit. Du skal bemærke, at jeg ikke bruger æ, ø og
    å i labels. Det giver ellers problemer med HTML-filnavne.
   </para>
   <para>
   Bemærk at <command>&lt;!-- Dette er en kommentar --&gt;</command> kan 
   bruges til at angive en kommentar som ikke vises
   </para>
 </sect3>
</sect2> <!-- Denne afslutning skal man huske -->

Dette kommer til at se ud som:

2.4.1. Dette er en introduktion

Tekst kommer her i en para-blok og bemærkede du at afsnittet har label "introduktion"?

Havde det været en bog, skulle vi starte med chapter og sect1, men det er jo et eksempel :-)

Læs mit næste afsnit i Afsnit 2.4.1.1.

2.4.1.1. Dette er næste inddeling

Her er et underafsnit. Du skal bemærke, at jeg ikke bruger æ, ø og å i labels. Det giver ellers problemer med HTML-filnavne.

Bemærk at <!-- Dette er en kommentar --> kan bruges til at angive en kommentar som ikke vises

2.4.2. Start filen

Nu har vi set på inddelinger af dokumentet of hvordan man laver tabeller, figurer, viser kildekode og URL'er.

Lad os antage at man har lavet tre kapitler med hver deres <chapter id="label-for-kapitel">, som er gemt i tre filer introduktion.sgml, linux.sgml og konklusion.sgml. Her er så en opskrift på at lave hoved-filen som binder det hele sammen.

Forfattere angives i <AUTHORGROUP> og titler som tidligere vist i <title>.

<!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
 <!entity intro SYSTEM "introduktion.sgml"> <!-- Filnavn ej lig id -->
 <!entity Linux SYSTEM "linux.sgml"> <!-- Filnavn ej lig id -->
 <!entity konklusion SYSTEM "konklusion.sgml"> <!-- Filnavn her lig id -->
]>

<book id="index" lang="da">
<bookinfo>
 <title>Bog titel kommer her</title>
 <subtitle>Her er en undertitel</subtitle>

 <AUTHORGROUP>

 <AUTHOR>
   <FIRSTNAME>Peter</FIRSTNAME>
   <SURNAME>Toft</SURNAME>
 </AUTHOR>

 <AUTHOR>
   <FIRSTNAME>Hans</FIRSTNAME>
   <SURNAME>Schou</SURNAME>
 </AUTHOR>

 </AUTHORGROUP>
 <COPYRIGHT>
   <YEAR>1998, 1999, 2000</YEAR>
   <HOLDER>Peter Toft og mange andre under
   "OpenContent" licensen</HOLDER>
 </COPYRIGHT>

 <ABSTRACT>
  <PARA>
   Her skriver vi et kort abstract.
  </PARA>
 </ABSTRACT>
</bookinfo>

<!-- Følgende linie skaber automatisk en indholdsfortegnelse -->
<toc id="toc"></toc> 
&intro;
&Linux;
&konklusion;
</book>

I hovedet af filen erklærer hvilke eksterne filer, vil skal læse ind. Hver af disse får en label (intro, Linux og konklusion) som vi anvender til sidst i filen med et & foran. Der er her til sidst vi angiver den rækkefølge filerne indsættes i.

Bemærk at kommandoerne <toc></toc> bruges til at få genereret en indholdsfortegnelse. Dette kræver intet andet end den linie.

2.4.3. Entities

Vi har i Afsnit 2.4.2 allerede set ordet entity anvendt. Denne bruges til at definere enten en forkortelse eller at inkludere en anden fil. Vi så tidligere at tre filer blev defineret og her er vist samme definitioner samt at en forkortelse "pto" er sat til "Peter Toft".

 <!entity intro SYSTEM "introduktion.sgml"> <!-- Filnavn ej lig id -->
 <!entity Linux SYSTEM "linux.sgml"> <!-- Filnavn ej lig id -->
 <!entity konklusion SYSTEM "konklusion.sgml"> <!-- Filnavn her lig id -->
 <!entity pto "Peter Toft"> <!-- Filnavn ej lig id -->

Når man ønsker indholdet af introduktion.sgml, så skriver man blot &intro;, tilsvarende &Linux; og &konklusion;. Skal man bruge teksten "Peter Toft", så er det nemmere at bruge &pto;.