E-kursu materiālu veidošanas un uzturēšanas metodes

E-kursu materiālu veidošanas un uzturēšanas metodes

Arnis Voitkāns

04.05.2010.

Anotācija

Izstrādājot e-kursus, parasti kursa materiālus nepietiek izveidot tikai vienā formā, jo neviens materiālu formāts nav vispiemērotākais visiem e-studiju pielietojumiem. Bieži e-kursa materiāli tiek izveidoti vairākās formās — parasti tie ir doc, html un pdf faili. Tomēr materiālus vairākās formās ir sarežģīti uzturēt, jo, veicot labojumus vienā dokumentā, šie paši labojumi ir jāveic arī pārējos dokumentos. Vai arī laika gaitā ir jāatsakās no kādas no materiālu formas.

Paliek neatbildēts jautājums — kurš no failu formātiem tad ir piemērotākais e-kursu materiālu izstrādē? Kurā no formātiem ir vērts ieguldīt resursus — laiku un naudu, izstrādājot e-kursu materiālus?

Šajā rakstā ir apkopotas pārdomas par iespējām atvieglot materiālu vairākās formās izstrādi un, galvenais, uzturēšanu. Tiek sniegtas e-kursa materiālu avota failu formāta vispārīgās īpašības, kā arī analizēti LaTeX un DocBook formāti.

Saturs

  1. 1  Ievads
  2. 2  E-kursa materiālu avota failu formāta vispārīgās īpašības
  3. 3  Datubāžu izmantošana e-kursu materiālu izveidē
  4. 4  LaTeX kā avota dokumentu formāts
    1. 4.1  Īsumā par LaTeX
    2. 4.2  XeTeX un XeLaTeX
    3. 4.3  XeLaTeX dokumenta piemērs
    4. 4.4  LaTeX dokumentu pārveide citos formātos
    5. 4.5  Priekšrocības un trūkumi
  5. 5  DocBook kā avota dokumentu formāts
    1. 5.1  Kas ir DocBook
    2. 5.2  DocBook pielietojums e-mācībās
    3. 5.3  DocBook dokumentu procesēšanas shēma
      1. 5.3.1  DocBook rediģēšana
      2. 5.3.2  FO vai LaTeX?
        1. 5.3.2.1  FO metodes priekšrocības un trūkumi
        2. 5.3.2.2  LaTeX metodes priekšrocības un trūkumi
      3. 5.3.3  PDF un HTML dokumentu formatēšana
    4. 5.4  DocBook piemērs
    5. 5.5  Matemātika DocBook un LaTeX dokumentos
      1. 5.5.1  MathML izmantošanas piemērs
    6. 5.6  DocBook priekšrocības un trūkumi
  6. 6  Nobeigums
  7. Literatūra
  8. A pielikums:  DocBook fails
  9. B pielikums:  XSLT transformāciju fails
  10. C pielikums:  Generētais LaTeX fails

1  Ievads

Ļoti svarīga e-kursa sastāvdaļa ir kvalitatīvi e-kursa materiāli1. E-kursa izstrādes laikā materiālus vairākās formās ir iespējams izveidot bez īpašām problēmām. Piemēram, par pamatdokumentiem var izmantot Word dokumentus, no kuriem beigās iespējams izveidot PDF un HTML failus, kā arī nepieciešamības gadījumā prezentāciju dokumentus. Tomēr no Word vai OpenOffice dokumentiem izveidot kvalitatīvus HTML dokumentus2 var būt sarežģīti un darbietilpīgi. Jo materiālu avota Word dokumenti kļūst sarežģītāki, jo grūtāk izveidot HTML failus3. Konvertēt Word vai OpenOffice dokumentus uz PDF formātu ir salīdzinoši vienkārši.

Šādas materiālu veidošanas galvenais trūkums ir tāds, ka vēlāk materiālus ir arvien sarežģītāk uzturēt — ir sarežģīti veikt izmaiņas un nodrošināt, lai izmaiņas tiktu korekti veiktas visās materiālu formās. Parasti kļūdas ir jālabo visās trijās materiālu formās — sākumā Word vai OpenOffice dokumentos, tad no jauna ir jāģenerē atbilstošie PDF dokumenti, un šie paši labojumi ir jāveic arī HTML dokumentos (jo no jauna izveidot HTML dokumentus no Word dokumentu oriģināliem ir pārāk darbietilpīgi).

Lai saprastu, kā optimāli veidot e-kursu materiālus, sākumā noskaidrosim, kādām jābūt materiālu avota failu4 formāta vēlamajām īpašībām. Tad apskatīsim vairākus iespējamos avota failu formātus, un izanalizēsim to atbilstību vispārīgajām īpašībām. Galvenais uzdevums ir apskatīt tikai tādus avota failu formātus, kas sniedz iespēju izveidot materiālus vairākās formās, kuras pēc tam ir ērti atjaunot un uzturēt.

Šajā rakstā tiek apskatīti trīs veidi, kā organizēt e-kursa materiālu izstrādi:

  • Datubāzu izmantošana e-kursa materiālu glabāšanā;
  • LaTeX kā avota dokumentu formāts;
  • DocBook kā avota dokumentu formāts.


1 Ar kvalitatīviem materiāliem šeit tiek saprasti: 1) materiāli bez gramatiskām un saturiskām kļūdām, 2) aktuāli materiāli (tajos nav novecojušas informācijas), 3) materiāli ir ērti izmantojami tiešsaistē un ir pieejama kvalitatīva izdrukas versija. Lai to varētu nodrošināt, materiāliem ir jābūt pieejamiem gan HTML, gan arī PDF formātos.

2 Ar kvalitatīviem HTML dokumentiem šeit tiek saprasti dokumenti, kuri 1) nesatur liekus tagus, 2) kuriem ir optimāla iekšējā struktūra, 3) tiem ir mazs apjoms kilobaitos, līdz ar to tie ātrāk lejupielādējas, 4) dokumentiem ir laba pieejamība — tie ir korekti apskatāmi ar lielāku pārlūkprogrammu skaitu.

3 Grūtības ar Word vai OpenOffice dokumentu pārveidi citos formātos var būt saistītas arī ar to, ka Word vai OpenOffice dokumentu autori bieži formatē tikai dokumentu izskatu un neraksta tos strukturētā veidā. Protams, šos dokumentus ir iespējams rakstīt strukturētā veidā, tomēr tik un tā tos konvertēt par labiem HTML dokumentiem var būt sarežģīti, jo bieži konvertētais HTML kods vēl ir jāattīra no liekiem tagiem un tad papildus jāformatē.

4 Šeit un turpmāk tekstā ar avota failiem tiek saprasti e-kursa materiālu pamatdokumenti, no kuriem pēc tam tiek ģenerētas sekundārās materiālu formas — HTML un PDF dokumenti.

2  E-kursa materiālu avota failu formāta vispārīgās īpašības

