pdfczeModern publishing

Tvorba modern´ı publikace Jan Pavloviˇc ? [email protected] Abstrakt Tento pˇr´ıspˇevek ukazuje moˇznosti vyuˇzit´ı Do...

0 downloads 126 Views 177KB Size
Tvorba modern´ı publikace Jan Pavloviˇc ? [email protected]

Abstrakt Tento pˇr´ıspˇevek ukazuje moˇznosti vyuˇzit´ı DocBooku v elektronick´e publikaˇcn´ı tvorbˇe. Zejm´ena s d˚ urazem na t´ ymovou tvorbu publikac´ı a studijn´ıch materi´al˚ u. Kl´ıˇ cov´ a slova: DocBook, LATEX, publikace, XML, XSLT

1

Motivace

V n´asleduj´ıc´ım ˇcl´anku se zamˇeˇr´ıme na moˇznosti vyuˇzit´ı modern´ıch technik pro kolektivn´ı tvorbu publikac´ı v akademick´e sf´eˇre. Zejm´ena pro tvorbu publikac´ı na konference a tvorbu uˇcebn´ıch materi´alu. Na visu´aln´ı podobu publikac´ı se dnes klade ˇc´ım d´al t´ım vˇetˇs´ı d˚ uraz. Samotn´a tvorba materi´al˚ u je ˇcasovˇe i finanˇcnˇe velmi n´akladn´a. Proto je nutn´e cel´ y proces maxim´alnˇe zefektivnit. Toho lze doc´ılit pˇredevˇs´ım automatizac´ı vˇsech rutinn´ıch u ´kon˚ u a univerz´alnost´ı zdrojov´ ych k´od˚ u. Aby se daly materi´aly snadno upravovat a transformovat do r˚ uzn´ ych form´at˚ u.

2

ˇ anky na konference Cl´

Od publikac´ı na svˇetov´ ych konferenc´ı je vyˇzadov´ana samozˇrejmˇe odborn´a kvalita. Nicm´enˇe takˇrka kaˇzd´a konference dnes vyˇzaduje striktn´ı form´at publikace, bez jehoˇz nedodrˇzen´ı je publikace odm´ıtnuta. Poˇradatel´e konferenc´ı zveˇrejˇ nuj´ı i form´at nebo alespoˇ n specifikaci v jak´em m´a b´ yt pˇr´ıspˇevek odesl´an. To v praxi obvykle vyˇzaduje typografick´e vzdˇel´an´ı. I v pˇr´ıpadˇe, ˇze n´am typografie neˇcin´ı ˇz´adn´ y probl´em, jsme nuceni ˇcasto ps´at v jin´em form´atu dle konferenˇcn´ıch poˇzadavk˚ u. Ve v´ ysledku mus´ıme opakovanˇe vˇenovat sv˚ uj drahocenn´ y ˇcas fin´aln´ı u ´pravˇe publikace. Jelikoˇz se jedn´a o opakovanou ˇcinnost, nab´ız´ı se n´am moˇznost tento proces automatizovat. V ide´aln´ım pˇr´ıpadˇe bychom veˇsker´e ˇcl´anky psali v univerz´aln´ım form´atu, kter´ ych bychom automatizovanˇe transformovali podle specifick´ ych typografick´ ych poˇzadavk˚ u. T´ım by n´am odpadla nepˇr´ıjemn´a pr´ace, kterou obvykle prov´ad´ıme na posledn´ı chv´ıli pˇred odevzd´an´ım ˇcl´anku. Dramatiˇctˇejˇs´ı je ovˇsem situace v pˇr´ıpadˇe vˇetˇs´ıho poˇctu spoluautor˚ u. Jistˇe mi daj´ı za pravdu vˇsichni, kteˇr´ı si nˇekdy zkusili d´avat dohromady pˇr´ıspˇevek, kter´ y se skl´adal z nˇekolika ˇc´ast´ı od r˚ uzn´ ych lid´ı. Pracn´e pˇreform´atovan´ı vˇsech ˇc´ast´ı pˇr´ıspˇevku je vˇzdy ˇcasovˇe i psychicky n´aroˇcn´e. Jedin´e moˇzn´e ˇreˇsen´ı je stanovit pˇresn´ y form´at pˇr´ıspˇevku, kter´ y mus´ı vˇsichni spoluautoˇri dodrˇzet. Dlouh´a l´eta se pr´avˇe pro tyto u ´ˇcely pouˇz´ıv´a typografick´ y syst´em LATEX. Tento syst´em m´a ale nˇekter´e nev´ yhody, kter´e zp˚ usobuj´ı, ˇze jeho pouˇzit´ı upad´a na u ´kor jin´ ych zp˚ usob˚ u. ?

