ˇ A EFEKTIVNE ˇ PUBLIKACE V OPEN SOURCE KVALITNE RYBICˇKA, Jirˇ´ı, (CZ)
´ vod U Zpracova´nı´ textu˚ se dlouhodobeˇ jevı´ jako nejrozsˇ´ırˇeneˇjsˇ´ı u´loha zejme´na na osobnı´ch pocˇ´ıtacˇ´ıch. Prakticky ze dne na den byly opusˇteˇny tzv. „klasicke´“ technologie horke´ sazby z kovovy´ch pı´smen a nahrazeny pocˇ´ıtacˇovy´mi programy, ktere´ se snazˇ´ı s ru˚zny´m u´speˇchem prˇedstı´rat, zˇe umı´ vysa´zet dokument tak, jak to umeˇli profesiona´lnı´ sazecˇi v tiska´rneˇ. Sˇmahem byly vymeˇneˇny psacı´ stroje pouzˇ´ıvane´ vı´ce nezˇ sto let pro prˇ´ıpravu rukopisu˚ a dokumentu˚ mensˇ´ıho rozsahu a na´kladu za pocˇ´ıtacˇe pracujı´cı´ s knizˇnı´m pı´smem. Vsˇichni ale vı´me, zˇe samotny´ program nestacˇ´ı – je k tomu potrˇeba i kvalifikovany´ uzˇivatel. A zde nastal za´sadnı´ rozpor: na´stroj pro sazbu se dostal do rukou prakticky kazˇde´mu, kvalifikace vsˇak jen ma´lokomu. Masivneˇ se tedy vytva´rˇejı´ dokumenty, ktere´ nesplnˇujı´ za´kladnı´ krite´ria sazby, protozˇe v tom lepsˇ´ım prˇ´ıpadeˇ se pro jejich u´pravu pouzˇ´ıvajı´ pravidla pro psacı´ stroje, jejichzˇ obecna´ znalost a dostupnost je vysˇsˇ´ı nezˇ znalost a dostupnost pravidel sazby. Navı´c zde hraje roli i efektivnost prˇ´ıpravy: kdo by se „pa´ral“ s neˇjaky´mi specia´lnı´mi mezerami, pomlcˇkami, zarovna´va´nı´m a rozpalem? Prˇece „stacˇ´ı“ naha´zet jakkoliv text na stra´nky – a je to! Je jasne´, zˇe ti uzˇivatele´, ktery´m nenı´ vsˇechno jedno, se zamy´sˇlejı´, jak tuto masoveˇ pouzˇ´ıvanou aplikaci zvla´dnout co nejjednodusˇsˇ´ım a nejlevneˇjsˇ´ım zpu˚sobem. Teˇm je urcˇeno neˇkolik mysˇlenek tohoto cˇla´nku.
Kvalita Kvalitu mu˚zˇeme cha´pat jako mı´ru shody s vsˇeobecneˇ uzna´vany´mi pravidly a doporucˇenı´mi. Jedna´ se o shodu s typograficky´mi pravidly, pravidly pravopisu, normami a prˇ´ıpadny´mi
24
Konferencia OSSConf 2010
dalsˇ´ımi doporucˇenı´mi. Klı´cˇovy´m proble´mem v te´to souvislosti je, zda tvu˚rce dokumentu umı´ sve´ pozˇadavky formulovat v souladu s uvedeny´mi pravidly a doporucˇenı´mi. Vlastnosti pouzˇite´ho programove´ho syste´mu mohou v tomto smeˇru pomoci, ale i kla´st vy´znamne´ prˇeka´zˇky. Chceme-li vytvorˇit dokument kvalitneˇ a za´rovenˇ take´ efektivneˇ, mu˚zˇeme u kazˇde´ho uvazˇovane´ho programove´ho syste´mu sledovat uvedena´ krite´ria a snazˇit se dosa´hnout u kazˇde´ho z nich co nejprˇ´ızniveˇjsˇ´ıho stavu. Lze rˇ´ıci, zˇe kazˇdy´ syste´m vyzˇaduje poneˇkud jiny´ prˇ´ıstup a hodneˇ za´lezˇ´ı na uzˇivateli, co preferuje, co je schopen a ochoten do rˇesˇenı´ vlozˇit a jak je zainteresova´n na vy´sledku. Z pocˇa´tecˇnı´ho pohledu mozˇna´ vyply´va´, zˇe hlavnı´ cˇa´st kvalitativnı´ch parametru˚ dokumentu˚ je da´na prˇedevsˇ´ım typograficky´mi pravidly. Ne zˇe by naprˇ´ıklad pravidla pravopisu byla druhorˇada´, ale v dodrzˇova´nı´ pravopisu nejsou mezi programovy´mi syste´my prakticky zˇa´dne´ rozdı´ly, stejneˇ tak se jen nepatrneˇ podı´lı´ zvoleny´ program na dalsˇ´ıch kvalitativnı´ch na´rocı´ch, jako naprˇ´ıklad na zpu˚sobu za´pisu bibliograficky´ch citacı´ apod. Typografie je tedy z hlediska tvorby dokumentu˚ pomeˇrneˇ za´sadnı´ a tento fakt platı´ v dnesˇnı´ dobeˇ nesrovnatelneˇ vı´ce nezˇ naprˇ´ıklad prˇed 25 lety, protozˇe narozdı´l od minulosti dnes upravujı´ dokumenty lide´, kterˇ´ı neprosˇli zˇa´dnou typografickou pru˚pravou, prˇestozˇe disponujı´ dokonaly´mi prostrˇedky pro tvorbu dokumentu˚, o jaky´ch se drˇ´ıveˇjsˇ´ım u´pravcu˚m a typografu˚m ani nesnilo. Rˇesˇenı´ kvality je z velke´ veˇtsˇiny za´visle´ nejspı´sˇe na tom, kolik toho uzˇivatel o kvaliteˇ (zejme´na typograficke´) vı´ a do jake´ mı´ry je ochoten tato pravidla respektovat a ve svy´ch dokumentech take´ realizovat.
Efektivnost Efektivnost je spojena s neˇkolika aspekty. Co pravdeˇpodobneˇ vsˇichni chceme? • usˇetrˇit penı´ze, • usˇetrˇit cˇas, • zjednodusˇit pra´ci. Co je potrˇeba udeˇlat, abychom jednotlive´ cı´le splnili?
Usˇetrˇit penı´ze Pouzˇ´ıva´nı´ volneˇ dostupne´ho softwaru prima´rneˇ sˇetrˇ´ı penı´ze a je velmi du˚lezˇite´ v sektorech, kde nejsou obvykle k dispozici financˇnı´ prostrˇedky pro porˇizova´nı´ softwaru (naprˇ´ıklad ve sˇkolstvı´). Nejpouzˇ´ıvaneˇjsˇ´ı volneˇ dostupne´ programy pro zpracova´nı´ textu˚ bezesporu jsou OpenOffice Writer, TEX a jeho nadstavby, Scribus. Tyto programy se velmi lisˇ´ı svy´m zameˇrˇenı´m, pojetı´m a vsˇeobecnou znalostı´ mezi uzˇivateli.
Jiří Rybička: Publikace v Open source kvalitně a efektivně
25
Prˇi pouzˇ´ıva´nı´ volneˇ dostupny´ch programu˚ se setka´va´me veˇtsˇinou s intuitivneˇ cha´pany´mi krite´rii, ktera´ mu˚zˇeme shrnout do jedne´ veˇty: Uzˇivatel zvolı´ takovy´ program, v neˇmzˇ je schopen a ochoten pracovat (naprˇ´ıklad preferuje interaktivnı´ ovla´da´nı´). Obvykle prvnı´ program, se ktery´m se sezna´mı´, je ten, ve ktere´m pak pracuje sta´le a pouzˇ´ıva´ ho na vsˇechny aplikace.
Usˇetrˇit cˇas Cˇas je potrˇebne´ pocˇ´ıtat ve dvou rovina´ch: • cˇas potrˇebny´ k naucˇenı´ a ovla´dnutı´ dane´ho programove´ho syste´mu, • cˇas potrˇebny´ k realizaci urcˇite´ho dokumentu v dane´m syste´mu. Uvazˇujeme-li obeˇ cˇa´sti, je zrˇejme´, zˇe cˇasovy´ na´rok na ovla´dnutı´ syste´mu je investova´n jednora´zoveˇ, zatı´mco cˇas veˇnovany´ realizaci dokumentu˚ je nutne´ vynakla´dat opakovaneˇ. Optimalizace tedy mu˚zˇe spocˇ´ıvat v tom, zˇe ovla´dnutı´m veˇtsˇ´ıho pocˇtu funkcı´ nebo zmeˇnou prˇ´ıstupu k pra´ci na dokumentu lze usˇetrˇit opakovane´ cˇasove´ ztra´ty na jednotlivy´ch dokumentech. Uzˇivatele´ vsˇak obvykle nemajı´ dostatek trpeˇlivosti k tomu, aby se du˚kladneˇ sezna´mili s na´strojem, ktery´ pouzˇ´ıvajı´. Dalsˇ´ım negativnı´m aspektem jsou neusta´le´ zmeˇny verzı´ a uzˇivatelsky´ch rozhranı´ ru˚zny´ch produktu˚, ktere´ vedou k nutnosti zvy´sˇit a opakovaneˇ vynakla´dat cˇasovou investici veˇnovanou k ovla´dnutı´ syste´mu. Zde asi ani nerozhoduje, zda pracujeme se syste´mem volneˇ dostupny´m nebo komercˇnı´m, prˇ´ıstup uzˇivatelu˚ je velmi podobny´. Komercˇnı´ programy se vsˇak cˇasteˇji uchylujı´ ke zmeˇna´m uzˇivatelske´ho rozhranı´, protozˇe je to jeden z na´stroju˚ konkurencˇnı´ho boje a jeden z prostrˇedku˚ opakovane´ho zı´ska´va´nı´ licencˇnı´ch poplatku˚.
Zjednodusˇit pra´ci Efektivnost lze intuitivneˇ pochopit i tak, zˇe dosa´hneme pozˇadovane´ho cı´le pomocı´ mensˇ´ıho pocˇtu me´neˇ na´rocˇny´ch kroku˚. To souvisı´ jednak se schopnostı´ prˇene´st teˇzˇisˇteˇ pra´ce na pocˇ´ıtacˇ, jednak s optima´lneˇ zvolenou strategiı´ postupu cele´ho zpracova´nı´ dokumentu. V tomto bodeˇ je zcela zrˇejme´, zˇe proble´m spocˇ´ıva´ ve vybavenosti uzˇivatele vhodny´mi informacemi, znalostmi a dovednostmi. Teˇzˇko prˇesveˇdcˇ´ıte jake´hokoliv autora, zˇe ma´ ke zpracova´nı´ dokumentu pouzˇ´ıvat vlastnı´ forma´tovacı´ styly, kdyzˇ nevı´, co to je a jak se to pouzˇ´ıva´. Bohuzˇel veˇtsˇina prˇ´ırucˇek k programove´mu vybavenı´ nerˇesˇ´ı kvalitu a mozˇnosti pouzˇitı´ jednotlivy´ch na´stroju˚, protozˇe jen radı´, jak neˇco udeˇlat, ale neradı´, procˇ pra´veˇ tuto sluzˇbu zvolit. Stejneˇ nevy´hodne´ je pouzˇ´ıvat urcˇity´ programovy´ syste´m pro tvorbu dokumentu, ktery´ se svy´m charakterem vymyka´ cele´mu zameˇrˇenı´ programu a klade na uzˇivatele neprˇimeˇrˇene´ na´roky prˇi prˇ´ıpraveˇ. Bez schopnosti pracovat ve vı´ce ru˚zny´ch syste´mech vsˇak tento uzˇivatel nema´ jinou volbu a cˇasto ani netusˇ´ı, kde deˇla´ za´sadnı´ chybu.
26
Konferencia OSSConf 2010
Dokumenty v syste´mu LATEX kvalitneˇ a efektivneˇ Uvedli jsme obecneˇ neˇkolik aspektu˚ kvality a efektivnosti, soustrˇed’me se nynı´ na konkre´tnı´ rˇesˇenı´. Takovy´ rozbor bychom mohli (a take´ meˇli) udeˇlat pro jaky´koliv syste´m, ktery´ pro zpracova´nı´ textu˚ pouzˇ´ıva´me nebo ma´me v u´myslu pouzˇ´ıt. Z toho pak vyplyne jedna velmi du˚lezˇita´ informace – pro jaky´ druh dokumentu˚ je dany´ syste´m optima´lnı´, jaky´ch jeho vlastnostı´ si ma´me vsˇ´ımat a kde lze spatrˇit nejefektivneˇjsˇ´ı na´stroje pro zpracova´nı´ dokumentu. Cely´ postup budeme ilustrovat na syste´mu TEX, prˇesneˇji rˇecˇeno na jeho nadstavbeˇ LATEX. V tomto mı´steˇ nema´me dost prostoru na podrobne´ sezna´menı´ (potrˇebne´ informace lze nale´zt v cˇetne´ literaturˇe), budeme se proto zaby´vat spı´sˇe obecneˇjsˇ´ımi vlastnostmi.
Kvalita dokumentu˚ a jejı´ dosazˇenı´ O typograficky´ch pravidlech bychom mohli pojedna´vat na stovka´ch stra´nek a o nejru˚zneˇjsˇ´ıch prvcı´ch vcˇetneˇ jejich mozˇne´ realizace v pocˇ´ıtacˇi byla publikova´na rˇada knih a neprˇeberne´ mnozˇstvı´ elektronicky´ch dokumentu˚. Zameˇrˇ´ıme se tedy pouze na neˇktere´ prvky, jejichzˇ rˇesˇenı´ je typicke´ pro syste´m LATEX. Pı´sma a specia´lnı´ znaky, odstavcova´ sazba Kvalitnı´ dokument vysa´zeny´ knizˇnı´m pı´smem splnˇuje nejna´rocˇneˇjsˇ´ı krite´ria cˇitelnosti. Ta je podmı´neˇna preciznı´ sazbou, tedy rovnomeˇrny´m rozmı´steˇnı´m sveˇtla mezi znaky ve slovech, mezi slovy v rˇa´dcı´ch, mezi rˇa´dky a odstavci stra´nky. I ve zcela hladke´m textu musı´ by´t pro dosazˇenı´ spra´vne´ho vy´sledku pouzˇ´ıva´na rˇada nejru˚zneˇjsˇ´ıch rekvizit, pocˇ´ınaje preciznı´ kresbou pı´sma, prˇes dostatecˇne´ informace o znakove´m vyrovna´nı´ a slitcı´ch azˇ po promysˇlenou distribuci mezislovnı´ch mezer v odstavci. V tomto smeˇru lze zcela jednoznacˇneˇ rˇ´ıct, zˇe syste´m LATEX disponuje pravdeˇpodobneˇ nejpropracovaneˇjsˇ´ım algoritmem odstavcove´ sazby, ktery´ mu˚zˇe by´t rˇ´ızen rˇadou parametru˚, a mu˚zˇe tak vyhoveˇt teˇm nejvysˇsˇ´ım na´roku˚m na preciznost a kvalitu vy´stupu. Pouzˇita´ pı´sma v za´kladnı´ distribuci pokry´vajı´ beˇzˇne´ potrˇeby a na rozdı´l od jiny´ch syste´mu˚ nevykazujı´ lokalizacˇnı´ a jine´ nedostatky cˇi snad hrube´ chyby. Jedno z nejle´pe propracovany´ch pı´sem – Knuthovo Computer Modern – je v modernı´ch distribucı´ch nahrazeno rodinou Latin Modern, obsahujı´cı´ prˇedevsˇ´ım precizneˇ kreslene´ akcentovane´ znaky a opravujı´cı´ drobne´ chyby pu˚vodnı´ch Knuthovy´ch vzoru˚. Rodina obsahuje knizˇnı´ pı´smo serifove´ a bezserifove´ v beˇzˇny´ch rˇezech a take´ pı´smo strojopisne´. Specialitou je sˇka´lova´nı´ pı´sma – v zˇa´dne´m jine´m syste´mu nenı´ v ru˚zny´ch velikostech pı´sma pouzˇ´ıva´n rozdı´lny´ obraz vycha´zejı´cı´ z optimalizace cˇitelnosti. Kresba velky´ch stupnˇu˚ je tedy odlisˇna´ od kresby maly´ch stupnˇu˚, pı´smo te´to za´kladnı´ rodiny je tedy preciznı´ ve vsˇech aplikacı´ch. Ve specia´lnı´ch znacı´ch ma´ syste´m LATEX rovneˇzˇ znacˇny´ na´skok prˇed jaky´mkoliv jiny´m programovy´m syste´mem. Vysoce kvalitnı´ sazba prˇedpokla´da´ celou sˇka´lu rekvizit, ktery´mi syste´my zalozˇene´ na ba´zi TEXu beˇzˇneˇ disponujı´. Jde o sˇiroky´ repertoa´r mezerovy´ch vy´plnˇku˚ (kromeˇ prˇeddefinovany´ch je mozˇne´ jaky´koliv myslitelny´ vy´plneˇk vytvorˇit), da´le pomlcˇky
Jiří Rybička: Publikace v Open source kvalitně a efektivně
27
a spra´vneˇ se chovajı´cı´ spojovnı´ky (zdvojova´nı´ prˇi rˇa´dkove´m zlomu), uvozovky v neˇkolika varianta´ch a sˇirokou paletu znaku˚ a symbolu˚ pouzˇ´ıvany´ch v odborny´ch textech. Stra´nky a sestava dokumentu Stra´nkovy´ design je ovlivnˇova´n prˇedevsˇ´ım samotny´m sazebnı´m materia´lem. Jedna´ se o prˇ´ıstup, kdy prvotnı´ je velikost materia´lu, druhotneˇ se pak odvozuje stra´nkove´ rozlozˇenı´. Na rozdı´l od tohoto konceptu je v jiny´ch typograficky´ch syste´mech naopak prvotnı´ stra´nkove´ rozlozˇenı´, do neˇhozˇ se pak jako do prˇipraveny´ch „na´dob“ takzvaneˇ „nale´va´“ sazebnı´ materia´l. Ota´zkou je, ktery´ z obou prˇ´ıstupu˚ je lepsˇ´ı. Lze jednoznacˇneˇ prohla´sit, zˇe tato ota´zka je za´visla´ pouze na charakteru dokumentu. Pro dokumenty typu kniha, odborna´ zpra´va, veˇdecky´ cˇla´nek v cˇasopisu apod. je zcela bezkonkurencˇneˇ lepsˇ´ı prˇ´ıstup LATEXovy´, naopak pro reklamnı´ leta´k, jehozˇ tvorba spı´sˇe prˇipomı´na´ kreslenı´ v obrazove´m editoru, je lepsˇ´ı zmı´neˇny´ prˇ´ıstup alternativnı´. V tomto ohledu je vhodne´ podle charakteru dokumentu zvolit optima´lnı´ syste´m pro zpracova´nı´. Rˇ´ızenı´ stra´nkove´ho zlomu v syste´mu LATEX je doplneˇno o jedinecˇny´ koncept plovoucı´ch objektu˚, tj. prvku˚, jejichzˇ fina´lnı´ umı´steˇnı´ nenı´ da´no uzˇivatelem, ale rozmist’ovacı´m algoritmem, ktery´ prˇi vhodne´m nastavenı´ vy´razneˇ usnadnˇuje sesazenı´ cele´ho dokumentu. Nejcˇasteˇji se takto obsluhujı´ obra´zky a tabulky, patrˇ´ı sem i margina´lie (pozna´mky na okraji). Zcela automaticky pak fungujı´ i pozna´mky pod cˇarou, to vsˇak nenı´ vzhledem k ostatnı´m syste´mu˚m nic vy´jimecˇne´ho. Koncept sestavy dokumentu uvedeny´m zpu˚sobem velmi kvalitneˇ realizuje vysazenı´ stra´nek. Lze prˇesneˇ rˇ´ıdit meziodstavcove´ mezery, nadpisy a jejich umı´steˇnı´ v ra´mci textu, mezery mezi textem a dalsˇ´ımi objekty, a to vsˇe zcela jednotneˇ, prˇ´ıpadneˇ s mozˇnostı´ urcˇite´ho akceptovatelne´ho rozmezı´. Lze tak dodrzˇet za´kladnı´ typograficka´ pravidla jednotnosti designu a rovnomeˇrne´ho vyplnˇova´nı´ stra´nek. Netextove´ objekty Pokud jde o matematicke´ vy´razy a jejich obdobu ve fyzika´lnı´ch a jiny´ch odborny´ch textech, lze s jistotou konstatovat, zˇe neexistuje jiny´ programovy´ syste´m, ktery´ by tuto problematiku rˇesˇil kvalitneˇji a efektivneˇji. Propracovany´ syste´m matematicke´ sazby s mnoha rekvizitami a prˇ´ıdavny´mi balı´ky umozˇnˇuje splnit ta nejna´rocˇneˇjsˇ´ı krite´ria. Tvorba tabulek je naproti tomu pravdeˇpodobneˇ nejme´neˇ propracovany´m prvkem v syste´mu TEX i LATEX. Prˇestozˇe existuje pomeˇrneˇ velka´ skupina rekvizit a prˇ´ıdavny´ch balı´ku˚, je v mnoha prˇ´ıpadech vytvorˇenı´ tabulky teˇzˇkopa´dne´ a neˇktere´ prvky nejsou dostupne´ vu˚bec. Na druhou stranu je vsˇak potrˇebne´ zdu˚raznit, zˇe pro beˇzˇne´ potrˇeby tyto rekvizity zcela dostacˇujı´ a v urcˇity´ch prvcı´ch lze opeˇt zı´skat kvality, ktere´ nejsou v jiny´ch syste´mech vu˚bec dostupne´, nebo jsou realizovatelne´ s velky´mi obtı´zˇemi a na´roky. Je tedy mozˇne´ i v oblasti tabulek dosa´hnout vysoke´ typograficke´ kvality. Obra´zky lze do dokumentu v syste´mu LATEX vcˇlenit neˇkolika zpu˚soby. Veˇtsˇinou se prˇedpokla´da´, zˇe hotovy´ obra´zek v rastrove´m forma´tu JPG nebo PNG, cˇi vektorove´m forma´tu
28
Konferencia OSSConf 2010
PDF bude vlozˇen do prˇipravene´ho vynechane´ho mı´sta dokumentu, to vsˇak obvykle nenı´ zarˇ´ızeno prˇ´ımou sazbou, ale azˇ vy´stupnı´m ovladacˇem. Tento zpu˚sob pra´ce neprˇedstavuje velke´ omezenı´, nebot’samotna´ prˇ´ıprava obrazu mu˚zˇe by´t realizova´na jaky´mkoliv vhodny´m obrazovy´m editorem, ktery´ ma´ pro tuto cˇinnost zcela optima´lnı´ vybavenı´. Kromeˇ vlozˇenı´ externeˇ prˇipravene´ho obrazu existujı´ urcˇite´ omezene´ mozˇnosti kreslenı´ vektorove´ho obrazu pomocı´ jednoduchy´ch prvku˚, cozˇ je cˇasto vyuzˇ´ıva´no zejme´na pro jednoducha´ sche´mata nebo nelinea´rnı´ rozmı´steˇnı´ libovolny´ch prvku˚ na plochu stra´nky. Efektivnost tvorby dokumentu˚ Uvazˇujeme-li o efektivnı´ vy´robeˇ dokumentu˚, urcˇiteˇ pro kazˇdy´ programovy´ syste´m platı´, zˇe jejı´ podmı´nkou je prˇedevsˇ´ım 1. dokonale´ vyuzˇitı´ existujı´cı´ch rekvizit a prˇeddefinovane´ho zpu˚sobu pra´ce syste´mu. Efektivnost ma´ v syste´mu LATEX oproti jiny´m syste´mu˚m jesˇteˇ ovsˇem navı´c dalsˇ´ı rovinu – 2. te´meˇrˇ neomezene´ mozˇnosti rozsˇ´ırˇenı´ a modifikace prˇ´ıkazu˚ a prˇizpu˚sobenı´ pozˇadovane´ aplikaci. Tı´m se diametra´lneˇ odlisˇuje od jiny´ch syste´mu˚, ktere´ se uzˇivateli jevı´ jako uzavrˇene´, tedy mnozˇina jejich funkcı´ je prˇeddefinovana´ a konecˇna´. Syste´m LATEX poskytuje uzˇivateli mozˇnost optima´lneˇ rˇesˇit kazˇdy´ typ dokumentu podle dane´ situace, prˇizpu˚sobit zpracova´nı´ mozˇnostem vstupu dat a reprezentovat dokument cˇisteˇ strukturnı´mi znacˇkami. Ilustrujme si tyto mozˇnosti na na´sledujı´cı´ch prˇ´ıkladech. Prˇ´ıklad 1 Z databa´zove´ho syste´mu zı´ska´me soubor data.csv a v neˇm dosta´va´me tabulku s u´daji o zbozˇ´ı, kterou potrˇebujeme vhodneˇ vysa´zet. Kazˇdy´ rˇa´dek vstupu obsahuje peˇt u´daju˚ (na´zev, pocˇet kusu˚, na´kupnı´ cena bez DPH, prodejnı´ cena bez DPH, sazba DPH), oddeˇleny´ch znakem svisla´ cˇa´ra, ktera´ je prˇed prvnı´m i za poslednı´m u´dajem rˇa´dku, naprˇ.: |Zubní pasta Microsilver
|
2|
130|
167|
20|
Takovy´ vstup stacˇ´ı upravit pro jednodusˇsˇ´ı na´sledne´ zpracova´nı´ automaticky´m doplneˇnı´m jednoho prˇ´ıkazu, naprˇ´ıklad: \zbozi|Zubní pasta Microsilver K takove´mu vstupu prˇipravı´me soubor:
|
2|
130|
167|
20|
Jiří Rybička: Publikace v Open source kvalitně a efektivně
29
\def\zbozi|#1|#2|#3|#4|#5|{% #1 & #2 & #3 & #4 & #5 \\ \hline} \begin{longtable}{|l|*4{r|}} \hline Název & Kusů & Nákup & Prodej & DPH \% \\ \hline \endhead \multicolumn{5}{|r|}{(pokračování na další straně)} \\ \hline \endfoot \endlastfoot \input{data.csv} \end{longtable} Prˇ´ıklad 2 Potrˇebujeme udeˇlat sbı´rku prˇ´ıkladu˚ do fyziky. Protozˇe nebudeme vynale´zat kolo, posbı´ra´me osveˇdcˇene´ prˇ´ıklady z ru˚zny´ch sbı´rek. Tuto jednotva´rnou pra´ci chceme zadat „levne´ pracovnı´ sı´le“. Potrˇebujeme tedy, aby za´pis byl co mozˇna´ nejjednodusˇsˇ´ı, naprˇ´ıklad takto: \priklad{Vypočtěte, kolik metrů je vysoká věž, z~jejíž střechy spadla taška až na zem za 3 vteřiny.}{45 metrů} Ve vstupnı´m textu je uvedeno pouze to nejnutneˇjsˇ´ı, aby bylo mozˇne´ pochopit, o co se jedna´. Nejsou zde uvedeny zˇa´dne´ informace o vy´sledne´m tvaru. Uvedene´ znacˇky (prˇ´ıkazy) se nazy´vajı´ strukturnı´ a strukturnı´ znacˇkova´nı´ je prvnı´m za´kladnı´m krokem na cesteˇ k efektivnı´mu dokumentu. V te´to fa´zi stacˇ´ı tu zmı´neˇnou pracovnı´ sı´lu pouze instruovat, zˇe kazˇdy´ prˇ´ıklad zacˇne za´pisem \priklad, zˇe zada´nı´ prˇ´ıkladu je v jedne´ svorce a jeho vy´sledek je ve druhe´ svorce. Vu˚bec nic nemusı´ veˇdeˇt o tom, jak bude takovy´ prˇ´ıklad vypadat ve vysa´zene´ sbı´rce, ani nemusı´ nic veˇdeˇt o tom, zˇe u´plneˇ stejny´ prˇ´ıklad bude trˇeba pouzˇit pro promı´ta´nı´ prˇes dataprojektor ve vy´uce nebo bude figurovat jako doplneˇk k vy´kladu v ucˇebnici. Ale i kdybychom sbı´rku deˇlali zcela sami a nemeˇli v u´myslu zˇa´dne´ dalsˇ´ı aplikace, prˇesto se vyplatı´ vstup zapisovat stejny´m zpu˚sobem. V kazˇde´m prˇ´ıpadeˇ totizˇ mu˚zˇeme od sebe oddeˇlit dva procesy – porˇizova´nı´ a u´pravy textu, kdy autor uvazˇuje vı´ceme´neˇ pouze o obsahu, a rˇesˇenı´ vizua´lnı´ podoby, kterou mu˚zˇe deˇlat kdokoliv jiny´ a take´ neomezeneˇ mnoha zpu˚soby. Technicky to provedeme doplneˇnı´m definice makra \priklad naprˇ´ıklad takto: \newcounter{cisprikladu}[section] \def\thecisprikladu{% \thesection.\arabic{cisprikladu}} \def\priklad#1#2{\stepcounter{cisprikladu}
30
Konferencia OSSConf 2010
\par\medskip \textbf{Příklad \thecisprikladu:} #1 \par \smallskip \hspace*{\fill}\textit{(#2)}} V tomto jednoduche´m prˇ´ıpadeˇ jsme vytvorˇili cˇ´ıtacˇ pro cˇ´ıslova´nı´ prˇ´ıkladu˚, narˇ´ıdili jsme jeho nulova´nı´ v kazˇde´ sekci a jeho cˇ´ıslo spolecˇneˇ s cˇ´ıslem sekce vypisujeme na zacˇa´tku kazˇde´ho prˇ´ıkladu. Prˇ´ıklady zacˇ´ınajı´ tucˇny´m slovem „Prˇ´ıklad“ a odpovı´dajı´cı´m cˇ´ıslem, pak na´sleduje text zada´nı´, za prˇ´ıkladem pak vpravo kurzı´vou v za´vorce vy´sledek. Lze si snadno prˇedstavit, zˇe v jine´ modifikaci u´pravy nemusı´me vy´sledky prˇ´ıkladu vu˚bec chtı´t vypisovat, mu˚zˇeme je dokonce nechat vypisovat v u´plneˇ jine´ cˇa´sti publikace (naprˇ´ıklad souhrnneˇ v poslednı´ kapitole), zada´nı´ prˇ´ıkladu˚ mu˚zˇeme cˇ´ıslovat jiny´m zpu˚sobem (naprˇ´ıklad prˇi tvorbeˇ pı´semky mu˚zˇeme mı´t „cˇ´ıslova´nı´“ A, B atd. a kazˇdy´ prˇ´ıklad mu˚zˇe by´t na samostatne´ stra´nce bez vy´sledku˚) a podobneˇ.
Co si z rozboru odneseme? Ze strucˇne´ho sezna´menı´ se syste´mem LATEX by meˇly vyplynout tyto informace: • Zameˇrˇenı´ a za´kladnı´ princip – syste´m preferuje design sazebnı´ho materia´lu prˇed designem stra´nek (prvotnı´ je tedy text, nikoliv prˇeddefinovana´ u´prava stra´nky), takzˇe text postupneˇ vyplnˇuje a tvorˇ´ı stra´nky, nenale´va´ se do prˇipraveny´ch stra´nkovy´ch sˇablon. • Kvalitativnı´ krite´ria – jsou k dispozici prostrˇedky pro preciznı´ sazbu, neprˇeberne´ mnozˇstvı´ specia´lnı´ch znaku˚, neomezene´ mozˇnosti mezerova´nı´, pravdeˇpodobneˇ nejlepsˇ´ı algoritmus odstavcove´ho zlomu, idea´lnı´ podpora matematicky´ch vy´razu˚. • Efektivnost – syste´m je volneˇ dostupny´ (financˇnı´ na´roky na porˇ´ızenı´ jsou nulove´ vcˇetneˇ porˇ´ızenı´ potrˇebny´ch podpu˚rny´ch programu˚), podporuje v plne´ mı´rˇe strukturnı´ znacˇkova´nı´, umozˇnˇuje automatizovat sazbu, je velmi vhodny´ pro rozsa´hle´ dokumenty, vyzˇaduje investici do zvla´dnutı´ tvorby vlastnı´ch prˇ´ıkazu˚. • Omezenı´ – nema´ prˇ´ılisˇ rozsa´hle´ mozˇnosti stra´nkove´ho designu, nepracuje obvykle v interaktivnı´m uzˇivatelske´m rozhranı´ (nepracuje s na´hledem dokumentu – to vsˇak vadı´ jen u´plny´m zacˇa´tecˇnı´ku˚m), ma´ neˇktera´ omezenı´ v tvorbeˇ tabulek. Od te´to chvı´le je tedy jasne´, kdy a na jake´ dokumenty lze syste´m s u´speˇchem pouzˇ´ıt. Bude tedy naprˇ´ıklad velmi efektivnı´ pro sazbu sbornı´ku (opakovane´ u´kony s kazˇdy´m cˇla´nkem, neprˇ´ılisˇ slozˇity´ stra´nkovy´ design), ale prˇi tvorbeˇ jednostra´nkove´ho reklamnı´ho leta´ku se neu´meˇrneˇ nadrˇeme (chybı´ propracovane´ funkce pro definici stra´nkove´ho designu, ma´lo textu, ma´lo mozˇnostı´ automatizace).
Jiří Rybička: Publikace v Open source kvalitně a efektivně
31
Pohled do budoucna Na za´kladeˇ uvedene´ho prˇ´ıkladu jednoho z mnoha ru˚zny´ch syste´mu˚ jsme prˇedvedli, na co vsˇechno by se meˇl uzˇivatel soustrˇedit, aby se spra´vneˇ rozhodl pro takovy´ programovy´ syste´m, ktery´ optima´lneˇ vyhovuje dane´mu typu dokumentu. Jenzˇe – ktery´ uzˇivatel ma´ cˇas na to, aby takove´ rozbory prova´deˇl? Je vu˚bec efektivnı´ se tı´m zaby´vat? Syste´mu˚ je mnoho a neusta´le se meˇnı´ – je mozˇne´ mı´t neusta´le prˇehled? Prˇestozˇe znalosti a informace jsou pro efektivnı´ zpracova´nı´ dokumentu˚ zcela nezbytne´, je na vsˇechny tyto ota´zky nejcˇasteˇjsˇ´ı odpoveˇd’„ne“. Proto by bylo idea´lnı´, kdyby tyto rozbory neˇkdo kvalifikovany´ udeˇlal doprˇedu a uzˇivatel mohl zı´skany´ch vy´sledku˚ rychle vyuzˇ´ıt. Tuto mysˇlenku podporuje navı´c mozˇnost rozhodova´nı´ prˇenechat pocˇ´ıtacˇi, ktery´ na za´kladeˇ relevantnı´ch informacı´ uzˇivateli nabı´dne, co ma´ pro svu˚j konkre´tnı´ dokument pouzˇ´ıt a take´ jake´ funkce bude potrˇebovat a kde se s nimi sezna´mı´. ´ stavu informatiky PEF Mendelovy univerzity v Brneˇ vznika´ rozhodovacı´ syste´m Na U pro volbu optima´lnı´ho programove´ho syste´mu. Principem tohoto syste´mu je, zˇe uzˇivatel zvolı´ druh dokumentu, ktery´ ma´ v u´myslu zpracovat, podle potrˇeby uprˇesnı´ pozˇadavky na dokument a svoje vlastnı´ preference (naprˇ´ıklad pra´ce v syste´mu Linux) a rozhodovacı´ stroj odpovı´, ktery´m programem je optima´lneˇ dany´ dokument zpracovatelny´ a vypı´sˇe vsˇechny funkce, ktere´ budou potrˇeba. Ke kazˇde´ pouzˇite´ funkci je k dispozici na´poveˇda, jak tuto funkci v dane´m programu pouzˇ´ıt a kde ji najı´t. Uzˇivatel tedy nemusı´ dlouze studovat dany´ syste´m, dostane ke sve´mu dokumentu odpovı´dajı´cı´ho pru˚vodce. V soucˇasne´ dobeˇ je tento rozhodovacı´ syste´m navrzˇen, prˇistupuje se k jeho realizaci a shromazˇd’ujı´ se potrˇebna´ data.
Za´veˇr Volneˇ dostupne´ programy nabı´zejı´ v oblasti zpracova´nı´ textu˚ sˇiroke´ mozˇnosti. Chceme-li v te´to aplikacˇnı´ oblasti postupovat tak, abychom dosa´hli co nejkvalitneˇjsˇ´ıho vy´sledku s co nejmensˇ´ım u´silı´m, musı´me jednotlive´ programove´ syste´my dostatecˇneˇ du˚kladneˇ poznat a ohodnotit. Prˇ´ıkladem pro zpracova´nı´ dokumentu˚ urcˇity´ch typu˚ je syste´m TEX a jeho nadstavby, kde nejrozsˇ´ırˇeneˇjsˇ´ı je bezesporu LATEX. V tomto syste´mu se nacha´zejı´ unika´tnı´ na´stroje a prostrˇedky pro dosazˇenı´ maxima´lneˇ kvalitnı´ho vy´stupu, jako kazˇdy´ jiny´ syste´m ma´ vsˇak i sva´ omezenı´. Efektivnı´ zpracova´nı´ dokumentu˚ tedy nespocˇ´ıva´ v absolutnı´ preferenci jednoho programove´ho rˇesˇenı´, ale spı´sˇe ve vhodne´ kooperaci ru˚zneˇ zameˇrˇeny´ch a ru˚zneˇ vybaveny´ch programu˚, z nichzˇ je potrˇebne´ vyuzˇ´ıvat ty nejefektivneˇjsˇ´ı funkce. K tomu je nezbytne´ se alesponˇ ra´mcoveˇ sezna´mit s neˇkolika reprezentanty, ktere´ dostatecˇneˇ ilustrujı´ mozˇnosti a omezenı´ cele´ skupiny podobny´ch programu˚. Pro optima´lnı´ rozhodnutı´ o zpracova´vajı´cı´m programove´m vybavenı´ vznika´ automatizovany´ syste´m, jehozˇ principem je poskytnutı´ podstatny´ch informacı´ pro rˇesˇenı´ konkre´tnı´ho
32
Konferencia OSSConf 2010
dokumentu konkre´tnı´ho uzˇivatele s dany´mi pozˇadavky a preferencemi.
Literatura • RYBICˇKA, J. LATEX pro zacˇa´tecˇnı´ky. Brno: Konvoj, 2003. • RYBICˇKA, J. Typografie a zpracova´nı´ textu˚ v programu Word [online]. 2008. [cit. 10. 6. 2010] Dostupne´ na http://akela.mendelu.cz/~rybicka/prez/zpract/jaknaword.rtf • RYBICˇKA, J., TALANDOVA´, P., PRˇICHYSTAL, J. Teoreticky´ model syste´mu pro optimalizovany´ proces vy´beˇru programove´ho vybavenı´. Acta Universitatis Mendelianae Brunensis, 2010, cˇ. 2 (v tisku) Kontaktnı´ u´daje Doc. Ing. Jirˇ´ı Rybicˇka, Dr., ´ stav informatiky, Provozneˇ ekonomicka´ fakulta, U Mendelova univerzita v Brneˇ, Zemeˇdeˇlska´ 1, 613 00 Brno, Cˇeska´ republika, e-mail:
[email protected]
Otvorený softvér vo vzdelávaní, výskume a v IT riešeniach 1.–4. júla 2010, Žilina, Slovensko Organizátori:
Miloš Šrámek, Spoločnosť pre otvorené informačné technológie Tatiana Šrámková, Katedra fyziky, FEI STU Bratislava Michal Kaukič, Aleš Kozubík, Tomáš Majer, Žilinská univerzita Lýdia Gábrišová, Ľubica Michálková, Žilinská univerzita Juraj Bednár, Digmia, Slovensko Miloslav Ofúkaný, GeoCommunity, Slovensko Peter Mráz, Kremnica Slavko Fedorik, SOŠ elektrotechnická, Poprad Peter Štrba, Spojená škola/Gymnázium M. Galandu, Turčianske Teplice Ladislav Ševčovič, FEI, Technická univerzita v Košiciach
Editori:
Michal Kaukič Miloš Šrámek Slavko Fedorik Ladislav Ševčovič
Recenzenti:
Mgr. Juraj Bednár Mgr. Rudolf Blaško, PhD. RNDr. Ján Buša, CSc. Ing. Slavko Fedorik Ing. Karol Grondžák, PhD. Mgr. Michal Kaukič, CSc. Ing. Tomáš Kliment RNDr. Aleš Kozubík, PhD. Mgr. Juraj Michálek doc. RNDr. Štefan Peško, CSc. Ing. Pavel Stříž, PhD. RNDr. Ladislav Ševčovič Ing. Michal Žarnay, PhD.
Vydavateľ:
Spoločnosť pre otvorené informačné technológie – SOIT, Bratislava
ISBN 978-80-970457-0-8 Sadzba programom pdfTEX Ladislav Ševčovič c 2010 autori príspevkov. Príspevky neprešli redakčnou ani jazykovou úpravou. Copyright Ktokoľvek má dovolenie vyhotoviť alebo distribuovať doslovný opis tohoto dokumentu alebo jeho časti akýmkoľvek médiom za predpokladu, že bude zachované oznámenie o copyrighte a o tom, že distribútor príjemcovi poskytuje povolenie na ďalšie šírenie, a to v rovnakej podobe, akú má toto oznámenie.