Uzskaitīsim svarīgākās īpašības, kurām jāpiemīt e-kursa avota failu formātam. Īpašības ir apkopotas, balstoties uz autora daudzu gadu pieredzi, strādājot ar e-kursu materiāliem.

  • Vienā un tajā pašā dokumentā, nepārslēdzot kodējumus, ir jāvar rakstīt tekstu vairākās valodās.

    Tā ir obligāta prasība. Piemēram, pamatteksts latviešu valodā, citāti krievu vai citās valodās, literatūras sarakstā grāmatu nosaukumi krievu, vācu un c. valodās.

    Parasti tas nozīmē, ka dokumentu formātam iekšēji ir jāatbalsta UTF-8 (vai Unicode) kodējums;

  • Visas nacionālās rakstzīmes avota tekstā ir jāvar rakstīt no klaviatūras tieši (neizmantojot to kodus), lai būtu ērta teksta ievade un laba lasāmība;
  • Avota failu formātam ir jābūt pēc iespējas neatkarīgākam no datoru arhitektūrām un operētājsistēmām. Tādā veidā tiek nodrošināta avotu failu plaša pieejamība visdažādākajās datoru konfigurācijās.

    Jāpiezīmē, ka atklātā teksta faili1 UTF-8 kodējumā ideāli atbilst šim kritērijam;

  • Formātam ir jāatbalsta un jāveicina strukturētu dokumentu izstrāde;
  • Saturam ir jābūt nodalītam no pasniegšanas formas;
  • No avota dokumentiem ir jāspēj ērti ģenerēt gan HTML dokumentus UTF-8 kodējumā, gan arī drukāšanas materiālus PDF formātā;
  • Vēlams, lai būtu iespējams automātiski ģenerēt kvalitatīvus PDF dokumentus ar iekšējām saitēm un grāmatzīmēm (bookmarks).

1 angl. plaintext

3  Datubāžu izmantošana e-kursu materiālu izveidē

E-kursa materiālu glabāšani ir iespējams izmantot datubāzes. Kopumā šī tehnoloģija ir līdzīga metodēm, ko izmanto daudzās tīmekļa vietnēs.

Parasti šādās sistēmās ir divas galvenās komponentes — tīmekļa serveris un datubāze. Datubāzes galvenā funkcija ir e-kursu datu glabāšana, savukārt tīmekļa servera uzdevums ir atlasīt datus no datubāzes, tos apstrādāt un pasniegt lietotājam.

1. att. Principiālā shēma

Kā tīmekļa serveri var izmantot Apache 1. Apache tīmekļa serveris ir atklātā pirmkoda produkts, un tas ir ļoti populārs. Tomēr bez tīmekļa servera vēl ir nepieciešama tehnoloģija, kas veiktu datu atlasi no datubāzes un gatavotu dinamiskas lapas. Ļoti populāra un jaudīga bezmaksas tehnoloģija, kuru izmanto daudzu dinamisku tīmekļa lapu veidošanā, ir PHP2. Protams, tā nav vienīgā tehnoloģija, ir arī citas, piemēram, ASP vai JSP. Kā datubāzi var izmantot MySQL3 vai PostgreSQL4. Principiālā šādas konfigurācijas shēma parādīta 1. attēlā.

Priekšrocības:

  • Ir iespēja ģenerēt dinamiskus materiālus — kad lietotājs ver vaļā materiālus, pieprasītie dokumenti katru reizi tiek no jauna ģenerēti, izmantojot datus no datubāzes;
  • Šī metode ir samērā ātra — MySQL datubāze un PHP ir optimizēti darbam internetā. Kombinācijā ar kešošanas infrastruktūru tādi tīmekļa serveri var izturēt lielas darba slodzes. Tomēr jāpiebilst, ka e-mācību jomā materiālu ģenerācijas ātrumam nav izšķiroša nozīme, jo tie nav jāatjauno ļoti bieži. Kad materiālos ir veiktas izmaiņas, pietiek tos tad atjaunot;
  • PHP atļauj dinamiski ģenerēt PDF dokumentus un attēlus.

Trūkumi:

  • Ir nepieciešams serveris vai vairāki datubāzei un tīmekļa serverim;
  • Lai strādātu ar serveri, ir nepieciešams interneta pieslēgums. Var būt grūtības veidot materiālus, ja nav pieejams internets;
  • Serveris ir jāuztur. Ja serveris nedarbosies, lietotāji netiks klāt pie e-studiju materiāliem;
  • Kopumā, ja nepieciešams izstrādāt lietotāju saskarni datu ievadei, šīs metodes realizācija ir sarežģītāka par pārējām zemāk aprakstīajām metodēm.

Tomēr mūsdienās internetā ir pieejamas daudzas jau gatavas sistēmas, arī atklātā pirmkoda, kuras var izmantot, lai izstrādātu un glabātu materiālus tīmeklī. Tās ir satura pārvaldības sistēmas (piemēram, Typo35, Joomla6, Drupal7), blogu sistēmas (piemēram, WordPress8), viki sistēmas (piemēram, MediaWiki9) un e-izglītības vides (Latvijā universitāšu vidē vispopulārākā ir Moodle10). Gatavo sistēmu izmantošana ievērojami atvieglina un paātrina šīs metodes realizāciju. Tomēr minētās sistēmas ir vairāk paredzētas tīmekļa dokumentu (lapu) izstrādei, glabāšanai un uzturēšanai, un mazāk tipogrāfiskas kvalitātes drukas materiālu izveidei.

Zemāk aprakstītā LaTeX sistēma tiek izmantota kāreiz tipogrāfiskas kvalitātes drukas materiālu izveidei.

4  LaTeX kā avota dokumentu formāts

4.1  Īsumā par LaTeX

LaTeX ir dokumentu sagatavošanas sistēma, kas balstīta uz TeX [5].

TeX ir tipogrāfisko dokumentu salikšanas programma, kurai jau sākotnēji tika izvirzīti divi uzdevumi: [6]

  • Nodrošināt katram iespēju veidot augstas kvalitātes publikācijas un grāmatas, pieliekot saprātīgu piepūļu daudzumu;
  • Sniegt sistēmu, kas nodrošinātu identiskus rezultātus uz visiem datoriem, tagad un nākotnē.

TeX ir uzrakstījis prof. Donalds Knuts (grāmatas “The art of computer programming” autors1). Tā kā prof. Knuts nebija apmierināts ar savas grāmatas izskatu, viņš 1970'to gadu beigās uzsāka rakstīt TeX. Lai gan prof. Knuts bija ieplānojis, ka TeX izstrāde viņam prasīs 6 mēnešus, viņam bija nepieciešami gandrīz 10 gadi, lai programmu pabeigtu [9].

Darbošanās ar TeX atgādina programmēšanu. Būtībā TeX arī ir programmēšanas valoda, kas orientēta uz tipogrāfisko salikšanu. Ir iespējams deklarēt savas teksta noformēšanas komandas un makrosus. Tomēr darbošanās ar TeX sistēmu nepasatarpināti nav pārāk ērta. Šī iemesla dēļ, lai atvieglotu un automatizētu dokumentu sagatavošanu, tika izstrādāts LaTeX. Jāpiebilst, ka šobrīd pasaulē LaTeX ir kļuvis par dominējošo veidu, kā strādāt ar TeX tipogrāfisko programmu.

LaTeX automatizē lielāko daļu no dokumentu sagatavošanas darbībām, piemēram, numerācijas, atsauču, satura rādītāja un indeksu izveidi. Tā pamatā ir ideja, ka autoriem būtu jākoncentrējas uz dokumentu loģiskās struktūtas un satura izstrādi, nevis jāvelta savs laiks formatēšanai. Rakstot LaTeX dokumentus, ir iespējams nodalīt saturu no formas. Šī iemesla dēļ LaTeX bieži tiek uzskatīts par pārāku par parastajiem teksta procesoriem, kuri parasti sasaista saturu un formu tik cieši, ka šādus dokumentus vēlāk ir grūti transformēt un nodrošināt to saskanīgumu [5].

LaTeX dokumentus ir iespējams samērā vienkārši pielāgot. Ja nepieciešams, var pārdefinēt LaTeX komandas, lai iegūtu tieši tādu dokumenta izskatu, kādu autors vēlas. Ir iespējams arī izstrādāt savus dokumentu stilus. Pie tam, tā kā LaTeX dokumentu saturs ir nodalīts no formas, lai būtiski izmainītu dokumenta noformējumu, nav nepieciešams mainīt saturu.