Fakulta informatiky Masarykova univerzita v Brnˇe, Botanick´a 68a, 602 00 Brno

Asi nejvˇetˇs´ı nev´ yhodou LATEXu je jeho sloˇzitost. I kdyˇz je LATEX br´an jako jist´ y univerzitn´ı publikaˇcn´ı standard, lid´ı kteˇr´ı s n´ım opravdu um´ı ub´ yv´a. Z tohoto d˚ uvodu nem˚ uˇzeme A v praxi nasadit L TEX jako spoleˇcn´ y form´at. WYSIWYG editory jsou naprosto nejhorˇs´ım ˇreˇsen´ı jak´e bychom mohli pouˇz´ıt. A to zejm´ena ze dvou d˚ uvod˚ u: 1) snaˇz´ı se v´am vnutit vlastn´ı inteligenci, kter´a se mnohdy neshoduje s vaˇsimi ideji. 2) i v tˇechto editorech je nutn´e striktn´ı pouˇz´ıv´an´ı styl˚ u, jinak se v´am v´ ysledek zmˇen´ı v plain text, kter´ y mus´ıte cel´ y ruˇcnˇe pˇreform´atovat. Tyto neˇsvary se net´ ykaj´ı jen produktu MS Word, ale i jinak kvalitn´ıho oowriter ze softwarov´eho bal´ıku openoffice.org [7]

3

ˇ sen´ı Reˇ

Velice se n´am na Fakultˇe informatiky osvˇedˇcilo nasazen´ı DocBooku [13]. DocBook [2] je vyuˇz´ıv´am hlavnˇe pro tvorbu z´avˇereˇcn´ ych pr´ac´ı [12] a pro tvoru pˇredn´aˇsek [8]. V´ yhody pouˇzit´e technologie jsou nesporn´e. Student˚ um je k dispozici elektronick´ y materi´al, kter´ y m´a propracovanou a unifikovanou podobu. V posledn´ıch dobˇe jsme se rovnˇeˇz rozhodli nasadit DocBook i na tvorbu konferenˇcn´ıch publikac´ı. Tvorba v DocBooku je snadn´a a ˇz´adn´ y z u ´ˇcastnˇen´ ych s n´ı nemˇel vˇetˇs´ı probl´em. A Mnoˇzina moˇznost´ı je v DocBooku oproti L TEXu znaˇcn´e omezen´a. Autor nen´ı zatˇeˇzov´an typografick´ ymi u ´kony a m˚ uˇze se plnˇe soustˇredit na psan´ı textu. Ve v´ ysledku jsou jednotliv´e ˇc´asti od autoru sloˇzeny do jednoho celku pomoc´ı XInclude [11]. Pˇr´ıklad 1. Pouˇzit´ı XInclude ... ... V tomto kroku m´ame veˇsker´ y text pohromadˇe a ˇcek´a n´aˇs nejn´aroˇcnˇejˇs´ı f´aze cel´eho procesu. Tou je vytvoˇren´ı transformaˇcn´ı XSL ˇsablony, kter´a n´am zdrojov´e XML transformuje do poˇzadovan´eho LATEXov´e k´odu, obsahuj´ı i poˇzadovanou ˇsablonu. Naˇstˇest´ı tento krok staˇc´ı udˇelat jen jednou. Po t´e uˇz m´ame vystar´ano a krom pˇr´ıpadn´ ych oprav se nemus´ı do stylu zasahovat. Styl mohou pak vyuˇz´ıvat vˇsichni, aniˇz by rozumˇeli jazyku XSLT. Jelikoˇz bude cel´ y proces automatizovan´ y, nemus´ı autoˇri pˇr´ıliˇs rozumˇet ˇz´adn´e z transformaˇcn´ıch f´az´ı. Napsat ˇsablony pro kompletn´ı transformaci z DocBooku do LATEXu nen´ı zcela trivi´aln´ı vˇec. Naˇstˇest´ı jiˇz takov´eto styly existuj´ı [1]. Tyto transformaˇcn´ı styly jsou velmi ˇsk´alovateln´e a d´ıky mnoh´ ym vlastnostem XSLT je m˚ uˇzeme snadno a lehce uzp˚ usobit pro naˇse potˇreby. Na obr´azku 1vid´ıme, jak prob´ıh´a postupn´a u ´prava ˇsablon. Vych´az´ıme z origin´aln´ıch db2latex styl˚ u, na nˇe jsou aplikov´any opravy chyb, kter´e tyto styly obsahuj´ı. V dalˇs´ım kroku jsou vytvoˇreny definice ˇsablon mˇen´ıc´ı origin´aln´ı funkce tak, aby jsme ve v´ ysledku A dostali zdrojov´ y k´od v L TEXu. Tento k´od je jiˇz v poˇzadovan´em form´atu, ze kter´eho vytvoˇr´ıme v´ ysledn´ y dokument ve form´atu PDF. D´ıky moˇznosti pˇredefinovan´ı jednotliv´ ych ˇsablon v jazyce XSLT jsou u ´pravy jednoduch´e a efektivn´ı. Origin´aln´ı styly db2latex jsou velice modul´arn´ı. Nastaven´ım jednotliv´ ych parametr˚ u m˚ uˇzeme vypnout dodateˇcnou funkcionalitu stylu a z´ıskat tak struˇcn´ y