Jāpiebilst, ka jau no pašiem pirmsākumiem TeX tika orientēts uz dokumentiem ar sarežģītu matemātiku. Tādēļ LaTeX dokumentu sagatavošanas sistēma, jo tā ir balstīta uz TeX, sniedz ārkārtīgi labu atbalstu matemātikas dokumentu rakstīšanai. Vēl joprojām daudzi matemātikas un fizikas žurnāli pieņem publikācijas LaTeX formātā, un daudzi matemātiķi neredz alternatīvu LaTeX, ja ir runa par matemātikas publikāciju un žurnālu izdošanu.

4.2  XeTeX un XeLaTeX

Sakarā ar to, ka TeX ir izstādāts pagājušajā gadsimta 70-tajos un 80-tajos gados, kad vēl nebija pazīstams UTF-8 kodējums2, tradicionālajām TeX un LaTeX sistēmām ir vairāki ļoti būtiski trūkumi:

  • Standarta LaTeX sistēmās iekšēji tiek izmantoti 8-bitu fonti — tas nozīmē, ka fontā nevar būt vairāk par 256 rakstzīmēm. Šis ir ļoti būtisks ierobežojums, jo tādā gadījumā ar vienu LaTeX fontu vienā kodējumā vienlaicīgi nevar attēlot daudzu valodu rakstzīmes. Tas arī nozīmē, ka LaTeX tiešā veidā neprot strādāt ar Unikoda fontiem.

    Tomēr arī standarta LaTeX sistēmās šo ierobežojumu ir iespējams apiet, izmantojot avota dokumenta kodējumu (inputencoding) UTF-8, un dokumentā pārslēdzot fonta kodējumu (fontencoding) uz vajadzīgo LaTeX 8-bitu kodējumu. Šādā veidā vienā dokumentā ir iespējams rakstīt gan latviešu, gan arī krievu valodās, tomēr šis paņēmiens kopumā ir samērā neērts un ne vienmēr dod labu rezultātu.

  • Latviešu valodai LaTeX'ā nebija publiski pieejamu TrueType fontu, kas spētu strādāt ar tradicionālo TeX dzinēju. Tomēr TrueType fontu atbalsts latviešu valodai standarta sistēmā ir iespējams, raksta autoram to izdevās panākt. Autoram izdevās pielāgot esošos TrueType fontus (piemēram, Palatino Linotype, Times New Roman, Arial u.c.), lai tos varētu izmantot LaTeX dokumentos. Tomēr ne visus fontus, kurus raksta autors bija mēģinājis pielāgot, izdevās piemērot LaTeXam;
  • Nevienā standarta LaTeX instalācijā pēc noklusējuma nebija korekta latviešu valodas atbalsta. Latviešu valodas atbalsts bija jāliek lietotājiem pašiem. Arī pieejamais LaTeX'a latviešu valodas atbalsts bija nepilnīgs. Latviešu valodas atbalstam tradicionālajās LaTeX sistēmās ir veltīta Ivara Driķa interneta vietne [12], kurā ir LaTeX latviskošanas iespēju apraksts, kā arī ir iespējams lejupielādēt dažus ar latviskošanu saistītus failus.

    I.Driķa lapā ir latviešu failu atbalsts bija tijia CP1257 kodējuma failiem, kas ir 8-bitu kodējums un pilnīgi neder e-kursu avota materiālu formātam. Tomēr, kā jau tika minēts iepriekš, raksta autoram izdevās izveidot ierobežotu latviešu valodas UTF-8 atbalstu tradicionālajām LaTeX sistēmām.

Lai apietu būtiskos TeX sistēmas ierobežojumus, relatīvi nesen3 tika izveidots modificēts TeX dzinējs, kuru sauc par XeTeX (vai vienkāršā tekstā XeTeX). XeTeX ir TeX tipogrāfiskās salikšanas dzinējs, kas atbalsta Unikodu (Unicode) un modernas fontu tehnoloģijas, tādas kā OpenType vai AAT (Apple Advanced Typography). XeTeX var izmantot jebkādus fontus, kas ir instalēti datora operētājsistēmām, un var izmantot papildus fontu tipogrāfiskās iespējas. XeTeX darbojas gan Linux, gan Mac OS X, gan arī Windows vidēs. [8,7]

XeLaTeX atbalsta lielāko daļu no LaTeX rakstītajām makrosu pakotnēm. Lai nokompilētu LaTeX dokumentus ar XeTeX, ir jāizmanto komanda xelatex.

Modernā XeTeX sistēma novērsa praktiski visus trūkumus, kas ir minēti šajā nodaļā. Tāpēc novecojušos LaTeX latviešu valodas atbalsta failus var vairs nelietot, un turpmāk šajā rakstā tiks apskatīts tieši XeLaTeX lietojums, tā priekšrocības un trūkumi (kas ir arī LaTeX priekšrocības un trūkumi). Lietojot teminu LaTeX, ar to tiks saprasts LaTeX lietojums XeTeX sistēmā.

4.3  XeLaTeX dokumenta piemērs

Šeit ir redzams vienkāršs XeLaTeX dokumenta piemērs:

\documentclass[a4paper,11pt]{article}

% XeLaTeX atbalsts tiek pieslēgts ar šādām pakotnēm:
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra} %

% Valodu atbalsts
\usepackage{polyglossia}
\setdefaultlanguage{latvian}
\setotherlanguages{english,russian}

% Fonti -- var rakstīt sistēmas fontu nosaukumus
\setmainfont[Mapping=tex-text]{Times New Roman}
\setsansfont[Mapping=tex-text]{Arial}
\newfontfamily\russianfont{Times New Roman}

% ===========================================================================

\begin{document}

\title{Šis ir \XeLaTeX dokumenta piemērs}
\author{Autors}
\maketitle

\begin{abstract}
Šeit ir dokumenta anotācija... Anotācija    automātiski   tiek       noformēta
ar mazāku fonta izmēru.
\end{abstract}

\section{Pirmā tēma}

Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts
latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts latviešu
valodā... Šis ir teksts latviešu valodā...

Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts
latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts latviešu
valodā...

E=mc^2

-\frac{\partial^{2}\psi_{1}(x)}{\partial x^{2}}\cdot\frac{1}{\psi_{1}(x)}-
\frac{\partial^{2}\psi_{2}(y)}{\partial y^{2}}\cdot\frac{1}{\psi_{2}(y)}-
\frac{\partial^{2}\psi_{3}(z)}{\partial z^{2}}\cdot\frac{1}{\psi_{3}(z)}=k^{2}

\section{Otrā tēma}

Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts
latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts latviešu
valodā... Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis
ir teksts latviešu valodā... Šis ir teksts latviešu valodā...

\end{document}

1. rindā tiek pateikts, ka šis dokuments ir raksts (article), lapas izmērs ir A4, un fonta izmērs ir 11pt.

4.–6. rindās tiek pieslēgtas XeTeX nepieciešamās pakotnes. UTF-8 atbalsts šeit ir jau pēc noklusējuma.

9.–11. rindās tiek pieslēgtas pakotnes, kas paredzētas XeTeX valodu atbalstam. Kā noklusētā valoda tiek uzlikta latviešu, kā alternatīvās valodas tiek pieslēgtas angļu un krievu.

13.–16. rindas nav obligāti nepieciešamas. Šajās rindās tiek pateikts, kādus fontus lietot. Ja nekādi fonti norādīti netiek, tiek izmantoti noklusētie XeTeX fonti. Šajā piemērā ir ierakstīti plaši pazīstamie fonti “Times New Roman” un “Arial”.