Obr´ azek 1: Inkluze XSLT ˇsablon

LATEXov´ y z´apis, kter´ y se daleko l´epe d´ale modifikuje. Tu funkcionalitu, kterou nelze vypnout pˇredefinujeme v naˇsich stylech viz. n´asleduj´ıc´ı pˇr´ıklad. Pˇr´ıklad 2. Redefinice ˇsablony \usepackage{graphicx, url} \usepackage[ ]{inputenc} Nyn´ı se pod´ıv´ame na samotn´ y transformaˇcn´ı proces zobrazen´ y na obr´azku 2. V prvn´ım kroku XML parser sloˇz´ı ˇcl´anek z jednotliv´ ych ˇc´ast´ı dohromady a provede kontrolu validity v´ ysledn´eho dokumentu podle DTD ˇci XSD gramatiky. N´asleduje transformace XML DocBook do LATEXu. Na ten jsou postupnˇe aplikov´any vˇsechny potˇrebn´e typografick´e u ´kony A vˇcetnˇe L TEXov´ ych styl˚ u napˇr. llnsc. Na konci toho procesu dost´av´ame ˇcl´anek ve form´atu PDF resp. PS. Cel´ y tento proces m˚ uˇzeme automatizovat pomoc´ı volnˇe dostupn´eho softwaru xslt2 [12].

Obr´ azek 2: Transformaˇcn´ı proces

4

Tvorba studijn´ıch materi´ al˚ u

Idea tvorby studijn´ıch materi´al˚ u je shodn´a s pˇredchoz´ı tvorbou ˇcl´ank˚ u. Nicm´enˇe je sv´ ym rozsahem daleko vˇetˇs´ı a proto je zde striktn´ı oddˇelen´ı visu´aln´ı str´anky od obsahu naprostou