Avota dokumenta failā starp vārdiem un teikumien var būt pēc patikas daudz atstarpju. LaTeX tās ignorē un atstāj tikai vienu (tas ir līdzīgi arī HTML kodam — pārlūkprogrammas ignorē liekās atstarpes). Jauna rindkopa tiek iesākta, ieliekot starp rindkopām vienu vai vairākas tukšas rindas.

Nodaļu un apakšnodaļu, tāpat arī tabulu un attēlu numerācija tiek veikta automātiski.

41. rindā un 43.–45. rindās ir uzrakstītas divas formulas.

Lai no LaTeX faila ģenerētu PDF dokumentu, izmantojot XeTeX, jālieto komandu xelatex. Šajā gadījumā tas izskatās tā:

> xelatex piemers.tex

Rezultējošais PDF dokuments redzams 2. attēlā.

2. att. Ģenerētais PDF dokuments

Lai tuvāk iepazītos ar LaTeX, var ieteikt grāmatas “A beginner's introduction to typesetting with LaTeX” [1] un “A (Not So) Short Introduction to LaTeX2e” [2]. Šīs grāmatas ir par LaTeX, bet tajās aprakstitās struktūras pamatā der arī XeLaTeX sistēmai.

4.4  LaTeX dokumentu pārveide citos formātos

LaTeX faili ir ideāli piemēroti dokumentu, kas paredzēti drukāšanai, izveidei. No LaTeX failiem ir iespējams viegli ģenerēt ļoti augstas kvalitātes PDF dokumentus, un, jāpiezīmē, ka LaTeX ir viena no retajām programmām, kas spēj ģenerēt dokumentus drukāšanai no avota dokumentiem atklātā teksta formātā. Tomēr paliek neatbildēts jautājums — kā var konvertēt LaTeX dokumentus uz citiem formātiem, piemēram, HTML.

Tā kā LaTeX dokumenti ir atklātā teksta faili, tad tos būtu jāvar samērā viegli konvertēt uz citiem formātiem. Tomēr tas ne vienmēr ir tā. Vienkāršus LaTeX dokumentus konvertēt uz citiem formātiem ir viegli, bet problēmas sākas tad, kad LaTeX dokumenti kļūst sarežģītāki. Izrādās, ka sarežģitus LaTeX dokumentus korekti spēj apstrādāt tikai pats LaTeX (vai XeTeX). LaTeX dokumentu autoriem ir iespējams pārdefinēt LaTeX komandas, veidot sarežģītus, savām vajadzībām pielāgotus, stilus. Konvertācijas programmas ar tādiem dokumentiem bieži nespēj tikt galā. Šī iemesla dēļ daudzi autori un izdevēji raksta paši savas konvertācijas programmas. Parasti tiek izmantotas skriptu valodas, piemēram, Perl. [1]

Eksistē arī gatavas LaTeX konvertācijas programmas. Var pieminēt divas plašāk pazīstamās — LaTeX2HTML [10] un TeX4ht [11]. TeX4ht prot konveretēt LaTeX dokumentus uz daudziem formātiem, tai skaitā HTML un XML. Jāpiezīmē, ka TeX4ht spēj konvertēt LaTeX matemātikas formulas uz MathML formātu. TeX4ht ir arī XeTeX atbalsts.

Diemžēl, raksta autoram bija grūtības izmantot TeX4ht gadījumos, kad LaTeX dokumenti ir UTF-8 kodējumā un satur latviešu zīmes.

4.5  Priekšrocības un trūkumi

Apkoposim LaTeX kā e-studiju materiālu avota dokumentu formāta priekšrocības un trūkumus.

Priekšrocības:

  • Pārnesamība. LaTeX dokumentus iespējams “kompilēt” daudzās operētājsistēmās — Windows, Linux, Mac OS X u.c.;
  • LaTeX ir pieejams bez maksas. Protams, pastāv arī maksas LaTeX distributīvi, bet standarta LaTeX sistēmas ir brīvi pieejamas;
  • LaTeX dokumenti ir atklātā teksta faili, tādēļ tos iespējams rediģēt ar jebkuru teksta redaktoru. Protams, ir ieteicams izmantot specializētus redaktorus;
  • No LaTeX dokumentiem ir iespējams iegūt tipogrāfiskas kvalitātes PostScript un PDF dokumentus. Ir iespējams automātiski ģenerēt PDF dokumentus ar iekšējām saitēm un grāmatzīmēm;
  • LaTeX'ā ir ļoti labs matemātikas atblasts, kas ļauj rakstīt dokumentus ar sarežģītu matemātiku;
  • LaTeX dokumentos ir iespējams nodalīt saturu no formas. Tādā veidā ir iespējams standartizēt dokumentu pasniegšanas stilus;
  • LaTeX dokumentus gandrīz nav iespējams rakstīt nestrukturētus (vismaz tas ir ļoti neērti);
  • LaTeX dokumenti tiek procesēti no komandrindas. Tas ļauj apstrādāt dokumentus ar skriptiem;
  • LaTeX ir atvērta un viegli paplašināma sistēma — var veidot savus fontu kodējumus, valodu atbalstus, komandas un c.;
  • Modernos TeX distributīvos ir iekļauta XeTeX sistēma, kura atbalsta LaTeX dokumentu rakstīšanu UTF-8 kodējumā, un kurai pēc noklusējuma ir korekts latviešu valodas atbalsts (to ir iespējams relatīvi vienkārši ieslēgt). Tomēr latviešu valodas atbalsts ir nepilnīgs.

Trūkumi:

  • Ir problēmas ar standarta rīkiem konvertēt LaTeX dokumentus, kuri ir UTF-8 kodējumā. Ar XeLaTeX parādīšanos, šajā aspektā ir vērojams progress;
  • Nepietiekami elastīgs tabulu atbalsts, kas rada grūtības dokumentu ar lielām un sarežģītām tabulām izveidē;
  • Bibliogrāfisko atsauču programmai BibTeX ir problēmas ar latviešu valodas atbalstu;
  • Nepilnīgs latviešu valodas atbalsts.

Noklusētā LaTeX sistēma neatbilst visām prasībām, kas ir formulētas 2. nodaļā. Taču, ja pieliek papildus piepūles (uzstāda un izmanto XeLaTeX sistēmu), LaTeX ir iespējams pielāgot galvenajām avota failu formāta prasībām, un LaTeX var tikt izmantots kā e-studiju materiālu avota formāts. Tikai šajā gadījumā ir grūtības ģenerēt HTML failus.

Lai arī ir grūtības ar LaTeX dokumentu konvertāciju uz citiem formātiem, kas īpaši izpaužas tad, ja dokumenti ir latviešu valodā, LaTeX (vai, precīzāk, XeLaTeX) ir ļoti piemērots kvalitatīvu PDF dokumentu ģenerācijai. Tomēr lietderīgāk e-studiju materiālu avota dokumentus turēt kādā neitrālā formātā, piemēram, uz XML bāzētos dokumentos, un tad no šiem avota dokumentiem ģenerēt LaTeX failus un pēc tam PDF dokumentus. Ja tiek izmantoti XML faili, tas paver vēl papildus iespējas. Sīkāk tas tiek apskatīts nodaļā par DocBook (skat. 5. nodaļu).


1 http://www-cs-faculty.stanford.edu/~knuth/taocp.html

2 UTF-8 kodējums oficiāli tika prezentēts tikai 1993. gadā. [4]

3 Pirmā publiski pieejamā XeTeX versija tika izlaista 2004. gadā un tikai Mac OS X operētājsistēmai. Pirmā XeTeX versija ar pilnu latviešu valodas atbalstu (versija 0.999.6), kas tika iekļauta TeX Live 2008 distributīvā, tika izlaista tikai 2008. gada septembrī.

5  DocBook kā avota dokumentu formāts

5.1  Kas ir DocBook

DocBook ir XML/SGML valodas paveids, kas domāts rakstu un grāmatu rakstīšanai. Precīzāk sakot, DocBook ir XML vai SGML DTD1, kuru uztur OASIS2 DocBook Tehniskā komisija. OASIS uztur abas — SGML un XML — DocBook versijas.

DocBook ir apjomīgs un robusts DTD, un tas var tikt izmantots visdažādāko grāmatu un publikāciju, ne tikai datorliteratūras (kam tas sākotnēji bija paredzēts) rakstīšanā. DocBook lietotāju skaits pasaulē arvien pieaug. Daudzas organizācijas pasaulē izmanto DocBook, rakstot miljoniem dokumentācijas lappušu. [13,14]

Tā kā DocBook ir XML paveids, tas ir ļoti piemērots strukturētu dokumentu rakstīšanai. Vēl vairāk, tas ir orientēts tieši uz dokumenta satura un loģiskās struktūras izveidi, un minimāli vai nemaz uz konkrētām prezentācijas formām. DocBook formātā saturs ir vēl vairāk nodalīts no formas kā LaTeX dokumentos. Saturs iegūst formu tikai tad, kad tas ar XSLT3 transformāciju palīdzību tiek konvertēts uz citiem formātiem. Jāpiezīmē, ka vienu un to pašu DocBook avota dokumentu var transformēt ar dažādām XSLT transformācijām un iegūt dažādus gala formātus, piemēram, HTML, FO4 un LaTeX dokumentus.

DocBook jau sen plaši izmanto atklātā pirmkoda pasaulē. Daudzu atklātā pirmkoda produktu dokumentācijas tiek rakstītas un uzturētas DocBook formātā, un tālāk tiek konvertētas dažādos citos formātos. Kā DocBook lietotājus var minēt vairākus linux distributīvus, piemēram, openSUSE5, kā arī daudzus citus projektus, piemēram, KDE6.

5.2  DocBook pielietojums e-mācībās

XML formātu izmantošana (tai skaitā DocBook) parādās arī e-mācību jomā. Var minēt dažus piemērus:

  • ADRIAN sistēmā [17] kā avota dokumenti tiek izmantoti XML faili ar pašu izstrādātu DTD. Sistēma no XML dokumentiem var ģenerēt trīs veida materiālus:
    1. Lekciju materiālus (lekciju piezīmes, laboratorijas darbu aprakstus, uzdevumu lapas un c.)
    2. Testus un eksāmenus
    3. Prezentācijas.
  • Mollojs no Dublinas Pilsētas Universitātes7 Īrijā ir izveidojis objektorientētās programmēšanas kursu, izmantojot DocBook kā avota dokumentu formātu [18]. Izstrādātā sistēma ļauj konvertēt avota dokumentus uz PDF un HTML formātiem. Sistēma dinamiski aizsargā PDF dokumentus, tiem pievienojot studentu personīgo identifikācijas informāciju, un kriptējot tos.

5.3  DocBook dokumentu procesēšanas shēma

Kā jau tika minēts iepriekš, DocBook formāts ļauj gandrīz pilnīgi nodalīt saturu no formas. Tas nozīmē, ka pašā DocBook dokumentā ir minimāla formatēšanas informācija, bet ir ļoti precīza struktūra.

DocBook dokumenti iegūst formu tikai tad, kad tos transformē uz citiem formātiem. Ja jāiegūst PDF, tad DocBook dokuments vispirms jākonvertē uz formatēšanas objektiem FO vai LaTeX, un pēc tam FO vai LaTeX dokumenti jāpārveido uz PDF. DocBook dokumentus uz HTML formātu var konvertēt tieši. Šīs konversijas ir iespējams automatizēt.

Līdzīgi kā ar citiem XML failiem, DocBook transformācijas tiek veiktas ar speciālu transformācijas failu, XSLT8, palīdzību. XSLT failos tiek aprakstīts, kādā veidā transformēt un formatēt katru DocBook dokumenta elementu. No viena un tā paša avota dokumenta, pielietojot dažādas transformācijas, ir iespējams iegūt dažādus gala dokumentus.

3. att. DocBook procesēšanas shēma [20]

Īsumā DocBook dokumenta izveides ceļš ir šāds:

  1. DocBook rediģēšana (parasti ar XML redaktoru). XML redaktoros bieži izmanto iebūvēto XML pārbaudītāju (validātoru), kas pārbauda dokumenta struktūras atbilstību DocBook DTD (skat. 5.3.1. apakšpunktu)
  2. Pārbaudītā DocBook dokumenta transformācija uz citiem formātiem, izmantojot XSLT transformācijas. HTML dokumenti tiek ģenerēti tieši, savukārt PDF dokumenti pastarpināti — sākumā teik veidoti formatēšanas objektu (FO) vai LaTeX faili, un tad tie tiek attiecīgi transformēti par PDF (skat. piemēru 5.4. apakšpunktā)

Gan DocBook DTD, gan arī XSLT transformācijas ir iespējams pielāgot. No DTD ir iespējams izņemt nevajadzīgos tagus, kā arī pievienot jaunus tagus un atribūtus.

5.3.1  DocBook rediģēšana

DocBook ir iespējams rediģēt vairākos veidos, un DocBook rediģēšanai pastāv daudzi redaktori, kas pieejami gan bez maksas, gan arī par maksu. Labam DocBook redaktoram ir jāspēj pārbaudīt dokumenta sintaksi tā rakstīšanas laikā, un tam ir jāprot strādāt ar pielāgoto DocBook DTD. [15]

Īsumā, DocBook redaktorus var iedalīt divās kategorijās:

  1. WYSIWYG9 tipa reaktori, kas atļauj rediģēt DocBook dokumentus vizuāli.

    Var nosaukt šādus WYSIWYG tipa redaktorus:

    • OpenOffice10 un AbiWord11. Abas tās ir bezmaksas ofisa aplikācijas, kas prot atvērt un saglabāt arī DocBook dokumentus. Tomēr šo programmu DocBook atbalsts nav pilnīgs;
    • oXygen12 — jaudīgs maksas XML redaktors, kas ļauj ģenerēt DocBook PDF un HTML;
    • Kā tipisku vizuālā redaktora piemēru var minēt XMLmind13. Programmas standarta versija nekomerciāliem nolūkiem ir pieejama par brīvu. Programmas ekrānkopija redzama 5. attēlā, 5. lappusē. No redaktora iespējams ģenrēt HTML, RTF, PDF dokumentus
    • Syntex Serna14 — jaudīgs WYSIWYG tipa DocBook redaktors

  2. XML koda redaktori, kas spēj dinamiski pārbaudīt dokumenta struktūras atbilstību DocBook DTD

    Var nosaukt šādus XML redaktorus:

    • jEdit15 — labs atklātā pirmkoda redaktors ar 7 gadu izstrādes vēsturi. Tam ir iespējams pieslēgt XML atbalstu.
    • Exchanger XML Editor16 — vēl viens jaudīgs maksas XML redaktors.

5.3.2  FO vai LaTeX?

3. attēlā ir parādīts, ka, lai iegūtu drukāšanas dokumentus, sākumā ir jāveic transformācija uz formatēšanas objektiem FO, un pēc tam, izmantojot kādu no FO renderēšanas dzinējiem, FO ir jātransformē uz PDF. Tomēr pastāv arī alternatīvs varinats — FO vietā izmantot LaTeX. Katrai metodei ir savas priekšrocības un trūkumi.