nezbytnost´ı. Zdrojov´ y text budeme m´ıt opˇet ve form´atu XML DocBook, kter´ y jednoduˇse a efektivnˇe spoj´ıme pomoc´ı XInclude. D´ale bychom mohli jako v pˇredchoz´ım pˇr´ıpadˇe vyuˇz´ıt LATEX. Nicm´enˇe pokud chceme vytvoˇrit visu´alnˇe poutav´ y v´ ysledek a naˇse znalosti LATEXu nejsou na dostateˇcn´e u ´rovni, m˚ uˇzeme zvolit transformaci pˇres form´atovac´ı objekty [3]. T´ımto se veˇsker´e u ´kony pˇresunout do XML svˇeta a LATEX m˚ uˇzeme z cel´eho procesu naprosto vypustit. Pro vytv´aˇren´ı FO z DocBooku opˇet jiˇz existuj´ı transformaˇcn´ı styly [9]. Abychom z FO vygenerovali PDF, potˇrebujeme FO procesor. V souˇcasn´e dobˇe existuj´ı dva takov´eto n´astroje. Open source projekt FOP [4], kter´ y ale neimplementuje celou mnoˇzinu FO a velice kvalitn´ı komerˇcn´ı n´astroj XEP [10]. Spoleˇcnost RenderX poskytuje pro akademickou sf´eru licenci zdarma. Stejnˇe jako tomu bylo u styl˚ u pro LATEX viz obr´azek 1 provedeme u ´pravu transformaˇcn´ıch styl˚ u, abychom dos´ahli k´ yˇzen´e grafick´e u ´pravy v´ ysledn´ ych uˇcebn´ıch materi´al˚ u. Pokud hodl´ame pouˇz´ıt v matematick´ y z´apis, mus´ıme se pˇreci jenom na skok vr´atit A k L TEXu. Aˇc je jiˇz specifikace MathML [5] na svˇetˇe jiˇz pomˇernˇe dlouho, neexistuje dnes uspokojiv´ y zp˚ usob jak MathML notaci vyuˇz´ıt. Ukazuje se, ˇze nejlepˇs´ı zp˚ usob je ponechat z´apis matematiky v TEXov´e syntaxi. Pˇr´ıklad 3. Pouˇzit´ı matematiky f\left({SUM} \right) = \frac{1}{{1 + e^{ - SUM}}} TEXov´ y z´apis matematiky se pˇreloˇz´ı TEXem a v´ ysledek se jako obr´azek vloˇz´ı do textu. Tento zp˚ usob m´a tu v´ yhodu, ˇze lze takto vytvoˇrit i HTML verzi uˇcebn´ıch materi´al˚ u, kter´a je vhodnˇejˇs´ı pro on-line studium ˇci import do LMS syst´emu. Pokud neovl´ad´ame TEXovou syntaxi matematiky m˚ uˇzeme vyuˇz´ıt softwaru MathType [6], kter´ y pˇri zkop´ırov´an´ı vzorce do schr´anky jej s´am pˇrevede do TEXov´e syntaxe.

Literatura 1. Casellas, R., Devenish, J.: DocBook to LATEX XSL Transformation Stylesheets, http:// db2latex.sourceforge.net/ . 2. Walsh, N.: DocBook Project, http://www.docbook.org/ . 3. W3 Consorcium, Formating Objects (FO), http://www.w3.org/TR/fo/ . 4. Apache Foundation, FOP, http://xml.apache.org/fop/ . 5. W3 Consorcium, MathML, http://www.w3.org/1998/Math/MathML/ . 6. Design Sciencem, Inc., MathType, http://www.dessci.com/ . 7. Open Office Team, OpenOffice.org Suite, http://www.openoffice.org/ . ˇ 8. Pavloviˇc, J., Pitner, T.: e-learning a DocBook, Technologie pro e-vzdˇel´av´an´ı. Praha: CVUT FEL, 2003. od s. 30-40, 79 s., 80-01-02761-9. 9. Walsh, N.: DocBook Open Repository Project, http://docbook.sourceforge.net/ . 10. RenderX, Inc., XEP, http://www.renderx.com/ . 11. W3 Consorcium, XML Inclusion Proposal, http://www.w3.org/TR/xinclude/ . 12. Pavloviˇc, J.: Fakulta informatiky Masarykova univerzita v Brnˇe, xslt2, http://www.fi. muni.cz/~xpavlov/xml/ . 13. Pavloviˇc, J., Pitner, T.: DocBook a jeho vyuˇzit´ı, zpravodaj UVT MU, 2004, http://www. ics.muni.cz/bulletin/issues/vol14num05/ .