Atklātā pirmkoda pasaulē DocBook procesēšanā bieži lieto LaTeX. DocBook kovertēšanā tiek izmantots DBLaTeX rīks17 vai DB2LaTeX XSLT transformācijas18. Jāpiezīmē, ka raksta autoram neizdevās korekti izmantot minētās programmas ar LaTeX failiem latviešu valodā, tomēr pastāv varbūtība, ka šīs problēmas var atrisināt.

Apskatīsim sīkāk katru no metodēm.

5.3.2.1  FO metodes priekšrocības un trūkumi

Priekšrocības

  • Ir pieejamas gatavas XSLT transformācijas, kas transformē DocBook dokumentus uz HTML un FO19;
  • Eksistē vairāki ražošanas kvalitātes FO dzinēji: [16]
    • Antenna House XSL Formatter20 — šķiet, ka viens no jaudīgākajiem komerciālajiem FO dzinējiem. Spēj renderēt arī MathML formulas;
    • RenderX XEP21 — vēl viens ražošanas kvalitātes FO dzinējs. Ir pieejama arī bezmaksas versija privātai lietošanai.
  • Eksistē vairāki brīvi pieejami FO dzinēji, daži no tiem tiek attīstīti:
    • Apache FOP (Formatting Objects Processor)22 — iespējams nopietnākais no atklātā pirmkoda FO procesoriem, kas tiek attīstīts;
    • xmlroff XSL Formatter23 — nav līdz galam pabeigts, un izskatās, ka vairs netiek attīstīts.
  • Komerciālie FO dzinēji atbalsta Unicode fontus, MathML, SVG, nodrošina ražošanas kvalitāti

Trūkumi

  • FO tehnoloģija, salīdzinot ar LaTeX, ir jauna, un tās atklātā pirmkoda programmatūras atbalsts vēl nav pilnīgs;
  • Komerciālie FO procesori nodrošina ražošanas kvalitāti, bet ir ļoti dārgi — piemēram, Antenna House XSL Formatter servera versija maksā vairākus tūkstošus dolāru.

5.3.2.2  LaTeX metodes priekšrocības un trūkumi

Priekšrocības

  • LaTeX pastāv jau vairāk kā 20 gadus, un ir ļoti nobriedusi un noslīpēta sistēma
  • DocBook PDF veidošanā ir pieejamas visas LaTeX priekšrocības, kas aprakstītas 4.5. apakšpunktā
  • DocBook kombinācijā ar pašu rakstītām vai pielāgotām LaTeX transformācijām sniedz ļoti elastīgu PDF ģenerēšanas sistēmu (skat. 5.3.3. apakšpunktu)

Trūkumi

  • Tie paši trūkumi, kas aprakstīti 4.5. apakšpunktā;
  • Ir grūtības ģenerēt LaTeX tabulas, jo tās ir mazāk elastīgas, nekā DocBook. DocBook standarts ļauj veidot ļoti sarežģītas tabulas.

Grāmata “A beginner's introduction to typesetting with LaTeX” [1] tiek rakstīta un uzturēta DocBook formātā, un PDF formāts ģenerēts, izmantojot LaTeX.

Arī šis dokuments ir rakstīts DocBook formātā ar dažiem pielāgojumiem un autora rakstītām XSLT transformācijām uz LaTeX formātu. Raksta autors izmanto DocBook procesēšanas shēmu, kas parādīta 4. attēlā.

4. att. Vienkāršota DocBook procesēšanas shēma, izmantojot LaTeX

5.3.3  PDF un HTML dokumentu formatēšana

Veidojot HTML un PDF dokumentus, ir iespējams un vēlams tos formatēt divos līmeņos:

  1. līmenis ir formatēšanas pievienošana, veicot XSLT transformācijas uz HTML un LaTeX. Šī līmeņa ietvaros ir jātransformē dokumenta struktūra, kā arī jāpievieno obligāti nepieciešamais formatējums. Šeit būtu jāizvairās pievienot smalkāku formatējumu, piemēram, norādīt fontu;
  2. līmenis ir LaTeX un HTML stilu izmantošana. LaTeX un HTML stilu failos tiek līdz galam norādīts dokumenta noformējums, piemēram, pielāgota sarakstu parādīšana, norādīti fonti, koriģēti citi dokumentu elementi. LaTeX dokumentos, piemēram, var izmantot komandu \usepackage{mans_stils}, kur mans_stils atbilst stilu failam mans_stils.sty.

Abu šo formatējuma līmeņu vienlaicīga izmantošana sniedz ārkārtīgu elastību HTML un PDF dokumentu izveidē un noformēšanā. Tādā veidā kontrolēt PDF dokumentu formatējumu ir vēl ērtāk, nekā rakstot LaTeX dokumentus tieši. Tas ļauj ļoti efektīvi veidot un attīstīt dokumentu korporatīvo stilu, jo, mainot un pilnveidojot dokumentu formatējumu, DocBook avota dokumenti paliek neskarti, un saturs un forma var tikt pilnveidoti paralēli un neatkarīgi viens no otra.

5.4  DocBook piemērs

Lai varētu uzrakstīt un noprocesēt DocBook dokumentu, izmantojot LaTeX, ir nepieciešamas trīs programmas:

  1. DocBook redaktors (skat. 5.3.1.)
  2. XSLT procesors, piemēram, Saxon24 vai xsltproc25
  3. Strādājoša LaTeX tipogrāfiskā sistēma

Uzrakstīsim DocBook dokumentu, kas pēc struktūras atbilst 5. attēlā sniegtajam piemēram, izmantojot XMLmind redaktoru.

5. att. XMLmind WYSIWYG DocBook redaktora ekrānkopija

Saglabājot dokumentu, tiek izveidots DocBook fails (skat. A. pielikumu).

Tagad fails ir jāpārveido LaTeX formātā, un tam ir nepieciešams XSLT skripts.

XSLT skriptus rakstīt nav pārāk sarežģīti, tomēr tas ir jāapgūst. XSLT failā secīgi jāapraksta darbības, kas jāveic ar katru XML tagu. Šajā piemērā izmantotais XSLT fails redzams B. pielikumā.

Transformēsim dokumentu ar Saxon XSLT procesoru. Izpildām komandu:

> saxon -o docbook_piemers.tex docbook_piemers.docbook docbook_piemers.xsl

Pēc komandas izpildes tiek izvaidots fails docbook_piemers.tex (skat. C. pielikumu), kas tālāk jānokompilē ar komandu:

> pdflatex docbook_piemers.tex

6. att. Izveidotais DocBook piemēra PDF dokuments

Piemērā izveidotā dokumenta ekrānkopija redzama 6. attēlā.

5.5  Matemātika DocBook un LaTeX dokumentos

DocBook dokumentos var rakstīt matemātikas formulas LaTeX formātā, un, transformējot dokumentu uz PDF, LaTeX tās interpretē kā parasti.

Tomēr šī paņēmiena trūkums ir tāds, ka, transformējot DocBook uz citiem formātiem, formulas ir arī jātransformē, bet ar XSLT transformācijām LaTeX formulas transformēt nav iespējams (jo tas nav XML). Ir jāmeklē citas iespējas, kā transformēt LaTeX formulas. Jāpiezīmē, ka pastāv rīki, kas prot konvertēt LaTeX formulas uz MathML.

Tomēr daudz labāks variants ir materiālu avota dokumentos (DocBook) likt formulas MathML formātā.

MathML ir XML valoda, un tā ir W3C rekomendētā valoda matemātikas formulu rakstīšanai. MathML ir paredzēta, lai padarītu iespējamu matemātikas apmaiņu starp programmām, un lai sniegtu pamatus matemātikas ievietošanai tīmeklī.

MathML, salīdzinot ar LaTeX formulu pierakstu, ir jauns standarts — MathML 2.0 rekomendācijas iznāca 2001. gada sākumā. Šobrīd MathML atbalsta daudzi rīki. [21,22]

Formulas MathML formātā ar roku praktiski nav rediģējamas (vai arī to darīt ir ļoti neērti un nepārskatāmi), tādēļ rediģēšanai ir jāizmanto rīki. Ne visi no pieejamie rīkiem ir labi, bet daži no tiem ir ļoti noderīgi. Kā ļoti noderīgu MathML formulu rediģēšanas un publicēšanas rīku var minēt WebEQ [3].

MathML formulu priekšrocība ir tāda, ka tās var transformēt kopā ar DocBook dokumentiem. Ir pieejamas brīnišķīgas MathML uz LaTeX XSLT transformācijas [23]. Jāpiebilst, ka, ja PDF dokumentu veidošanā izmanto formatēšanas objektus (FO), ir FO procesori, kas spēj procesēt MathML tieši — piemeram, Antenna House XSL Formatter.

Ja tiek veidoti HTML dokumenti, formulas var netransformēt, jo pārlūkprogrammas spēj parādīt MathML formulas (uzreiz vai ar spraudņu palīdzību). Pastāv arī iespēja reprezentēt formulas kā attēlus, tomēr MathML izmantošana ir pats labākais veids, kā likt formulas tīmeklī, tam ir daudzas priekšrocības.

5.5.1  MathML izmantošanas piemērs

Izmantojot WebEQ redaktoru, iespējams uzrakstīt matemātikas formulu (7. att.), to nokopēt MathML formātā un ielīmēt DocBook dokumentā. Ja nepieciešams, ir iespējams no DocBook dokumenta nokopēt MathML formulu, ielīmēt to atpakaļ WebEQ redaktorā un vizuāli to rediģēt.

Nokopējam formulu no WebEQ redaktora un ielīmējam to DocBook dokumentā:

<mml:math>
  <mml:mrow>
    <mml:mrow>
      <mml:msqrt>
        <mml:mrow>
          <mml:msup>
            <mml:mrow>
              <mml:mi>x</mml:mi>
            </mml:mrow>
            <mml:mrow>
              <mml:mn>2</mml:mn>
            </mml:mrow>
          </mml:msup>
        </mml:mrow>
      </mml:msqrt>
    </mml:mrow>
    <mml:mo>=</mml:mo>
    <mml:mrow>
      <mml:mi>x</mml:mi>
    </mml:mrow>
  </mml:mrow>
</mml:math>

7. att. Formula WebEQ redaktorā

Transformējot DocBook dokumentu ar DocBook un MathML XSLT transformācijām, formula tiek konvertēta uz LaTeX formātu:

\sqrt{{x}^{2}}=x

Šāds ir gala rezultāts, kad LaTeX dokuments tiek noprocesēts: \sqrt{{x}^{2}}=x

Papildinot DocBook DTD ar papildus elementu <latexmath>, LaTeX formulas DocBook tekstā var ierakstit tieši:

<latexmath>\sqrt{{x}^{2}}=x</latexmath>

Rezultāts ir tieši tāds pats: <span class= \sqrt{{x}^{2}}=x " style="border:0px; vertical-align:middle;" />.

Kaut arī šajā piemērā tika parādīta vienkārša formula, līdzīgā veidā ir iespējams rediģēt un ievietot DocBook dokumentos arī ļoti komplicētas formulas.

5.6  DocBook priekšrocības un trūkumi

Apkoposim DocBook kā e-mācību materiālu avota failu formāta priekšrocības un trūkumus.

Priekšrocības:

  • DocBook ļauj pilnīgi nodalīt saturu no formas (vēl labāk kā LaTeX dokumentos), tādā veidā sniedzot iespēju standartizēt materiālu formatējumu.
  • DocBook ir pielāgojams formāts — ir iespējams definēt savus struktūras elementus, mainīt tagu atribūtus, vai izņemt ārā nevajadzīgos tagus
  • DocBook uztur UTF-8 kodējumu
  • No DocBook ir iespējams ģenerēt dokumentus daudzos formātos — HTML, PDF, PDB, PostScript
  • Ir daudz paņēmienu un rīku DocBook dokumentu rediģēšanai un transformēšanai — gan par maksu, gan arī brīvi pieejami
  • DocBook popularitāte pieaug, un ar laiku var parādīties vēl vairāk rīku darbam ar DocBook

Trūkumi:

  • Brīvi pieejamu DocBook WYSIWYG redaktoru ir samērā maz
  • Tā kā konvertāciju ir tikt daudz, nav viena pareizā transformāciju mehānisma. Tomēr ir iespējams izveidot vienotu sistēmu uzņēmumā vai iestādē
  • Izveidot strādājošu DocBook publicēšanas sistēmu var būt darbietilpīgi un laikietilpīgi [18]
  • DocBook var būt par sarežģītu, jo tajā ir ļoti daudz struktūras elementu. Tomēr, veidojot konkrētas DocBook implementācijas, ir iespējams izņemt nelietotos tagus un atribūtus
  • Sīkāk DocBook dokumentu procesēšanas priekšrocības un trūkumi ir aprakstīti 5.3.2. apakšnodaļā

DocBook formāts ļoti labi atbilst 2. nodaļā aprakstītajām e-kursa materiālu avota failu formāta vispārīgajām prasībām.


1 Angl. Document Type Definition

2 Organization for the Advancement of Structured Information Standards — internacionāls, bezpeļnas konsorcijs, kas nodarbojas ar e-biznesa standartu izstrādi, apvienošanu un adaptāciju; http://www.oasis-open.org/who/

3 Extensible Stylesheet Language Transformation — XML transformāciju fails

4 Formatting Objects — starpposms drukāto materiālu (PDF) izveidei. Ja tiek izmantoti FO, LaTeX nav nepieciešams, lai noģenerētu PDF dokumentus.

5 http://www.opensuse.org

6 KDE ir logu pārvaldnieks UNIX operētājsistēmās; http://www.kde.org

7 Dublin City University

8 http://www.w3.org/Style/XSL/

9 What You See Is What You Get — ko jūs redzat, to jūs arī iegūstat

10 http://www.openoffice.org/

11 http://www.abisource.com/

12 http://www.oxygenxml.com/

13 http://www.xmlmind.com/home.html

14 http://www.syntext.com/products/serna/index.htm

15 http://www.jedit.org/

16 http://www.exchangerxml.com/index.html

17 http://dblatex.sourceforge.net/

18 http://sourceforge.net/projects/db2latex

19 http://docbook.sourceforge.net/projects/xsl/

20 http://www.antennahouse.com/

21 http://www.renderx.com/

22 http://xmlgraphics.apache.org/fop/

23 http://xmlroff.sourceforge.net/

24 http://saxon.sourceforge.net/

25 http://xmlsoft.org/XSLT/

6  Nobeigums

Šajā pārskatā ir sīki apskatīti divi formāti, kuri varētu kalpot par e-mācību materiālu avota formātu — LaTeX un DocBook, kā arī pieminēta datubāzu izmantošanas iespējamība.

LaTeX var kalpot par avota formātu, tomēr ar to būtu saistītas vairākas grūtības, piemēram, LaTeX dokumentu konvertēšana uz citiem, ne PDF, formātiem.

Turpretīm DocBook formāts paver ļoti plašas iespējas dokumentu transformēšanā. Ir iespējams DocBook lietot kopā ar LaTeX, izmantojot visas labās LaTeX īpašības PDF dokumentu izveidē, kā arī saglabājot iespēju ērti ģenerēt HTML dokumentus. Bez LaTeX, DocBook procesēšanai pastāv arī citas, komerciālas tehnoloģijas.

Viennozīmīgi, DocBook formāts ir elastīgāks par LaTeX formātu, un kopumā piedāvā vairāk iespēju. Tas ir formāts, kurā var un vajag izstrādāt e-kursu materiālu oriģinālus, tādā veidā atvieglojot materiālu tālāku papildināšanu un uzturēšanu.

Literatūra

[1]  Flynn P. Formatting information. A beginner's introduction to typesetting with LaTeX. http://www.ctan.org/tex-archive/info/beginlatex/, pēdējais apmeklējums 16.12.2005..

[2]  Oetiker T., Partl H., Hyna I., Schlegl E. A (Not So) Short Introduction to LaTeX2e. http://www.ctan.org/info?id=lshort-english.

[3]  WebEQ. Interactive Math on the Web. Design Science, http://www.dessci.com/en/products/webeq/, pēdējais apmeklējums 16.12.2005..

[4]  UTF-8. Wikipedia, http://en.wikipedia.org/wiki/UTF-8.

[5]  LaTeX. Wikipedia, http://en.wikipedia.org/wiki/LaTeX.

[6]  TeX. Wikipedia, http://en.wikipedia.org/wiki/TeX.

[7]  XeTeX. Wikipedia, http://en.wikipedia.org/wiki/XeTeX.

[8]  The XeTeX typesetting system. NRSI: Computers & Writing Systems, http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=xetex.

[9]  Just What Is TeX?. TeX users group, http://www.tug.org/whatis.html.

[10]  . LaTeX2HTML, http://saftsack.fs.uni-bayreuth.de/~latex2ht/.

[11]  LaTeX and TeX for Hypertext. TeX4ht, http://www.cse.ohio-state.edu/~gurari/TeX4ht/.

[12]  Driķis I. LaTeX latviskošana. http://home.lanet.lv/~drikis/TeX/index.html.

[13]  What Is DocBook?. OASIS, http://www.oasis-open.org/committees/docbook/intro.shtml.

[14]  DocBook. DocBook Wiki, http://wiki.docbook.org/topic/DocBook.

[15]  DocBookAuthoringTools. DocBook Wiki, http://wiki.docbook.org/topic/DocBookAuthoringTools.

[16]  DocBook Publishing Tools. DocBook Wiki, http://wiki.docbook.org/topic/DocBookPublishingTools.

[17]  Librelotto G.R., Ramalho J.C., Henriques P.R. ADRIAN. E-learning Content Production (creating online exams). Universidade do Minho, Braga, Portugal, http://www.di.uminho.pt/~jcr/XML/publicacoes/artigos/2004/RLH04.pdf, 2004.

[18]  Molloy D. Single-Source Interactive and Printed Content Publishing Using the DocBok XML Standard. Dublin City University, http://www.eeng.dcu.ie/~molloyd/research/DMolloy_PublishingUsingDocBook.pdf.

[19]  Barahona J.G., Dimitrova V., Chaparro D., Tebb C., Mazza R. Producing educational resources int the “libre”way. The Edukalibre project. Edukalibre project, http://edukalibre.org/documentation/edukalibre_system.pdf.

[20]  Walsh N. DocBook Publishing Model. http://nwalsh.com/docbook/procdiagram/.

[21]  W3C Math Home. W3C, http://www.w3.org/Math/.

[22]  The W3C MathML software list. W3C, http://www.w3.org/Math/Software/.

[23]  Yaroshevich V. XSLT MathML Library. http://xsltml.sourceforge.net/.

Pielikumi

A pielikums

DocBook fails

docbook_piemers.docbook

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<article>
  <title>Šis ir DocBook dokumenta piemērs</title>

  <articleinfo>
    <author>
      <surname>Autors</surname>
    </author>
  </articleinfo>

  <abstract>
    <para>Šeit ir dokumenta anotācija... Anotācija automātiski tiek noformēta
    ar mazāku fonta izmēru.</para>
  </abstract>

  <section>
    <title>Pirmā tēma</title>

    <para>Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā...
    Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir
    teksts latviešu valodā... Šis ir teksts latviešu valodā...</para>

    <para>Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā...
    Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir
    teksts latviešu valodā...</para>
  </section>

  <section>
    <title>Otrā tēma</title>

    <para>Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā...
    Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir
    teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts
    latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts latviešu
    valodā...</para>
  </section>
</article>

B pielikums

XSLT transformāciju fails

docbook_piemers.xsl

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="text" encoding="utf-8"/>

<!-- ======================================================== -->
<!-- Dokumenta sākums -->
<xsl:template match="/">
	<xsl:apply-templates/>
</xsl:template>

<!-- Raksts -->
<xsl:template match="article">
	<xsl:text>\documentclass[a4paper,11pt]{article}&#x000A;</xsl:text>
	<xsl:text>\usepackage[utf8]{inputenc}&#x000A;</xsl:text>
	<xsl:text>\usepackage[LV]{fontenc}&#x000A;</xsl:text>
	<xsl:text>\usepackage[latvian]{babel}&#x000A;&#x000A;</xsl:text>

	<xsl:text>\begin{document}&#x000A;</xsl:text>
	<xsl:apply-templates/>
	<xsl:text>\end{document}&#x000A;</xsl:text>
</xsl:template>

<!-- ======================================================== -->
<!-- Virsraksts -->
<xsl:template match="article/title">
	<xsl:text>\title{</xsl:text>
	<xsl:apply-templates/>
	<xsl:text>}&#x000A;</xsl:text>
</xsl:template>

<xsl:template match="articleinfo">
	<xsl:apply-templates/>
	<xsl:text>\maketitle&#x000A;</xsl:text>
</xsl:template>

<xsl:template match="author">
	<xsl:text>\author{</xsl:text>
	<xsl:value-of select="firstname"/>
	<xsl:text> </xsl:text>
	<xsl:value-of select="surname"/>
	<xsl:text>}&#x000A;</xsl:text>
</xsl:template>

<!-- ======================================================== -->
<!-- Anotācija -->
<xsl:template match="abstract">
	<xsl:text>&#x000A;\begin{abstract}</xsl:text>
	<xsl:apply-templates/>
	<xsl:text>&#x000A;\end{abstract}&#x000A;</xsl:text>
</xsl:template>

<!-- ======================================================== -->
<!-- Nodaļas un paragrāfi -->
<xsl:template match="section">
	<xsl:text>&#x000A;</xsl:text>
	<xsl:apply-templates/>
	<xsl:text>&#x000A;</xsl:text>
</xsl:template>

<xsl:template match="section/title">
	<xsl:text>\section{</xsl:text>
	<xsl:apply-templates/>
	<xsl:text>}&#x000A;</xsl:text>
</xsl:template>

<xsl:template match="para">
	<xsl:text>&#x000A;</xsl:text>
	<xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>

C pielikums

Generētais LaTeX fails

docbook_piemers.tex

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[LV]{fontenc}
\usepackage[latvian]{babel}

\begin{document}
\title{Šis ir DocBook dokumenta piemērs}
\author{ Autors}
\maketitle

\begin{abstract}
Šeit ir dokumenta anotācija... Anotācija automātiski tiek noformēta
    ar mazāku fonta izmēru.
\end{abstract}

\section{Pirmā tēma}

Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā...
    Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir
    teksts latviešu valodā... Šis ir teksts latviešu valodā...
Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā...
    Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir
    teksts latviešu valodā...

\section{Otrā tēma}

Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā...
    Šis ir teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir
    teksts latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts
    latviešu valodā... Šis ir teksts latviešu valodā... Šis ir teksts latviešu
    valodā...
\end{document}
Last modified: Wednesday, 25 July 2012, 5:04 AM