Zpracování BibTeX dat

Rozměr: px
Začít zobrazení ze stránky:

Download "Zpracování BibTeX dat"

Transkript

1 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra řídicí techniky Diplomová práce Zpracování BibTeX dat Vypracoval: Rosůlek Zdeněk Datum: 14. května 2003 Praha, 2003

2 Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne podpis Zdeněk Rosůlek 2

3 Abstrakt V této diplomové práci nejprve popisuji vlastní BibTeXový formát, včetně doporučení, jak do něho zapisovat příslušné publikace. Dále se zabývám zpracováním tohoto formátu z hlediska jeho syntaxe. Uvádím zde základní pravidla a příslušné modely pro správné citovaní různých druhů publikací tak, jak stanovuje norma. V závěru práce jsou navrženy algoritmy pro analýzu záznamů z citací a také naopak, pro tisk citací ze záznamů. Oba algoritmy jsou implementovány ve vytvořeném programu, který je popsán v závěru práce. Abstract I m describing in my thesis foremost BibTeX s format, including suggestions how to record relevant publications into the BibTeX. Further I m dealing with elaboration of the format from the syntax point of view. I m indicating fundamental rules and relevant models for proper citation of different kind of publications as determined by standard. Algorithms for analysis of the quotations records and other way around for printing of the quotations from the records are designed in the final part of the thesis. Both algorithms are implemented in developed program, which is described at the end. Zdeněk Rosůlek 3

4 Obsah 1 Úvod 10 2 Popis BibTexového formátu O BibTeXovém formátu Základní znaky Popis formátu Speciální vlastnosti Standardní typy záznamů Ostatní typy záznamů Standardní typy polí Ostatní typy polí Vytváření bibliografických databází Velká písmena v názvech Jména autorů Přízvuk (akcent) Výběr citačních klíčů (citation keys) BibTeXové syntaktické chyby Používání bibliografických databází příkaz \cite v BibTeXu a LaTeXu Druhy bibliografických záznamů a jejich příklady Styly BibTeXu Kódování Struktura CSF definičních souborů lowupcase lowercase uppercase order Utilita pro konverzi Popis utility Struktura výstupního binárního souboru.dat Objekt využívající binární soubor.dat Rozkládání bibliografického souboru Rozlišení jednotlivých záznamů Citační klíč Rozlišení polí a získání údajů Význam rozkládání BibTeXové editory Editory pro Windows EditPlus BibEdit BibDB Zdeněk Rosůlek 4

5 9 Komponenta pro C++ Builder Struktura vyvíjené komponenty BIBTEX LISTS BIBTEX STRING CONVERT TBibItemSelForm TComboBoxInc Připojení k MySQL Popis souborů ZeosDBO Stručný popis komponent Státní technická knihovna Základní rozdělení Formát UNIMARC Katalog knih Popis struktury katalogu knih Norma bibliografických citací dokumentů Struktura citace Primární autorská odpovědnost Údaje o názvu Typ média Sekundární odpovědnost Údaje o vydání Údaje o místu vydání Nakladatelské údaje Datum vydání Údaje o fyzickém popisu Údaje o edici Poznámky Údaje o standardním čísle Modely citací Monografická publikace Části a stati v monografiích Seriálová publikace Články v seriálových publikacích Stávající aplikace knihovna Návaznost K čemu aplikace slouží Popis databáze První část Druhá část Dotazy pro práci s daty Rozbor zadání Analýza záznamu z citace Sestavení citace ze záznamu Zdeněk Rosůlek 5

6 14 Analýza záznamu z citace Úvod Návrh algoritmu Problémy při návrhu Analýza návrhu algoritmu Blokový diagram algoritmu Vysvětlení použitých symbolů Algoritmus analýzy citace Návrh databáze První část Část znalostí Heuristická část Uložení polí do db knihovna Výsledná databázová struktura bibliografie Sestavení citace ze záznamu Úvod do problému Návrh algoritmu Blokový diagram algoritmu tisku citace Popis programu Historie PHP MySQL Programové vybavení Objekty použité v programu Mysql CSearchingKnownFields CSearchingKnowledges CManipulationData CDecideType CSaveToDb CCite Knihovny Výpis Edit Struktura programu Konfigurační soubor Hlavní soubor Vkládané soubory Popis práce s programem Úvodní obrazovka Analýza citace pro uložení do knihovny Analýza - vstup Analýza - rozpoznané položky Analýza - výsledek Analýza - uložení do knihovny Tisk citace z knihovny publikací Citace - výběr reference Citace - zobrazení publikace Zobrazení heuristik a znalostí Zobrazení heuristik Zdeněk Rosůlek 6

7 Zobrazení znalostí Zobrazení substitucí Závěr 97 Zdeněk Rosůlek 7

8 Seznam obrázků 1 Okno programu utility CSF konverze Úrovně vnoření bibtexového záznamu Obecný popis BibTeX záznamu Hlavni okno editoru BibDB Propojení komponent ZeosDBO pro připojení k MySQL Diagram vazeb na katalog knih E-R diagram databáze knihovna Hlavní algoritmus - blokový diagram Vnořený algoritmus - prohledání v db znalostí Vnořený algoritmus - prohledání dle připravených vzorů Vnořený algoritmus - operátor Vnořený algoritmus - určení typu publikace E-R diagram databáze bibliografie Algoritmus tisku citace z knihovny - blokový diagram Tisk položek - blokový poddiagram Diagram stavů programu, dle vkládaných souborů Zdeněk Rosůlek 8

9 Seznam tabulek 1 Jednotlivé sekce CSF souboru Některé funkce třídy CTPrevody pro konverzi mezi znaky Tabulka metod komponenty TBibEdit Atributy komponenty TZMySQLDatabase Metody komponenty TZMySQLDatabase Události komponenty TZMySQLDatabase Atributy komponenty TZMySQLQuery Metody komponenty TZMySQLQuery Atributy komponenty TZMySQLTransact KAT KNIH hlavní katalog knih Tabulka polí Tabulka typů dokumentů Tabulka vztahů mezi typy a poli Tabulka dokument Tabulka dat dokumentu Tabulka rozpoznávaných polí Tabulka nalezených polí pro aktuální publikaci Tabulka znalostí Tabulka heuristik - povinná pole (required) Tabulka heuristik - substituovatelná pole (subst) Tabulka heuristik - zakázaná pole (not) Tabulka heuristik - volitelná pole (optional) Tabulka substitučních vztahů pro uložení do db knihovna Zdeněk Rosůlek 9

10 1 Úvod Cílem této diplomové práce bylo prostudovat si BibTeXový formát, který slouží k ukládání záznamů o publikacích. Popisu tohoto formátu je věnováno hned několik kapitol. Jednak je to vlastní popis všech typů publikací a jejich polí (kapitola 2). Dále je zde kapitola věnovaná syntaxi a sémantice jednotlivých polí tedy jak správně zapisovat údaje do bibliografických souborů (kapitola 3) a jak je využívat (kapitola 4). Nakonec jsou zde ještě uvedeny příklady různých typů záznamů a standartní styly BibTeXu (kapitola 5). Celosvětové používání BibTeXu má za následek používání více znakových sad. Proto v kapitole 6. byla vysvětlena problematika kódování, včetně vnitřní implementace v BibTeXu, nebot ve vyvíjené aplikaci pro C++ Buider bylo třeba s tímo kódováním pracovat. Další věcí, kterou bylo třeba zvládnout, je zpracovávat vlastní BibTeXový soubor se všemi údaji o publikacích a umět tento soubor rozložit na jednotlivé záznamy a ty pak zpracovat. Proto je této problematice věnována kapitola 7. Kapitola 8 je věnována některým BibTeXovým editorům s jejich stručným popisem vlastností ke každému z nich. Dalším z úkolů bylo vytvořit komponentu pro prostředí C++ Builder. Tato komponenta měla umět pracovat s BibTeXovými záznamy. Dále měla umět tyto záznamy importovat a exportovat do vhodné databáze. Některé základní vlastnosti této komponenty jsou popsány v kapitole 9. Ukládání údajů o dokumentech není jen problémem škol a dalších institucí, ale zaznamenávání informací o publikacích se používá především v knihovnách. Proto se v kapitole 10. věnuji způsobu uložení bibliografických informací ve Státní Technické knihovně v Praze. Pro správné citování dokumentů je nutné znát alespoň základy normy citací, proto zde jsou uvedena některá základní pravidla z normy ISO 960[9][10] a to v kapitole 11. Také jedním z požadavků v zadání této diplomové práce bylo seznámení se s databází MySQL a programovacím jazykem PHP. Navrhnout pak vhodnou databázovou strukturu pro uložení Bib- TeXových záznamů a rozhraní pro manipulaci s ní. Tématem navržení struktury se zabýval student v bakalářské práci s názvem Databáze pro správu publikací ve formátu BibTeX [8]. Byla jím vytvořena aplikace s názvem Knihovna, která umožnila některé operace s publikacemi. Především zde byl velmi dobře zpracován návrh vlastní databáze a tento výsledek jeho práce je schrnut v kapitole 12. Mým úkolem bylo seznámit se s předchozím návrhem a vytvořit program, který bude pracovat s touto databází. Jednak bude plnit tuto databázi daty, tedy z citací získavat znalosti o publikacích a ukládat je do databáze. Dále pak bude citovat příslušné záznamy z databáze tak jak je definováno normou. Tento program by měl být naprogramován v jazyku PHP s přístupem k datům v databázi MySQL. Podrobnější rozbor zadání pro vytvoření této aplikace je proveden v kapitole 13. Vlastní návrh a konečný algoritmus pro analýzu citace je posán v kapitole 14. Pro tisk citace je vlastní návrh a algoritmus uveden v kapitole 15. Popis celé vytvořené aplikace, především konkrétní implementace, je zřejmý z kapitoly 16. Vlastní práce s programem je shrunuta v kapitole 17. Zdeněk Rosůlek 10

11 2 Popis BibTexového formátu 2.1 O BibTeXovém formátu BibTeX je speciální formát souborů, který navrhli pánové Oren Patashnik a Leslie Lamport v roce 1985 pro systém přípravy dokumentů zvaný LaTeX. Dříve byl tento formát používán, dnes již zastaralým, programem nazvaným SCRIBE. Celý formát je založený na znacích. To znamená, že může být využíván v jakýchkoliv jiných programech s tím, že standardní znaková sada pro znaky akcentu je TeX. Je to formát založený na polích (fields), kde známá pole program BibTeX rozpozná a ostatní neznámá ignoruje. LaTex může tedy používat databázi ve formátu BibTeX a vkládat do svých dokumentů záznamy z této databáze, což mu umožňuje balíček (package) asociovaný se systémem LaTeX. LaTeX je nyní akademickým standartem pro psaní výzkumných zpráv, diplomových a disertačních prací a knih s matematickou tématikou. Je to pravděpodobně nejrozšířenější formát pro ukládání bibliografických záznamů na internetu. 2.2 Základní znaky BibTeX formát má jednoduchou syntaxi keyword=value, tedy každému klíči je přiřazena hodnota. Tedy dá se jednoznačně převádět do jiných formátů, například Hypatia[1], která slouží pro transformaci do HTML, aniž by k tomu potřebovala BibTeX. Pro konverze do jiných formátů je možné využít například balíčku prettybib, který rozkládá BibTeXový formát a převádí jej do formátu jiného. 2.3 Popis formátu Bude zde popsáno, jaké se používají základní typy záznamů a jejich polí, ze kterých se záznamy skládají, s uvedeným výčtem a stručným popisem každého z nich. Také popisuji, jaké jsou doporučení při vyplňování jednotlivých polí, to jest jaké informace je vhodné psát a které naopak vynechat. Také zde popisuji syntaxi tj. jak zapisovat datumy, číslice s určitým rozsahem, jak zapisovat přízvuk, jména více autorů, velká písmena a další speciality Speciální vlastnosti Odděleně od běžných bibliografických záznamů, které začínají atd. BibTeX také rozpoznává následující typy tzv. pseudo-záznamů. Jsou zde definovány tyto tři speciální tento příkaz dovoluje psát libovolný text, například různé komentáře. Není nezbytný, nebot BibTeX ignoruje text, který není uvnitř entry. Avšak bez použití tohoto příkazu bychom nemohli napsat vně nějaké bibliografické položky. {} uzavřený tento příkaz se užívá k definování zkratek v BibTeXu. Např. = "Journal of Gnats and Gnus, Series~1"} definuje že jgg1 je zkratkou pro řetězec Journal of Gnats and Gnus, Series 1. Žádné odkazy vně uvozovek, popřípadě složených závorek, této zkratky jgg1 nebudou rozvinuty v celý řetězec. Také můžeme definovat více zkratek najednou: Zdeněk Rosůlek 11

12 @string{ JSL = {Journal of Symbolic Logic}, CUP = {Cambridge University Press}} Tyto zkratky mohou být pak použity jako hodnoty na místě složených závorek, nebo uvozovkami označeného textu, často se používají například v polích journal a publisher. Jména měsíců (month) jsou také deklarována jako zkratky, a proto je doporučeno je používat namísto jejich vypisování mezi uvozovky, nebo složené závorky. Protože neanglické BibTeX styly mohou tisknout jména měsíců v příslušném jazyce a při ručním vypisování těchto zkratek by tak nemohly být lokalizovány dle příslušného jazyka. BibTeX tento příkaz se používá k definování formátovacích znaků, které budou přímo vypsány do výsledného bpl souboru, ten je vytvořen BibTeXovým programem. Obvykle se do něho zapisují LaTeXová makra. Hypatia doporučuje nepoužívat tento příkaz ve svých bibliografických souborech. {} uzavřený LaTeX kód} 2.4 Standardní typy záznamů Každý BibTeXový záznam je uvozen vstupním bodem, tzv. entry, který začíná Zde následuje seznam standartních typů Nějaký článek z novin, nebo Kniha, u níž je znám Určité dílo bez jména vydavatele, nebo sponzorující Stejné jako Část knihy, která může být odstavcem, oddílem, nebo určitým rozsahem stránek této Část knihy mající její vlastní Článek z jednání nějaké Technická Teze, Tohoto typu užíváme, pokud jiné typy Doktorská práce, disertační Řídící konference z nějaké porady, či Zpráva publikovaná školou, nebo jinou institucí, obvykle číslována v nějakém Dokument mající svého autora a název, ale formálně nepublikovaný. Zdeněk Rosůlek 12

13 2.5 Ostatní typy záznamů Užívání těchto typů záznamů není doporučováno, ale mohou se vyskytovat v některých Sbírka prací. Stejné jako Patent. 2.6 Standardní typy polí V každém záznamu je několik polí (fields), jejichž názvy jsou předem dány. Zde následuje abecední seznam s jejich stručným popisem, co se do nich zapisuje. address Obvykle adresa vydavatele, nebo jiné instituce. Pro větší nakladatelství není tohoto pole třeba a je doporučeno ho vynechat úplně. annote Nějaká poznámka. Nebývá standardně v bibliografických stylech, ale může být použita jinými které generují bibliografii s poznámkami. author Jméno(a) autora(ů), ve formátu podrobně popsaném v knize LaTeX [5]. booktitle Název knihy, část ze které byla citována. Pro celou knihu se používá přímo title. chapter Číslo kapitoly, určitého úseku, nebo části. crossref Klíč odkazujíci do nějaké databáze na nadřízenou publikaci. Některé chybějící pole v aktuálním záznamu jsou tak odvozena z uváděného odkazu. edition Vydání knihy, např. Second. Měla by to být řadová číslovka a měla by mít první znak velký, jak ukazuje příklad. Standardní styly BibTeXu konvertují obsah tohoto pole na malá písmena, pokud je to nutné. editor Jméno redaktora/redaktorů. Typy popsány v knize LaTeX [5]. Jestliže je zde také pole author, pak do pole editor píšeme editora knihy, nebo sbírky ve které se publikace nachází. howpublished Jak má být něco cizího publikováno. První slovo psáno velkými písmeny. institution Sponzorující instituce technické zprávy. journal Jméno deníku. Zkratky jsou v bibliografických databázích poskytovány pro mnoho deníků. key Určeno pro řazení dle abecedy, křížové odkazy a vytváření jmenovek, když chybí informace o poli author. Toto pole by nemělo být zaměňováno s klíčem, který se vyskytuje v příkazu cite a je zapsán ve vstupním bodu (entry). month Měsíc ve kterém byla práce vydána nebo, u nepublikovaných prací, kdy byla práce napsána. Měla by se správně použít 3-pismenná zkratka viz. LaTeX book[5]. note Přídavné informace, které mohou pomoci při čtení. První slovo by mělo začínat velkým písmenem. number Zdeněk Rosůlek 13

14 Číslo deníku, časopisu, technické zprávy, nebo pořadové číslo práce. Vydání časopisu, nebo deníku je obvykle určeno ročníkem a jeho číslem. Ve vydání technických zpráv se obvykle píše číslo. Některé knihy mají čísla ve jménu jejich pokračování. organization Organizace, která sponzoruje konferenci, nebo vydavatele manuálu. pages Jedno nebo více čísel stránek, nebo jejich rozsah. Jako např , nebo 7,41,73 97, nebo 43+ (kde + v tomto posledním příkladě znamená stránky následující, u kterých není uveden rozsah). K usnadnění standardní styly konvertují jednoudouchou pomlčku (jako v př. 7-33) na zdvojenou pomlčku, která je užívána v TeXu k určení číselného rozsahu (jako např. 7 33). publisher Jméno vydavatele school Jméno školy, kde byla teze napsána. series Jméno patřičné série, nebo sady knih. Když je citována celá kniha, pak pole title obsahuje její název a volitelné pole series udává jméno ze série, nebo svazků ve kterých byla kniha vydána. title Pracovní název, jak je podrobně vysvětleno v LaTeX book[5]. type Typ technické zprávy, např. Research Note. volume O který svazek deníku, nebo více svazkové knihy se jedná. year Rok vydání, nebo u nepublikované práce rok, kdy byla napsána. Většinou se skládá ze čtyř číslic, jako 1978, ačkoliv standardní styly zpracovávají i rok, jehož poslední čtyři neinterpunkční znaky jsou psány číslicemi, jako např. \hbox{(about 1978)}. 2.7 Ostatní typy polí BibTeX je velmi populární, a mnoho lidí ho využívá k ukládání informací, proto jsou do standartu zahrnuta i další pole. Zde následuje seznam nejvíce používaných polí. affiliation Spoluautoři. abstract Abstrakt dané práce. contents Obsah. copyright Informace o autorských právech. ISBNČíslo knihy v mezinárodním formátu. (The International Standard Book Nubmer). ISSNČíslo časopisu v mezinárodním formátu. (The International Standard Serial Nubmer). keywords Klíčová slova používaná pro vyhledávání eventuálně pro anotace. language Jazyk ve kterém je dokument napsán. location Zdeněk Rosůlek 14

15 Oblast spojená se záznamem, jako třeba město ve kterém se konference konala. LCCN The Library of Congress Call Number. Můžeme také použít pole s názvem lib-congress. mrnumber Číslo matematické recenze (Mathematical Reviews). price Cena dokumentu. size Rozsah práce. URL Reference na internetovou adresu. (The WWW Universal Resource Locator). Často je používáno pro technické články k odkazu na ftp sít, kde je umístěný zdroj zprávy v postskriptu. Zdeněk Rosůlek 15

16 3 Vytváření bibliografických databází 3.1 Velká písmena v názvech Máme zde dva podobné styly, které používají různé definování velkých písmen v názvech: An Investigation of the Electromechanical Properties of Milk An investigation of the electromechanical properties of milk Výběr mezi těmito styly je prováděn BibTeXem, v jeho definici stylů. Například místní styl nějakého časopisu, nebo vydavatele může převážně užívat velká písmena, jiný naopak. Je to podobné, jako při užívání velkých písmen v názvech knih a malých písmen v dokumentech, odstavcích atd. Pro spávnou práci, musí bibliografický soubor obsahovat něco, dle čeho BibTeX pozná, jak má s těmito názvy naložit. Je zde několik možností. Písmena budou vždy velká. Písmena jsou velká (capital) v jednom stylu, ale malá v jiném. Písmena jsou vždy malá. Hned se nabízí jednoduchý způsob jak to udělat a to tedy používat velká písmena pro druhý případ, malá písmena naopak přirozeně pro případ třetí. V ostatních případech by se měly psát názvy prvních písmen bibliografických položek velkými znaky a také psát s velkým počátečním písmenem každé význačné (podstatné) slovo. Pro styly, ve kterých se používají převážně malá písmena, BibTeX bude automaticky konvertovat velká písmena (kapitálky) na malá písmena. Avšak v případě prvního znaku v názvu se tak nestane. Také konverze na malá písmena neproběhne u prvního znaku po dvojtečce (:),tj. první písmeno z podtitulku (subtitle). K tomu aby byla písmena vždy velká se tato písmana zapisují mezi složené závorky: {A},{B}. Což je nutné provést pro následující pole: Vlastní jména, tj. jména osob, míst, universit, společností atd., například: title = {Comparing {E}instein s and {N}ewton s Theories}. kde slovo Theories bude v určitých stylech převedeno na theories. Německá podstatná jména, například: title = {Untersuchen {\"u}ber die {G}rundlagen der {M}engenlehre}. zkratky, jako {UNESCO} (La)TeX makra, jako třeba samotné makro {\LaTeX} vypisující slovo L A TEX. Římské číslice: {I}, {II}, {III}, {IV},... Doporučuje se nepoužívat přídavné závorky pro zachování velkých písmen v jiných, než výše uvedených případech. Zdeněk Rosůlek 16

17 3.2 Jména autorů Pro oddělení jmen více než jednoho autora se používá oddělující spojka and, pořípadě AND, včetně bílých znaků, tj mezer. Čárky v tomto případě nejsou dovoleny, důvod je vysvětlen na příkladu uvedeném níže. Model v BibTeXu pro jména osob je uveden na následujícím příkladě: křestní jméno předpona (titul) příjmení přípona Carl Jean-Marc van der Bildt Weston-Smith Jr kde předpona je van der a přípona Jr. Předpona musí být rozeznatelná od příjmení, nebot při abecedním třídění je použito pouze hlavní části tohoto příjmení, tedy bez přípony. Toto schéma vyhovuje pro různé Evropské a Americké kultury, ale je nevyhovující pro Čínské zvyklosti psaní příjmení na prvním místě, pro Ruské rodové příjmení (jména po otci), nebo jiné, které nepoužívají příjmení (family names) vůbec. BibTeX nepotřebuje znát údaje o dědičných titulech, tituly profesionální úrovně, nebo čestných titulech, jako Lord, Sir, Professor, Dr, Mr nebo Ms. Jsou zde dva způsoby jak se dají zapsat jména osob v bibliografických souborech. BibTeX mezi nimi rozlišuje, dle počtu oddělovacích čárek. Předpona je uvedena na začátku a je psána malými písmeny. Příklad proto může být zapsán těmito způsoby: Carl Jean-marc van der Bildt Weston-Smith Jr van der Bildt Weston-Sminth Jr, Carl Jean-Marc V případech, kdy by mohlo docházet k pochybnostem je vhodné použít druhého případu, kde se jméno píše až za čárkou. Tento formát se používá z následujících důvodů Ke zjištění, kde jméno končí a začíná příjmení. V případě, že se příjmení skládá z více částí (oddělených mezerami, raději než pomlčkou) a neobsahuje předponu (prefix). Nebo pokud osoba oddělila příponu (suffix) za svým jménem čárkou namísto mezerou. Je doporučeno užívat tento formát zápisu, tj. že příjmení (s předponou) je vždy na prvním místě. Tyto pravidla mohou být potlačena, pokud části jména uzavřeme mezi složené závorky ({}). 3.3 Přízvuk (akcent) Následující výpis obsahuje přízvuk, zapsaný ve stylu TeXu. Andr{\ e} J{\"u}rgen Fran{\c c}ois Pawe{\l} Bj{\oo}rn Narc{\ \i}so Ban{\^a}tre Ji{\v r}i Ne všechny tyto druhy přízvuku se dají reprezentovat v HTML kódu, ale Hypatia převádí tyto kódy na nejbližší bezpřízvučné znaky[1]. Měl by se zachovávat a dodržovat přesný zápis znaků s přízvukem, tak jak to definuje LaTeX. Jestliže například písmena i a j zapíšeme jako \i a \j, TeX potom vysází tato písmena bez teček jako ı j. Důvod, proč písmeno a přízvuk musí být uzavřeny v závorkách, je ten, že některé BibTeXové styly používají první tři znaky jména jako odkaz na citaci. Pokud příkaz akcentu je zahrnut a znak, na který má být akcent uplatňován ne, pak dochází ke zmatkům, viz následující případ. Ad\ amek G\"odel bude předáno LaTeXu jako [Ad\] [G\"] a to způsobí spoustu TeXovských chyb, zatímco Zdeněk Rosůlek 17

18 Ad{\ a}mek G{\"0}odel vrací očekávaný výsledek. [Ad{\ a}] [G{\"o}d] U programu Hyphatia [1] je tato částečná chyba automaticky korigována programem prettybib (tento program Hypatia používá k rozebírání bibliografických souborů). 3.4 Výběr citačních klíčů (citation keys) BibTeXový styl alpha.bst generuje návěští v textu a seznam odkazů v dokumentu ve formátu, kde první tři znaky se skládají z autorova příjmení společně se dvěmi číslicemi, které znamenají rok publikace. Tento formát zápisu odkazů je užitečný zejména pro čtenáře, který nemusí procházet seznam referencí, a může tak přímo z návěští odhadnout, který odkaz se pod tímto názvem skrývá. Mnoho lidí rádo používá stejné schéma také pro citační klíče v bibliografických souborech. Avšak později budeme vidět, že to je neadekvátní pro skutečné databáze, které obsahují práce mnoha autorů. Tří-písmenná zkratka je nedostatečná k identifikaci jmen osob. Z této zkratky pak nelze jednoznačně identifikovat, o který záznam v bibliografickém souboru databáze se jedná a nelze tedy přesně citovat tímto citačním klíčem. Proto bychom mělit tuto skutečnost brát v úvahu. Položka rok, kdy byla práce vydána, je také nejednoznačná, nebot může projít mnoha koncepty před podáním návrhu do časopisu a mezitím může vzniknout velmi dlouhá prodleva, než je práce publikována. Z těchto důvodů je doporučeno používat citační klíče, obsahující jméno autora (ve formátu akronymu, tj. složeno z příjmení a iniciály jeho jména) společně se zkratkou názvu práce, oddělených dvojtečkou. Například TaylorP:intso. Způsob jak zkrátit délku titulku, není sice až tak důležitý, ale je doporučeno používat první tři znaky z význačného slova následovaného po jednom znaku z dalších tří význačných slov, s tím, že se ignoruje akcent a následující obvyklá slova tzv. noise words : a, an, and, as, at, da, dans, das, de, del, der, des, di, die, du, el, en, et, for, from, im, in, la, le, les, los, of, on, or, the, to, und, von, zur Některé příklady citačních klíčů budou uvedeny v popisu typů publikací(kap. 5). Pokud budeme psát obsáhlou bibliografickou databázi je vhodné, aby všechny položky v jednoduchém bibliografickém souboru se skládali ze stejných složených slov (stejný akronym) např. TaylorP. Toto složené slovo by mělo souhlasit se jménem souboru (TaylorP.bib). Stejně tak i dotyčná pole, která nebyla napsána tímto autorem. Například bibliografie této osoby napsaná někým jiným, by měla být zahrnuta uvnitř tohoto bibliografického souboru. Pokud budou dodrženy tyto konvence pro citační klíče, vhodný program (ne však BibTeX samotný) bude schopen automaticky vyhledávat vhodné bibliografické soubory. Například authcite.sty makro balíček LaTeXu bude automaticky rozvinovat akronymové části v citačním klíči a dávat je do příkazu \bibliography, což způsobí, že BibTeX vyhledá odpovídající soubory. 3.5 BibTeXové syntaktické chyby Elektronické ová adresa Jelikož BibTeX pro (konec komentáře) a začátek vstupu záznamu, musí se psát každá ová adresa v komentáři (nebo strukturované hlavičce) tak, jak ukazuje následující příklad. = {pt at dcs.qmw.ac.uk}, kde nahrazuje at. Zdeněk Rosůlek 18

19 Chybějící čárky Každý pár položky, který se zapisuje s následující syntaxí field={value}, musí být oddělen od ostatních pomocí čárek. BibTeX vyřadí databázové soubory, jestliže zde chybějí čárky. Například v Hypatii [1] je tato chyba ignorována a je automaticky korigována programem prettybib. Podobné chyby, jako je chybějící = mezi jménem položky a jeho hodnotou jsou také v BibTeXu považovány za závažné chyby, ale Hypatia je koriguje pomocí prettybib. Komentáře uvnitř bibliografických položek Tyto komentáře musí být vkládány jako hodnota pole s názvem comment (komentář). Cokoliv v poli note (poznámka) bude BibTeXem vytištěno na výstup v použitém stylu. Neomezený rozsah čísel Můžeme zapisovat čísla, jako je rok, číslo svazku, aniž bychom je uzavírali do závorek nebo mezi uvozovky, ale v BibTeXu je třeba udat jejich rozsah. (Programem prettybib je to korigováno). Chyby v souboru *.aux Tento soubor je vygenerován LaTeXem a slouží pro zpracování Bib- TeXem. Není dovoleno použít dva, nebo více příkazů \bibdata, ani dva nebo více příkazů \bibstyle, opakujících se položek. BibTeX vyžaduje, aby zde byl přesně jeden příkaz \bibdata, který udává čárkou oddělená jména bibliografických souborů, generovaných LaTeXem pomocí příkazu \bibliography. Dále vyžaduje přesně jeden příkaz\bibstyle, který udává použitý styl citací a je generován příkazem \bibliographystyle v souboru LaTeXu pro použitý styl. Nesmí se zde opakovat jména bibliografických souborů a všechny tyto soubory musí existovat. Bibliografické položky nemohou být opakovány. Pakliže toto není splněno BibTeX nahlásí závažnou chybu. Nahrazování by bylo více inteligentnější. LaTeXový makro balíček authcite.sty provádí některé manipulace se jmény bibliografických databází. 4 Používání bibliografických databází 4.1 příkaz \cite v BibTeXu a LaTeXu Bibliografické databázové soubory jsou zdroje, které se načítají a mohou být používány ostatními autory, kteří se odkazují právě na naše dokumenty. Pokud záznam, na který se chceme odkazovat, je zahrnut v databázi BibTeXového formátu, je velice jednoduché citovat ho v LaTeXovém dokumentu. Stačí jen napsat, například: \cite{taylorp:intso} v souboru.tex. LaTeX poté (po několika iteracích přeložení) vepíše label právě na tom místě textu, kde je vložen příkaz citace. Není to stejné, jako kdybychom použili citačního klíče, ale odkaz na citaci je formátován zvoleným stylem definovaným v BibTeXu. Odkaz může být například číslo [9], nebo mnemotechnicky vytištěná zkratka jako např. [Tay96]. Na konci dokumentu, v místě, kde chceme uvést seznam všech referencí, napíšeme příkaz \bibliografy{girardjy,kahng,taylorp}, který bere v úvahu všechny bibliografické soubory v něm uvedené. Makro balíček authcite.sty generuje tento seznam automaticky, pokud bude napsán příkaz \bibliography{} s prázdným obsahem mezi složenými závorkami. Musíme také BibTeXu sdělit, jaký formátovací styl pro seznam referencí má použít, například příkazem \bibliographystyle{alpha}. Zdeněk Rosůlek 19

20 Všechny tyto nastavení program LaTeX využije a zapíše do souboru.aux. Po prvním spuštění LaTeXu a tím přeložení a vyvoření souboru s informacemi o všech použitých referencích, musíme spustit program BibTeX. Ten čte právě soubor.aux ve kterém jsou všechny odkazy a potřebné informace o použitém stylu, a dále pak prohledává všechny odkazované databázové soubory s bibiliografickými údaji v něm uvedené a generuje jako svůj výstup soubor.bbl. Po dalším spuštění La- TeXu a nalezení příkazu pro vysázení referencí (\bibilografy{}) bude čten právě tento výstupní soubor BibTeXu a v tomto místě vysázen daný seznam. Bohužel je třeba ještě jedno spuštění LaTeXu, které poskytne chybějící informace do textu, kde se citují dané dokumenty (příkazy \cite{...}). Ještě zde máme k dispozici jeden příkaz k citování a to \nocite{...}, který sice vysází citovanou publikaci v seznamu referencí, avšak v textu kde je použit nezobrazí odkaz ta tuto citaci. Slouží tedy k zobrazení citace na kterou není nikde v textu dokumentu odkazováno. 5 Druhy bibliografických záznamů a jejich příklady U každého typu záznamu, viz dále, je uvedeno, která pole jsou povinná (required) a která se mohu vyskytovat, nebo nemusí, tedy pole volitelná (optional) pro standardní BibTeXové styly. Pro uvádění publikací na internetu (balíčkem Hypatia) je doporučeno v částech, kde jsou uváděna jméno souboru, nebo URL adresa právě daného dokumentu ve verzi DVI, nebo v Post- Skriptu, aby zahrnovaly Článek (přednáška) publikovaný v naučném author = {Paul Taylor}, title = {Intuistionistic Sets and Ordinals}, journal = JSL, volume = 61, number = 3, month = Sep, year = 1996, pages = { } } Pole author, title a year jsou povinné, ale volume, number, pages a note jsou také vytištěna BibTeXem jestliže jsou uvedena. Výše zmíněný string JSL je zkratka, která bude nahrazena jménem časopisu definovaným jinde v databázi. Pro balíček Hypatia je doporučeno zahrnutí pole abstract v databázi, které se poté objeví na příslušných osobních stránkách a ve vyhledávacích Učebnice, nebo výzkumná author = {Jean-Yves Girard and Yves Lafont and Paul Taylor}, title = {Proofs and Types}, publisher = CUP, year = 1989, series = {Cambridge Tracts in Theoretical Computer Science}, volume = 7, booktitle = {Proofs and Types}, isbn = { } } Zdeněk Rosůlek 20

21 Pole author (nebo editor), title, publisher a year jsou povinná, ale volume, number, series, edition a note jsou také vytištěny BibTeXem, pokud jsou uvedena. Výše uvedený string CUP je nahrazen jménem vydavatele. Pro balíček Hypatia je dobré zahrnout i pole isbn. Jestliže tato kniha obsahuje přídavné kapitoly, vystupující v databázi publikace, pak může být na tuto publikaci odkazováno pomocí crossref pole v ale název v poli title musí být stejný jako v author,title, howpublished, (adress, year, Sbírka, jako sbírka prací jednotlivých autorů, nebo jednotlivých témat. Stejné jako Spřažený odstavec author = {Paul Taylor}, title = {Semantics of System F}, chapter = {appendix A}, pages = { }, crossref = {GirardJY:prot} } Pole author (nebo editor), title a chapter (nebo pages) jsou povinné, ale mohou být nahrazeny polemi nadřazenou publikací přes odkaz v poli crossref, který obsahuje citační klíč na samotnou knihu book. Pole volume, number, series, address, edition a note jsou také vytištěny Bib- TeXem, pokud jsou Stránky ve sbírce (@collection). Stránky v určitém dokumentu konference author = {Paul Taylor}, title = {The Fixed Point Property in Synthetic Domain Theory}, pages = { }, crossref = {KahnG:lics6} } author a title jsou povinné, jako jsou booktitle a year, ale mohou být přepsány přes odkaz (crossref) obsahující citační klíč právě název title se musí vyskytovat v poli booktitle Pole pages a note v článku a volume, number, series, organization publisher jsou také vytištěny BibTeXem, jestliže Například pro popis author = {Paul Taylor}, Zdeněk Rosůlek 21

22 title = {Commutative Diagrams in {\TeX}}, url = {ftp://ftp.dsc.qmw.as.uk/pub/tex/contrib/pt/diagrams/index.html}, year = 1990 } author (nebo organization) a title jsou nařízena, address, edition (version), year a note jsou také vytištěny BibTeXem, pokud jsou Magisterská práce je formátována Pro rozmanité (různorodé) účely. (author, howpublished, title, @phdthesis Disertační práce (PhDr. author = {Paul Taylor}, title = {Recursive Domains, Indexed category Theory and Polymorphism}, school = {Cambridge University}, year = 1986 } Pole author, title, school (tj. universita, nebo vysoká škola) a year jsou povinná, address a note jsou také vytištěna BibTeXem, pokud jsou Listy předané na editor = {Gilles Kahn}, title = {Proceedings, Sixth Annual IEEE Symphosium on Logic in Computer Science}, booktitle = {Proceedings, Sixth Annual IEEE Symphosium on Logic in Computer Science}, year = 1991, organization = {IEEE Computer Society Press}, isbn = { }, lib-congress = { }, location = {Amsterdam} } Pole editor (nebo organisation), title, a year jsou povinná, ale volume, number, series, address, publisher a note jsou vytištěny BibTeXem, pokud jsou tato pole uvedena. Tyto položky mohou být také použity při vyplněném poli crossref v ale název (title) musí být zopakován, Článek publikovaný neformálně přes oddělení university. Author, title, institution, year (number, address, Průběžná práce, která ještě nebyla formálně publikována. Zdeněk Rosůlek 22

23 @unpublished{taylorp:towutil, author = {Paul Taylor}, title = {Rowards a Unified Theory of Introduction, {I}:The General Recursion Theorem}, year = 1996, note = {To be presented at \emph{logical Foundations of Mathematics, Computer Science and Physics --- Kurt G\"odel s Legacy (G\"odel 96)}, to be held August 1996, in Brno, Czech Republic; aviable by FTP}, organization = {IEEE Computer Society Press}, url = {ftp://ftp.dcs.qmw.ac.uk/pub/lft/pt/towuit1.dvi.gz} } Pole author, title a note jsou povinné, ale year je také vytištěn, pokud je uveden. Balíček Hypatia doporučuje zahrnout abstract, ten se potom objeví na osobních stránkách ve vyhledávacích rejstřících tak, že lidé mohou mít přehled o práci, která je v tomto momentu již udělána. V tomto případě je doporučeno Hypatií poskytnout url adresu na DVI nebo PostSkript elektronické verze dokumentu samotného. 5.1 Styly BibTeXu Program BibTeX vysází reference a odkazy na ně v textu vždy podle nějakého stylu. Tento styl musí být explicitně uveden na začátku LaTeXového dokumentu pomocí příkazu \bibliographystyle{}, kde ve složených závorkách může být například jeden z níže uvedených stylů. Tato jména stylů jsou stejnojmenné názvy souborů s koncovkou.bst, ve kterých je patřičný styl definován. Seznam standartních bibliografických stylů je: plain Tento styl je formátován podle doporučení viz [12]. Záznamy jsou seřazeny abecedně a je na ně odkazováno čísly. unsrt Styl je formátován podobně jako plain, ale s vyjímkou setřídění, nebot záznamy jsou uspořádány v pořadí podle jejich první citace. alpha Tento styl je stejný jako styl definovaný v plain, s tím rozdílem, že záznamy jsou citovány pomocí zkratky složené z prvních třech písmen jména autora a uvedeného roku publikace, tedy např. [Tay96] pro author = {Paul Taylor}... year = {1996} abbrv Tento styl je stejný, jako plain, avšak uvedené záznamy jsou více kompaktní, nebot je použito zkratek namísto celého jméno autora, názvu měsíce a názvu časopisu. Zde jsou uvedeny pouze základní styly, avšak BibTeX balíček obsahuje mnoho dalších stylů a dají se dodefinovat i vlastní styly, stačí vytvořit vlastní soubor s definicemi a pojmenovat ho s příponou.bst. Styly jsou uloženy v adresáři \bibtex\bst\base, kde jsou uloženy právě tyto standartní styly (základní). Zdeněk Rosůlek 23

24 6 Kódování Jelikož je BibTeX rozšířeným formátem, je jeho použití různorodé a hlavně celosvětové. Protože se používá v různých zemích s různými jazyky, které obsahují některé odlišné znaky a tím i různé znakové sady. K tomu, aby BibTeX mohl pracovat s různými druhy kódování, má ke každé znakové sadě k dispozici soubor s potřebnými informacemi. Tyto soubory potřebné k definici jsou součástí BibTeXu a mají koncovku.csf. Dávají BibTeXu informace, které znaky jsou brány jako písmena, jaký je vztah mezi velkými a malými písmeny, jak se budou třídit atd. 6.1 Struktura CSF definičních souborů Jsou to soubory obsahující kódy znaků a třídění. Codepage and Sort definiton File (CSF). Celý soubor je rozdělen do několika sekcí, každá sekce je uvozena řídícím příkazem a celá je vnořena mezi složené závorky. Stručný popis všech sekcí je schrnut v tabulce 1. řídící příkaz \lowupcase \lowercase \uppercase \order stručný popis sekce pro vzájemné převody mezi malými a velkými písmeny převody z velkých na malá písmena převody z malých na velká písmena pořadí ve kterém jsou znaky tříděny Tabulka 1: Jednotlivé sekce CSF souboru Zápis sekcí v definičním souboru je zde uveden na příkladu sekce lowupcase (vzájemném vztahu mezi malými a velkými písmeny). \lowupcase{ % Lowercase Uppercase remarks % Code TeX Code TeX % ^a ^A % ^^e2 \^{a} ^^c2 \^{A} ă Ă % ^^e3 \u{a} ^^c3 \u{a} } Nyní rozebereme význam a strukturu jednotlivých sekcí podrobněji lowupcase Zde se uvádí vzájemný vztah mezi malými a velkými písmeny, který se používá pro převody z malých znaků na velké i v obráceném směru, tedy z velkých na malé. Tento převod se použije, pokud je mezi znaky symetrický převod, tedy malé písmeno se konvertuje na velké a obráceně, velké na to stejné malé písmeno. To je tehdy, pokud neexistuje daný znak v žádné ze sekcí uppercase (6.1.3) a lowercase (6.1.2). V prvním sloupci je zakódován znak malého, ve druhém naopak velkého písmena, viz následující syntaxe: \lowupcase{ <LC-1> <UC-1> <LC-2> <UC-2>... <LC-N> <UC-N> }, % Komentář začíná znakem procenta kde v každém páru představuje <LC> znak malého písmena a <UC> znak velkého písmena. Zdeněk Rosůlek 24

25 6.1.2 lowercase Tato sekce je použita k definici ekvivalentů specifických znaků na malé znaky. Pokud není vztah symetrický, jinak se použije lowupcase (6.1.1). Viz následující syntaxe: \lowercase{ <UC-1> <LC-1> <UC-2> <LC-2>... <UC-N> <LC-N> }, % Komentář začíná znakem procenta kde v každý pár definuje malé písmeno <LC> ekvivalentně k velkému písmenu<uc>. Nelze předefinovat na malá písmena ASCII znaky (kód < 128), tj všechny znaky v levém sloupci musí mít hodnotu kódu větší než uppercase Obdobně jako předchozí, ale přesně opačně, tato sekce je použita k definici ekvivalentu specifických znaků na velké znaky. Pokud není vztah symetrický, jinak se použije lowupcase (6.1.1). Viz následující syntaxe: \uppercase{ <LC-1> <UC-1> <LC-2> <UC-2>... <LC-N> <UC-N> }, % Komentář začíná znakem procenta kde v každý pár definuje velké písmeno <UC> ekvivalentni k malému písmenu<lc>. Nelze předefinovat na velká písmena ASCII znaky (kód < 128), tj všechny znaky v levém sloupci musí mít hodnotu kódu větší než order Tato sekce CSF souboru je BibTeXem použita k načtení informací o pořadí znaků pro abecední třídění. Syntaxe je následující: \order{ <char-1> <char-2> <char-3> <char-4> - <char-5> <char-4> _ <char-5>... <char-n> }. % Komentář začíná znakem procenta % bílé znaky (whitespace) mezi znaky % pomlčka mezi znaky % podtržítko mezi znaky Všechny znaky na stejném řádku mají při třídění stejnou váhu. Konstrukce <char-1> _ <char-2> znamená, že všechna písmena mezi znaky 1 a 2 včetně budou mít stejnou váhu. Například konstrukce A Z způsobí, že všechny velké alfabetické znaky v ASCII budou mít stejnou váhu při třídění znaků a je to vlastně to samé, jako kdybychom všechny tyto znaky vypsali vedle sebe na jediný řádek. Zápis <char-1> - <char-2> bude znamenat, že váha pro třídění bude dána v tomto rozsahu znaků vzestupně a to počínaje prvním znakem, tedy nejnižší vahou, postupně přes celý rozsah a konče posledním znakem s váhou danou součtem prvního znaku a počtu rozsahu. Například A Z Zdeněk Rosůlek 25

26 bude znamenat, že všem velkým alfabetickým znakům budou přiřazeny postupně po jedné jednotlivé váhy, počínaje znakem A a konče Z. Tedy je to to samé, jako kdybychom napsali postupně všechna velká písmena základní abecedy postupně pod sebe (každé na jeden řádek) počínaje A (první řádek) a konče Z (26. řádek). Tedy znaky na začátku sekce mají nejnižší třídící váhu (abecedně první) a poslední nejvyšší řádek sekce má váhu nejvyšší (poslední písmeno abecedy). Všechny znaky, které nejsou uvedeny v této sekci (včetně ASCII znaků), mají nejvyšší váhu a při abecedním třídění jsou tedy zařazeny až na konec. 6.2 Utilita pro konverzi Je nutné vytvořit utilitu pro převod definičních souborů na binární soubory obsahující pole, která jsou zpracovávána objektem, přes jehož metody můžeme pohodlně pracovat s jakoukoliv znakovou sadou, aniž bychom se museli nějak omezovat jejími definicemi. Tento objekt lze pak využít například při programování v C++ Builderu. Pro vytvoření utility je nutné znát strukturu definičních souborů a proto zde byla popisována Popis utility Vytvořil jsem utilitu, která zpracovala jako vstupní soubor s definicemi kódových sad (.csf) a jejímž výstupem byl binární soubor (.dat), který obsahoval zakódovaná data v podobě několika polí, pro vzájemný převod. Utilita má název CSFKonverze a její jediný formulář je zobrazen na obrázku 1. Nejprve je nutné tlačítkem OtevriSoubor načíst definiční soubor (*.CSF). V levém okně se nám Obrázek 1: Okno programu utility CSF konverze zobrazí celý tento soubor tak, jak byl načten. Poté se můžeme pomocí tlačítka VypisObsah podívat jaké všechny sekce byli zpracovány a která pole byla tedy utilitou vygenerována. Dále je na formuláři ve sloupci uspořádáno celkem 6 tlačítek, jež odpovídají generovaným polím. Při jejichž použití je v pravém okně vždy vypsána patřičná tabulka odpovídající vygenerovanému poli. Zdeněk Rosůlek 26

27 V levém rámečku může uživatel využít pomocných funkcí pro zjišt ování kódu zadaného znaku a naopak. Také je zde možné zapsat tzv. BibCode (kód znaku v Latexu pro akcent (3.3)) u kterého je možné tlačítkem BibCode->ASCII zobrazit příslušný decimální kód tohoto znaku. Důležitou funkcí utility je vlastní uložení kódových tabulek do binárního souboru (*.dat) pomocí tlačítka WriteData. Toto tlačítko je společně s dalším pomocným tlačítkem pro výpis dat binárního souboru umístěno v pravém dolním rámečku na formuláři Struktura výstupního binárního souboru.dat Výstupem jsou tato pole pro různé převody, v závorce je uveden rozsah určitého pole: NaASCII pro převod speciálních znaků na ASCII ( ) NaVelka pro převod speciálních znaků na velká písmena ( ) NaMala pro převod znaků na malá písmena ( ) Typ určují typ znaku (0-255) řídící znak mezera,... oddělovače,;. závorka ()[] výraz &! * + - /? : číslice,... velké písmeno malé písmeno Trideni každému znaku, nebo skupině je přiřazeno číslo určující pořadí v abecedě (třídící váha) ( ) BabelTable obsahuje informace o hexa kódu znaku, velikosti (velké/malé), opačném znaku (velké malé) a BibTeX kódu (např.\^{a} pro á ). Tento binární soubor obsahoval tedy všechna tato pole a aby bylo zřejmé o jakou jde znakovou sadu, je na začátku tohoto souboru uložena hlavička, jejíchž prvních 8 znaků je zkrácený název znakové sady, pro kterou jsou pole vygenerována. Například ze souboru cp1250pl.csf se vygeneruje soubor cp1250pl.dat a jeho prvních 8 znaků bude cp1250pl. 6.3 Objekt využívající binární soubor.dat Pomocí předcházející utility máme tedy pro každou kódovou sadu vytvořen kompaktní soubor jenž obsahuje výše zmíněná data (6.2.2). Binární data jsou zpracovávána třídou, v jejímž konstruktoru se inicializuje požadovaná znaková sada. Pokud daná data existují, tj. existuje binární soubor, který je neporušený, to znamená že obsahuje všechna pole, pak tato třída poskytuje mnoho metod pro práci se znaky. Některé metody a atributy této třídy jsou uvedeny v tabulce 2. Metody, jejichž vstupním parametrem je datový typ AnsiString, jsou přetíženy i pro ukazatel na pole znaků (char *). Tento objekt s názvem třídy CT- Prevody byl stejně jako utilita pro konverzi vytvořen v C++ Builderu verze 5.0. Při programování jsem využil kromě helpu přímo ve vývojovém prostředí od Borlandu i následující literatury. Jednak jde o programování pod Windows [11], vlastní programovací jazyk [2] a vývojového prostředí [7]. Zdeněk Rosůlek 27

28 CTPrevody() Konstruktor jemuž je parametrem předáván název binárního souboru (*.dat) CZcmpsort() porovnává vstupní řetězce CZpos() hledá v řetězci podřetězec, dle zadaných možností způsob hledání zadán jako číslo ve formě součtu konstant (ne)rozlišovat diaktritiku, mala/velka, začátek/konce řetězce) CZtoASCII() převádí řetězec na ASCII znaky řetězce CZtoLower() převádí řetězec na malá písmena CZtoUpper() převádí řetězec na velká písmena CZtridicikod() vrací kód znaku pro třídění znaků IsEmpty atribut udávající naplnění objektu daty Tabulka 2: Některé funkce třídy CTPrevody pro konverzi mezi znaky Zdeněk Rosůlek 28

29 7 Rozkládání bibliografického souboru Nyní se sám pokusím popsat principy rozložení celého bibliografického souboru na jednotlivé záznamy a ty poté na jednotlivá pole, ze kterých už vyčteme konkrétní data. Budeme se tedy nejdříve zabývat rozlišením jednotlivých záznamů. Poté budeme daný záznam analyzovat a získávat z něho patřičná data v něm uložená. Problematika rozkládání, jak je zde mnou popisována, vychází z mého vlastního pohledu na celý BibTeXový záznam. Tyto principy jsem využil při programování komponenty (kapitola 9). Obrázek 2: Úrovně vnoření bibtexového záznamu Z důvodu srozumitelnějšího popisu, jakou část záznamu právě rozkládám, zde budu používat pojmu tzv. úrovně vnoření, jež odpovídají počtu obklopujících závorek z levé, nebo pravé strany. Tyto úrovně jsou přehledně vidět na obrázku Rozlišení jednotlivých záznamů Jak již bylo popsáno v popisu formátu BibTeXového záznamu viz (2.3), každý záznam začíná a bezprostředně po něm následuje název typu záznamu, tzv. entry, jejichž úplný seznam je uveden v (2.4). Za tímto vstupem je pak do složených závorek { } uzavřen celý záznam. Znakem zavináče (@) začínají také takzvané pseudozáznamy (2.3.1), jako jsou komentář (@comment), zkratka pro nějaký text (@string) a nebo příkaz pro zapsání formátovacích znaků (@preamble). Tyto pseudo záznamy mají stejnou syntaxi, jako klasické záznamy. Pro jejich rozložení na jednotlivá pole lze tedy použít stejných pravidel, jako pro záznamy klasické. Proto se tedy můžeme spolehnout na to, že každý záznam, popřípadě pseudozáznam, vyhledáme v daném bibtexovém souboru postupným čtením od začátku souboru, až narazíme na při současném počítání složených závorek. Všechny vstupy uvozené tedy známe, máme je uloženy v nějakém seznamu a můžeme je tedy při čtení porovnávat s načtenými ze vstupního souboru. Známe i úroveň zanoření, nebot počítáme složené závorky a také víme kde se nacházíme, nebot postupujeme při rozpoznávání od začátku souboru. Pokud je toto všechno splněno můžeme vyhledávat tzv. tokeny BibTeXem označované jako entry, tedy vstupní body všech záznamů. Prohledáváme vstupní soubor od začátku, započítáváme složené závorky a kontrolujeme konce řádků. Pakliže najdeme spolu se známým jménem vstupu (entry), což porovnáme se všemi známými vstupy v našem seznamu a rozdíl počtu levých a pravých složených závorek bude roven nule, pak jsme nalezli vstupní bod záznamu, popř. pseudozáznamu. Z tohoto je patrné, že jakýkoliv jiný text v úrovni zanoření 0 a nezačínající bude ignorován a proto lze tímto způsobem do bibtexového souboru zapisovat komentáře. BibTeX tedy kontroluje správnou syntaxi každého tokenu, tj. pokud začíná v úrovni 0 nějaký text zavináčem, pak je kontrolována správná syntaxe, jako když jde o záznam. Pokud je vstup neznámý Zdeněk Rosůlek 29

30 (nenalezeno při porovnávání se znýmými vstupy), hlásí při překladu upozornění (warning), ale pokud neodpovídá počet hlavních složených závorek, tedy těch co uzavírají záznam, hlásí BibTex při překladu chybu (error). Vyhledání tokenu, neboli vstupního bodu (entry) každého záznamu, je nejdůležitější a první věcí, kterou musíme provést. Poté teprve můžeme rozebírat záznam a rozlišovat jeho jednotlivá pole (ozn. name nebo keys) a k nim přiřazené hodnoty (values). Ještě než se pustíme do prohledávání těchto polí, řekněme si něco o nejdůležitějsí části uvnitř záznamu a tím je tzv. citační klíč. 7.2 Citační klíč Citační klíč je odkaz, pomocí kterého se odkazujeme na konkrétní záznam v dokumentu. Tento klíč, se zapisuje podle doporučených pravidel, jak bylo uvedno v (3.4). Tímto klíčem se vlastně určuje, jestli daný záznam bude vysázen mezi referencemi v dokumentu. Ale zde se zabýváme rozpoznáváním a rozložením záznamu na jednotlivé údaje, proto nás především zajímá, že citační klíč je uložen v úrovni 1. zanoření, tedy mezi složenými závorkami, jakož i ostatní klíče (name) daného záznamu. Citační klíč je uveden jako první, to znamená, že následuje hned po první levé složené závorce (otevírající daný záznam) a končí oddělovačem čárka,. 7.3 Rozlišení polí a získání údajů Obrázek 3: Obecný popis BibTeX záznamu Všechna další pole jsou v úrovni zanoření 1. Celý záznam se skládá z několika polí a ty se rozdělují na dvě základní skupiny. Jsou to pole povinná (required) a volitelná (optional). Zatímco při absenci volitelných polí se při překladu nic neděje, u polí povinných se při jejich absenci, nebo prázdné hodnotě {} vypíše při překladu BibTeXem varování. Všechna pole jsou oddělena oddělovačem čárka, v úrovni zanoření 1. Hodnota přiřazovaná ke každému klíči je přiřazena pomocí znaku rovnítka =, po kterém může následovat několik možností zápisu řetězce, čísla, nebo zkratky. V případě zkratky, která je předem definována pomocí se píše pouze tato zkratka. Některé tyto zkratky jsou už předdefinovány, například pro názvy měsíců, např. Sep pro měsíc září. Stejně tak se zapisují jednoduchá čísla, jako například rok Ostatní hodnoty, jako rozsah stránek řetězce znaků apod., se píší do složených závorek, tedy úroveň vnoření 2. Tento zápis může být nahrazen i dvojitými uvozovkami, které ohraničí hodnotu pro daný klíč. Nelze však napsat hodnotu bez použití první (složené závorky), či druhé (dvojité uvozovky) varianty, jinak by totiž BibTeX považoval tento řetězec za zkratku a ohlásil by chybu, pokud by žádnou nenašel. Varianty zápisu jsou patrné na obou obrázcích (2)(3). Zdeněk Rosůlek 30

31 7.4 Význam rozkládání Rozkládání souboru z Bibliografickými údaji je nutné k separování jednotlivých záznamů a získání jejich dat. Výše zmíněným postupem jsou zpracovávány záznamy v komponentě pracující s Bib- TeXem viz kapitola 9. Tato část měla ukázat, jak je možno postupovat při získávání dat z tohoto formátu a jaké mohou nastat některé z problémů při zpracování BibTeX dat na úrovni jejich načítání. Zdeněk Rosůlek 31

32 8 BibTeXové editory BibTeXové soubory, ze kterých BibTeX vytváří seznam referencí, na základě citací použitých v dokumentu, jsou obyčejné textové soubory. Lze je proto editovat a vytvářet v jakémkoliv textovém editoru, který neukládá žádné speciální formátovací znaky, ale pouze prostý text. Avšak pro pohodlnější práci existuje mnoho editorů, at už více či méně usnadňující práci při úpravě nebo zakládání nových záznamů. Jelikož BibTeX je rozšířeným formátem, existují programy zpracovávající tento formát, jakož i systém pro přípravu dokumentů LaTeX,na několika platformách pod různými operačními sytémy. At už jde o Windows, Linux a nebo Macintosh. 8.1 Editory pro Windows EditPlus Edit + je textový, HTML i programátorský editor pro Windows. Standartně neobsahuje podporu BibTeXu, ale po nahrání a nastavení potřebných definičních souborů se dá používat k editaci a vytváření bibliografických souborů. Je proto třeba stažení dvou souborů. Jsou to: bibtex.stx, ktetý obsahuje definice pro zvýrazňování klíčových slov (syntax highlighting) a bibtex.acp pro automatické doplňování syntaxe a klíčových slov (auto-completion). Existuje ještě třetí pomoc při psaní a upravování bibliografikých databází a to seznam se všemi klíčovými slovy, který je zobrazen v pomocném okně Cliptex, jehož definice je uložena v cliptext file (CTL). Pro bibtex se mi podařilo vyhledat pouze první dva konfigurační soubory. I když třetí definiční soubor se seznamem klíčových slov je v podstatě v tomto případě zbytečný, nebot při zápisu typu záznamu je automaticky (pomocí auto-completion) vypsán seznam všech povinných polí k danému typu záznamu. Auto-completion funguje tak, že zapíšeme typ nového záznamu, včetně zavináče, a stiskneme mezerník. Program automaticky doplní povinná {, author = "", title = "", journal = "", year = } Syntax highlighting zobrazuje různé druhy klíčových slov odlišnými, předem definovanými barvami. Tento editor je dobrým pomocníkem při vytváření a editaci bibtexových souborů a umožňuje spoustu dalších věcí včetně správy větších projektů BibEdit 1.1 BibEdit je editor pro operační systém Windows, který je přímo určen pro editaci bibtexových databázových souborů. Na obrazovce můžeme přepínat mezi dvěmi základními zo- Zdeněk Rosůlek 32

33 brazeními, co chceme vidět. První obrazovka zobrazuje seznam všech záznamů v bibliografickém souboru a zobrazí se po zmačknutí klávesy ESC nebo zaškrtnutím v menu View List. Uvedený seznam obsahuje všechny záznamy obsažené v souboru v pořadí dle jména reference, zde označovaného jako name, dále zobrazuje ještě pole author a title. Druhá obrazovka aktivovaná po stisku klávesy enter nebo v menu po zaškrtnutí View Record se okno přepne na aktuální (předtím vybraný v okně se seznamem všech záznamů) záznam. Tento záznam lze poté editovat a přidávat k němu další pole. Nezávisle na tom, ve kterém se nacházíme okně, se dají zobrazit další pomocná okénka. Define macro okno kde jsou zobrazena všechna makra (tedy zkratky pro řetězce znaků zapsané pomocí (viz. pseudozáznamy kap ). V tomto okně lze přidávat, mazat a editovat existující makra v celém souboru. Edit preamble v tomto okně je seznam všech ostatních pseudozáznamů a také ostatní text a poznámky, který není zanořen v úrovni žádného ze záznamů viz. úrovně vnoření (orb.kap. 2) Editor umí otevírat existující záznamy, ale i přidávat záznamy z jiných souborů a slučovat tak více souborů v jeden velký databázový soubor, toto se provádí pomocí příkazu v menu File Import. Tímto se celý bibtexový soubor přidá do aktuálního (otevřeného) souboru a to i včetně záznamů které jsou v obou databázích stejné, tj. vzniknou duplicitní záznamy. Také se přidají všechny zkratky, komentáře a další poznámkový text mimo záznamy. Další užitečnou a častou vlastností u většiny editorů, nejinak je tomu i u tohoto, je vyhledání požadované fráze, v okně se seznamem záznamů jde toto vyhledávání omezit jen na vybrané záznamy. Další užitečnou funkcí, která mi však nefungovala je vkládání vybraných citací do schránky. Tento příkaz (Edit Copy citation) umožňuje podle volby vkládat obsah Citace a bibliografické záznamy (příkaz \cite{}) Pouze bibiliografické záznamy (příkaz \nocite{}) Bibliografické příkazy: \thebibliography{} a \bibliographystyle{} BibDB V tomto editoru pro správu BibTeXových databází se vychází z hlavního okna, ve kterém je zobrazen jeden záznam, vlastně spíše jeho náhled. Pomocí ikon šipek umístěných na liště nástrojů lze přecházet na další, předchozí, poslední a nebo první záznam v souboru. Pro nastavení aktuálního záznamu lze použít několika možností v hlavním menu příkazem Goto, dále jsou uvedeny jen některé zajímavější. EntryList zobrazí okno, v němž jsou pod sebou vypsány názvy všech citačních klíčů otevřeného souboru. Overview zobrazí okno, ve kterém je na každém řádku uveden citační klíč, rok a abstrakt daného záznamu. Tento seznam je vypsán od aktuálně zobrazeného záznamu v hlavním okně. Number výběr záznamu s daným pořadovým číslem (číslováno dle pořadí uložení v souboru) Search umožňuje vyhledávat danou frázi ve vybraných polích (author,title,...) a to i pomocí regulárních výrazů. Zdeněk Rosůlek 33

34 Obrázek 4: Hlavni okno editoru BibDB. Jelikož je to editor, umí samozřejmě u každého záznamu editovat všechna jeho pole, měnit jeho typ (entry), přičemž se zde dá zobrazit i roztřídění jednotlivých polí daného typu do tří skupin polí a to povinná (required), volitelná (optional) a pole, která budou ignorována (ignored). Dále editor umí importovat, či exportovat BibTeXové záznamy. Export umožňuje do těchto formátů: BibTeX (*.bib) - klasický BibTeXový formát Comma delimited (*.dbm) - Což jsou hodnoty jednotlivých polí oddělené čárkami, například pro záznam na obr.4 je výstup následující: "GirardJY:99","book", "Jean-Yves Girard and Yves Lafont and Paul Taylor",,,1989,"Proofs and Types","Proofs and Types",, "Cambridge Tracts in Theoretical Computer Science",,7,,,,,"@CUP",,,,,,,,,,,,,," " Tib (*.ref) - Pro uvedený případ vypadá výstup následovně: %F GirardJY:99 %A Jean-Yves Girard %A Yves Lafont %A Paul Taylor %D 1989 %T Proofs and Types %B Proofs and Types %S Cambridge Tracts in Theoretical Computer Science %V 7 %I CUP Refer (*.ref) - Podobný jako předchozí formát Tib. Plain text (*.txt) - Textový soubor viz následující výpis: BOOK: GirardJY:99 Zdeněk Rosůlek 34

35 Title: "Proofs and Types", volume 7, In the series: "Cambridge Tracts in Theoretical Computer Science" Author: Jean-Yves Girard and Yves Lafont and Paul Taylor Published by: Prentice Hall, Isbn: ANSI (*.txt) - Obdobně jako předchozí ale ve formátu ANSI. HTML hypertext (*.htm) - výstupem je HTML stránka se zadanými záznamy. Při exportu je zde ještě mnoho dalších nastavení, jako je omezení expotru jen na některé položky (fields), výběru jen některých konkrétních záznamů (entries) atd. Stejně jako v editoru BibEdit (8.1.2) je i zde možno zobrazit všechny použité zkratky definované pomocí pseudozáznamů, jako je Zdeněk Rosůlek 35

36 9 Komponenta pro C++ Builder BibTeXový záznam se tedy dá celkem dobře systematicky rozkládat (kapitola 7) na jednotlivé záznamy a z nich zjišt ovat informace o daném dokumentu. Existují na to také různé speciální editory (kapitola 8), které poskytují slušný komfort při editaci a vytváření BibTeXových databází. Tyto záznamy lze také uložit v odlišných formátech, například jako záznamy v databázích (kapitola 12), kde je množství různých tabulek, jednotlivých polí záznamů, vzájemně propojených v závislosti na daném typu záznamu. A když máme data uložena v databázi, např. MySQL, lze jednoduše k těmto datům přistupovat pomocí webového rozhraní např. při využití PHP. Aby bylo možné zpracovávat tyto záznamy i v různých aplikacích vytvořených v prostředí C++ Builderu, byla v rámci mé semestrální práce vyvíjena komponenta, která poskytuje ve svých metodách přístup k danému záznamu a umožňuje editovat existující a vytvářet nové záznamy vybraných typů. Vývoj této komponenty však byl zastaven, nebot se ukázalo, že objekt REdit, který byl použit pro odvození komponenty (dědění objektu), si ke každému znaku ukládá použitou kódovou sadu (u každého písmene nastavena použitá klávesnice). Řešením by bylo napsat si svůj vlastní editor textu úplně od začátku, avšak tato cesta by byla náročná a pracná zvláště z časového hlediska. Nyní zde pouze nastíním některé z použitých objektů a základní strukturu vytvořené komponenty. 9.1 Struktura vyvíjené komponenty Vlastní komponenta nese název TBibEdit a jak jsem již zmínil je odvozena od TRichEdit. Aby kopmponenta reagovala na stisky kláves a jiné vyvolané události, obsahuje předefinované metody událostí pro stisk klávesy, kliknoutí tlačítka myši, změnu označení textu a mnohé další. Především však komponenta obsahuje vytvořené objekty pro práci se samotným BibTeXovým záznamem. Celý BibTeXový záznam je v této komponentě uložen ve třech seznamech typu TStringList, jedná se o následující atributy: strlistnames - obsahuje jména položek BibTeXového záznamu (author, title, year,...) strlistundo - obsahuje seznam všech změn při editaci uživatelem. Každý záznam v tomto listu je kompletní obsah BibTeXového textu. strlistvalues - v tomto seznamu jsou uloženy vlastní hodnoty BibTeXových polí ( Jim.Z Gettys and Phil Karlton and Scott McGregor, 1990,...). V tabulce 3 je uveden stručný popis některých metod této komponenty. Tato komponenta pro zpracování BibTeXových záznamů využívá ke své činnosti ještě dalších objektů, z nichž některé již byly zmíněny výše. Nyní se zde stručně o každé třídě zmíním BIBTEX LISTS Tato třída slouží především pro pohodlnější manipulaci s BibTeXovým záznamem. Jedná se především o snadnější manipulace s jednotlivými poli, než v objektu BIBTEX STRING. Základem jsou dva seznamy typu TStringList. První se jménem strlistnames uchovává názvy položek, druhý s názvem strlistvalues uchovává vlastní data položek. První záznam (pořadové číslo 0) je rezervován pro typ entry v seznamu strlistnames a citační klíč v seznamu strlistvalues. Třída obsahuje především metody pro manipulaci s těmito seznamy jako jsou FieldWrite(), FieldRead(), FieldDelete() a FieldExists(). Důležitými funkcemi jsou ImportBibTeX() a ExportBibTeX() pro import a export BibTeXového záznamu s tímto objektem. Zdeněk Rosůlek 36

37 Komponenta TBibEdit metoda popis AddAllReqoptFields přidá všechna povinná pole k danému typu (popřípadě i volitelná) ArrangeFields uspořádá pořadí položek popřípadě i smaže prázdné AddUndo() přidá celý text jako další položku do strlistundo Undo() provede vrácení poslední změny uživatelské jméno pro připojení k db metody pro práci s aktuální položkou DeleteCurrentField() maže aktuální položku ChangeCurrentFName() aktuální položka je změněna InsertCurrentField() vloží na místo kurzoru položku FormatCapitals() pro nastavování velkých písmen jednotlivých slov RemoveLFSP2() maže ukončení řádků a odstraňuje vícenásobné mezery metody pro import a export BibTeX záznamu List2BibEdit() z předaných strlistnames a strlistvalues vytváří text do do TBibEdit BibStr2BibEdit() předaný BIBTEX STRING převádí do TBibEdit Text2RichEdit() importuje vlastní záznam do komponenty TBibEdit (formátování, tabelátory) BibEdit2Lists() převádí text z BibEdit do předaného BIBTEX LISTS BibEdit2BibStr() převádí text z BibEdit do předaného BIBTEX STRING Tabulka 3: Tabulka metod komponenty TBibEdit BIBTEX STRING Tato třída pracuje s BibTeXovým záznamem jako se stringem typu AnsiString, který je uložen v její základní proměné s názvem m bib str. Obsahuje některé názvem podobné metody jako třída BIBTEX LISTS, avšak k jednotlivým položkám je zde přistupováno vyhledáváním ve stringu. Navíc jsou zde metody List2BibStr a BibStr2List využíváné pro import a export i vlastní komponentou TBibEdit CONVERT Třída Convert je využívána v ostatních objektech včetně komponenty. Jedná se především o různé konverze znaků, hledání úrovní vnoření pomocí složených závorek, formátovacích znaků, konců řádek, escape sekvencí pomocí znaků zpětného lomítka (backslash) a dalších. Pomocí těchto funckcí je řetězec analyzován a jsou z něho získávány údaje o názvech polí a jejich obsahu TBibItemSelForm Tato třída typu formulář slouží k zobrazení formuláře pro přidání a změnu polí v BibTeXu. Využívá k tomu combobox ze třídy TComboBoxInc. Třída zobrazuje na formuláři povinná a volitelná pole pro aktuální typ (entry). Dále pro přidávané pole vybrané v comboboxu zobrazuje jeho popis, k čemu se dané pole používá. Zdeněk Rosůlek 37

38 9.1.5 TComboBoxInc Je využívána na formuláři výše, pro výběr polí BibTeXu. Má několik speciálních vlastností, umí například vyhledávat pole po stisku kláves jeho začínajících písmen. Celá komponenta využívá mnouho dalších struktur, například pro uložení povinných a volitelných polí typů BibTeXových záznamů (BIBENTRY a BIBNAME), speciálních kódových znaků (BA- BELTABLE) a dalších, které zde nebudu rozebírat. 9.2 Připojení k MySQL Pokud má daná komponenta přistupovat k záznamům publikací, jenž budou uloženy v databázi, konkrétně MySQL, je nutné zajistit připojení a přístup k těmto datům. Pro připojení bylo plánováno využít komponent ZeosDBO. Měl jsem se seznámit s jejím zacházením, avšak kvůli zastavení vývoje komponenty TBibEdit nebyly tyto komponenty od Zeos Library využity. Dále jsou stručně popsány některé její vlastnosti a tento materiál tak může v budoucnu posloužit, jako základní náhled, k jejímu využití v jiných aplikacích prostředí C++ Builderu, kde bude nutné připojit se k databázi MySQL. Komponenta ZeosDBO je ke stažení na stránkách < pro verze C++ Builderu 4.0 a 5.0. Tato komponenta je naprogramována v Delphi a bylo nutné všechny její balíčky zkompilovat v prostředí C++ Builderu, aby tak vznikly použitelné komponenty Popis souborů ZeosDBO Nebudu se zabývat kompletním popisem všech balíčků a souborů, ale stručně shrnu, které balíčky jsou nutné pro práci s MySQL databází v Builderu a to v konkrétní verzi 5.0. Každá zkompilovaná aplikace používající tyto komponenty se musí distribuovat s dynamickou knihovnou s názvem libmysql.dll, která se při instalaci nahrává do adresáře, kde jsou umístěny ostatní knihovny operačního systému obvykle /Windows/System. V souboru zeos.inc nastavíme používaný jazyk, je zde i čeština. Nebudu zde popisovat celou instalaci potřebných balíčků, nebot ta je přehledně popsána v souboru install. Pro naše účely, tedy připojování k MySQL stačí nainstalovat tyto balíčky v uvedeném pořadí: ZCommonCB5.bpk - zde jsou obsaženy pomocné objekty pro všechny další komponenty, tento balíček nevytváří na paletě komponent žádnou ikonu. ZDbwareCB5.bpk - opět komponenty (TZUpdateSql, TZBatchSql, TZMonitor) nutné i pro připojení ostatních databází. ZMySqlCB5.bpk - komponenty pro přímý přístup k databázi MySql (TZMySqlDatabase, TZMySql- Transact, TZMySqlQuery, TZMySqlTable) Stručný popis komponent Zde si popíšeme jednotlivé komponenty a jejich využití v MySQL databázi. Propojení jednotlivých komponent je zobrazeno na obrázku 5, kde je kromě některých komponent ZeosDBO (na obrázku fialově) zobrazena i komponenta DataSource (na obrázku oranžově) která je součástí C++ Builderu. TZMySQLDatabase Tato komponenta slouží pro připojení k MySQL databázi. Obsahuje spoustu metod vlastností i událostí, my si zde z nich uvedeme jen několik nejdůležitějších. TZMySQLMonitor Tato komponenta slouží pro sledování dotazů (queries). Nemá žádné metody ani přístupné atributy, pouze jednu událost, která je generována procesem MySQL serveru a je obsahuje výsledek chyby a čas procesu. Zdeněk Rosůlek 38

39 atribut Host Database Login Password LoginPromt Port Connected atributy popis jméno hostujícího serveru databáze jméno databáze uživatelské jméno pro připojení k db heslo pro připojení k db má se zobrazovat okno pro přihlášení k db číslo portu pro připojení k MySQL servru indikuje úspěšné připojení k databázi Tabulka 4: Atributy komponenty TZMySQLDatabase metoda Connect() Disconnect() metody popis připojení k databázi odpojení od databáze Tabulka 5: Metody komponenty TZMySQLDatabase událost AfterConnect() AfterDisconnect() události popis Nastává po připojení aplikace k db Nastává po odpojení od db Tabulka 6: Události komponenty TZMySQLDatabase TZMySQLQuery Komponenta pro vykonávání dotazů na MySQL serveru. Je využívána pro posílání SQL příkazů, výsledek je dostupný ve standartním datovém typu využívaného i v jinných databázích v prostředí Builderu a to TDataSource. Záznamy mohou být přidávány, mazány nebo měněny. Dále jsou uvedeny jen nejdůležitější atributy a metody i když komponenta obsahuje mnoho dalšího včetně spousty událostí. atributy atribut popis Active indikuje otevření dotazu (query) Database napojení na komponentu TZMySQLDatabase DataSource napojení na TDataSource RecordCount udává celkový počet záznamů provedeného dotazu Sql vlastní string SQL dotazu Transaction napojení na komponentu TZMySQLTransact Tabulka 7: Atributy komponenty TZMySQLQuery TZMySQLTable Komponenta pro napojení na konkrétní tabulku. Tato komponenta se v mnohém podobá komponentě TZMySQLQuery, avšak neobsahuje některé její atributy a vykonává defakto SQL příkaz SELECT * FROM TableName. Zdeněk Rosůlek 39

40 metoda ExecSql() RowsAffected() metody popis vykoná SQL dotaz vrací počet záznamů ovlivněných SQL dotazem Tabulka 8: Metody komponenty TZMySQLQuery Obrázek 5: Propojení komponent ZeosDBO pro připojení k MySQL TZMySQLTransact Komponenta pro práci s transakcemi na MySQL servru. Tuto komponentu je nutné nastavit i při používání některých dalších kompomponent (TZMySQLQuery, TZMySQLTable), nebot slouží jako spojovník mezi nimy a objektem TZMySQLDatabase pro připojení databáze. Viz obr 5. Popíšu zde jen některé významné atributy komponenty. atribut AutoCommit Database atributy popis pro true je nastaveno automatické aktualizování napojení na komponentu TZMySQLDatabase Tabulka 9: Atributy komponenty TZMySQLTransact Zdeněk Rosůlek 40

41 10 Státní technická knihovna V této části se budu snažit podat náhled o tom, jak se ukládají záznamy o publikacích ve Státní technické knihovně (STK) Základní rozdělení Databáze Státní technické knihovny se skládá z monoha menších celků a je rozdělena na dílčí databáze, dle organizační struktury. Těmito částmi jsou například služby výpůjček, evidence čtenářů, katalog knih, katalog časopisů, katalog šedé literatury a mnoho dalších. Bude zde pouze nastíněna základní struktura databáze části zabývající se ukládáním publikací v katalogu knih. Z historických důvodů je databáze knihovny rozdělena na dvě základní části. Ve vnitřní části DataFlex běžící na Novellu je vlastně vše uloženo. Druhá vnější část běží na Unixu a nazývá se OPAC. Tyto části se mezi sebou vzájemně v určitých časových intervalech aktualizují. To znamená, že s určitou časovou periodou je spouštěn skript, který přenáší data z Opac Unix do DataFlex Novell a naopak Formát UNIMARC UNIMARC je standard pro ukládání a výměnu dat. Je to velmi podrobně specifikovaný formát, pomocí kterého se dá přesně popsat libovolný bibliografický záznam. Dalšími používanými bibliografickými formáty ze skupiny MARC jsou MARC21 a UNIMARC/Autority, jež spolu s UNIMARCem patří mezi mezinárodní výměnné formáty. Tento formát přesně definuje všechna pole, velmi přesně se pomocí něho dá popsat jakákoliv publikace, tj. kromě základních údajů je s publikací spřaženo i spousta podrobností. Například jméno, národnost a datum narození ilustrátora publikace. Z příkladu je vidět, že některé údaje nejsou až tak důležité pro uchování publikací. Formát se zkládá ze speciálních tagů, které přesně určují jednotlivá pole Katalog knih Databáze ukládající tento katalog, obdobně jako ostatní, používá mnoho zjednodušení oproti mezinárodnímu formátu UNIMARC. Jedním ze zjednodušení je například omezení na maximální počet autorů na 3. Stejně tak i pro názvy publikací, podnázvy a další. V mezinárodním formátu UNIMARC je teoreticky možné ukládat nekonečně mnoho autorů Popis struktury katalogu knih Nebudu se zde zmiňovat o každém atributu v této tabulce, zmíním jen nejdůležitější a méně jasné atributy. Pro některé atributy jsem nenalezl žádný popis, tak uvádím pouze jejich jméno, úplný seznam je na obr. 6. Hlavním atributem je ID, což je vlastně primární klíč této tabulky. Atribut AUTOR se všemi jeho podatributy se zde vyskytuje celkem třikrát (v tabulce uveden jen jednou 1 ), což je zjednodušení oproti formátu Unimarcu, kde je teoreticky neomezený počet autorů u jedné publikace. Atribut NAZEV je zde ještě doplněn o další tři názvy rozlišené číslem, což je stejné zjednodušení jako u autorů. Takovýchto atributů odlišených čísly pro uložení více záznamů ke konkrétnímu poli je zde více a nebudu je dále zmiňovat. V tabulce je zobrazen vždy pouze první s číslem 1, což bude znamenat pokračování. Kolik těchto atributů je v databázi skutečně uvedeno je možné dohledat ve schématu databáze na obr. 6. Jako stručný přehled, jak ukládá Státní technická knihovna informace o publikacích, to myslím stačilo, ikdyž toto je jen velmi malá část z opravdu rozsáhlé databáze, kterou technická knihovna používá. Zdeněk Rosůlek 41

42 Obrázek 6: Diagram vazeb na katalog knih Zdeněk Rosůlek 42

43 KAT KNIH jméno pole popis pole tag Unimarcu ID identifikátor záznamu SIGNATURA Signatura AUTOR1P Autor - příjmení AUTOR1J Autor - jméno AUTOR1R Autor - role, například hlavní autor, spoluautor (jednopísmenný kód) NAZEV1 Název knihy ORIG NAZEV Originální název knihy PODNAZEV1 Podnázev knihy OZN DILU Označení dílu NAZEV DILU1 Názvy dílů EDICE Edice 2251 SUBEDICE Subedice KORPORACE Korporace OZN VYDANI Označení vydání 205 $ ZEME Kód země, vazba na kat zeme.kod 3166(ISO),102 $a MISTO VYDANI Místo vydání v textové podobě VYDAVATEL Jméno nakladatele 210 $c ROK VYDANI Rok vydání 210 $d ROZSAH Počet jednotek díla 215 $a BIBLIOGRAFIE REPRINT Poznámky k reprintu 324 $a KNIH POZN1 Poznámky ke knize (které se nevešly jinam) ISBN1 Mezinárodní standardní čísla knihy 010 ISSN1 Mezinárodní standardní čísla seriálu 011 DRUH DOK Druh dokumentu vazba na kat doku.druh dok VEC TRID Věcné třídění ve velké studovně obor A-Z pro třídění novinek údaje se přejímají z tabulky kat vect NOSIC Vázané, nevázané, mikrofilm, mikrofiš,... JAZYK Jazyk díla vazba na kat lang.jazyk 1010 $a JAZYK ORIG Jazyk originálu vazba na kat lang.jazyk 1010 $c MDT1 Mezinárodní desetinné třídění 675 $a MDT2 vazba na kat mdt MDT3 MDT4 PREDMET HESLO1 Předmětová hesla 964 $a PSH Záznamy PSH UNIMARC100 Ostatní obecné údaje 100 UNIMARC105 Ostatní údaje pro monografické tištěné dokumenty ZPRACOVAL Parafa zpracovatele LOCK pom. flag - záznam je hotový a zamknutý USE pom. flag - záznam je hotový a lze jej poslat dál CEZL pom. flag - (přírustky technické literatury) PZTL pom. flag - (přírustky technické literatury) ALEPH SYNCO Číslo z OPACu Tabulka 10: KAT KNIH hlavní katalog knih Zdeněk Rosůlek 43

44 11 Norma bibliografických citací dokumentů Zde se budu snažit pomocí knihovnických pravidel stručně popsat, jak má vypadat správná citace. Tyto údaje jsou však přesně dány normami. Já zde popisuji citace dle norem ČSN ISO 690 a ČSN ISO ( ) [9][10] Struktura citace Primární odpovědnost. Název díla: podnázev díla. Alternativní odpovědnost; Sekundární odpovědnost. Označení vydání. Místo vydání: Jméno nakladatele, Rok vydání. Rozsah díla. Edice. Poznámky. Standartní číslo. Kde podtržené položky jsou povinné stejně tak, jako písmo názvu psané kurzívou Primární autorská odpovědnost To znamená autor, který je za dílo intelektuálně odpovědný. Uvádí se ve formě: Příjmení, křestní jméno nebo iniciály křestního jména ŠUSTA, Richard. MONJO, F. N. Více autorů Uvádíme všechny autory do počtu tří. Jsou zde dvě možnosti zápisu oddělení jednotlivých jmen a to čárkou (,) nebo pomlčkou (-) která je akceptovatelná z hlediska větší přehlednosti citace. BAYER, J., HANZÁLEK, Z., ŠUSTA, R. BAYER, J. - HANZÁLEK, Z. - ŠUSTA, R. Je-li autorů více, nežli tři, pak uvádíme pouze prvního, nebo typograficky zvýrazněného a další autory vynecháme. Misto nich dopíšeme zkratku et al. =et alii, nebo aj. =a jiní. BAYER, J., aj. Autorem je korporace Není-li jméno korporace totožné se jménem vydavatele, tak uvádíme jméno této korporace. Jestliže se jedná o jednu oraganizaci (stejná jména), pak se toto jméno dá uvést pouze v nakladatelských údajích. National Semiconductors. Pokud se jedná o dokument vydaný menší organizací, jako je například katedra na vysoké škole, pak je nutno rozepsat tento název hierarchicky. ČVUT. Fakulta elektrotechnická. Katedra řídící techniky. Autor je neznámý Pokud kniha neobsahuje jméno autora ani jméno korporace, pak tuto část vynecháme. Toto se vyskutuje u oficiálních dokumentů. Zákon č. 256/1992 Sb. ze dne 30.dubna 1992 o ochraně osobních údajů v informačních systémech. Kniha má pouze editora To se zapiseje jako sekundární odpovědnost (kap ) Údaje o názvu Název je zapisován v takové podobě, v jaké je uveden na titulní stránce publikace. Programování pro řízení ve Windows Zdeněk Rosůlek 44

45 Kniha má více názvoslovných informací Může obsahovat název a podnázev, v takových případech se řídíme pořadím názvů na titulní stránce, které oddělíme znakem dvojtečka (:). Html - tvorba dokonalých stránek : podrobný průvodce Dokument je jednou z více částí Může se stát, že dokument je součástí většího celku, například jednotlivé části studie, přílohy apod. V tomto případě se snažíme zjistit hierarchii celku (tj. co je nadřazeným dokumentem) a v jakém vztahu tyto dokumenty jsou. BSA response to Piracy Green Paper. Appendix II Global Software Piracy Report Vícejazyčný název U oficiálních dokumentů mezinárodních organizací jako je např. UNESCO, se často setkáváme s vícejazyčnými názvy. Názvy zapisujeme v pořadí, v jakém jsou na titulní stránce a mezi nimi uvedeme znak rovnítko (=). Následující příklad zobrazuje obrazovou publikaci v češtině a němčině. Stará Šumava = Der Alte Böhmerwald Typ média Tento údaj je nutné uvádět u elektronických dokumentů. Uvádí se v hranatých závorkách, a může být doplněn i o další užitečnou informaci, jako [databáze online] nebo [program na CD-ROM]. U tradičních tištěných dokumentů je tento údaj vynechán. Následují nejpoužívanější typy. [online] [CD-ROM] [disketa 3.5 ] Sekundární odpovědnost U dokumentu může nastat situace, kdy není uveden autor, ale jen jeho sestavovatel (editor). Pak se zapisuje sestavovatel do sekundární odpovědnosti. Také se do tohoto pole zapisují ilustrátoři nebo překladatelé. Materiály z konferencie Slovenské knižnice. Usporiadala a do tlače pripravila Daniela Gondová. Přeložená publikace Publikace, která má zahraničního autora, českého překladatele a ilustrátora je zapisována do pole sekundární odpovědnosti následujícím způsobem: jméno (iniciály) a příjmení překladatele; (středník) jméno (iniciály) a příjmení ilustrátora Přeložila Milena Blažková; ilustrace Vladimír Jiránek Údaje o vydání Číslo vydání je velice důležité, protože dokument může být časem upravován (rozšířen, zkrácen apod.), a je tedy nezbytné citovat přesnou verzi dokumentu. Ekvivalenty vydání v cizích jazycích jsou: Auflage, edition, izdanie. 3. vydání. 3rd edition. 3. Auflage. Zdeněk Rosůlek 45

46 Údaje o místu vydání Zapisuje se první místo v pořadí, nebo místo typograficky zvýrazněné. Tento údaj uvádíme v podobě, v jaké se objevuje v dokumentu, nijak ho nepočešt ujeme. V případě nejasnosti, kde se nalézá uvedené místo, je možné do kulatých závorek napsat údaj, jež toto místo upřesňuje, jako například název státu. Orlando (Florida). Více míst vydání Pak zapisujeme jen první místo v pořadí, nebo místo typograficky zvýrazněné. [Paříž] nebo [Paříž?] [Francie] nebo [Francie?] Místo vydání není uvedeno V tomto případě uvedeme pravděpodobné místo (zemi) v hranatých závorkách (označení doplňujících údajů z jiných zdrojů). Pokud si nejsme jisti, uvedeme zemi na konci s otazníkem. Lepší je uvést alespoň pravděpodobné místo vydání. Pokud nelze zjistit místo ani zemi, uvádíme zkratku s.l. (sine loco = bez místa), kterou umístíme do hranatých závorek. Ekvivalentem je český překlad b.m. (bez místa). [s.l.]: Longman [b.m.]: Král Nakladatelské údaje Jméno nakladatele se zapisuje v co nejkratší, avšak srozumitelné podobě. Z názvu vynecháváme zkratky obchodních organizací typu s.r.o., Inc., nebo Ltd. Jediným doplňkem, který vždy zůstává, je zkratka Press. Uvedeno v dokumentu v citaci John Willey & Sons Willey Wordsworth Edition Limited Wordsworth Cambrige University Press Cambrige University Press Chybí jméno nakladatele/vydavatele V tomto případě uvádíme zkratku s.n. (sine nomine = beze jména), jež má český ekvivalent b.j.. Praha: [s.n.] Praha: [b.j.] Vydavatelů je více Některé tištěné publikace mohou být vydávány několika spolupracujícími vydavateli. Ty jsou pak zapisovány dle modelu: místo vydání: 1. nakladatel; místo vydání: 2. nakladatel;... I u tohoto pole platí, že se uvádějí všechny nakladatelé do maximálního počtu tří, jinak se zapisuje pouze první, nebo typografiky zvýrazněný. Amsterodam: Elsevier; Oxford: Pergamon Press Autorem i vydavatelem je korporace její jméno (zkratku). UNESCO Pokud se jedná o známou korporaci, uvedeme pouze Zdeněk Rosůlek 46

47 Je-li však autorem korporace s obecným jménem, které může vést k záměně, je nutné toto jméno rozepsat. CTU. Faculty of Electrical Engineering. Department of Control Engineering. ČVUT FEL. Katedra řídicí techniky - BIO laboratoř Datum vydání Tento údaj je povinný a je vždy zapisován datum vydání publikace (tj. datum vytvoření publikace za účelem zpřístupnění). U knih se objevují i takzvané reprinty, což jsou pouze předpisy v nezměněné podobě, na jejichž obsahu se však nic nemění. Jiným příkladem je tzv. reset, což je dotisk v jiné sazbě. Uvedeno v knize v citaci 3rd edition 1990, reprint rd edition 1990, reset U elektronických dokumentů zapisujeme zpravidla podle normy ISO 8601, tj. rok-měsíc-den Datum vydání u seriálové publikace Seriálová publikace (časopis) nevychází jednorázově, ale vychází většinou v průběhu několika let. Pokud se jedná o tzv. aktivní seriál, který stále vychází, zapisujeme jej: Kde pomlčka značí stále probíhající vydávání tohoto periodika. U periodik, která přestala vycházet (tzv. mrtvé seriálny) a několikadílných publikací píšeme datum následovně: Chybí datum vydání pořadí: V tomto případě postupujeme podle následujících bodů v uvedeném 1. Zapíšeme datum copyrightu publikace: c Chybí-li datum copyrightu, zapíšeme datum tisku: 1990 tisk. 3. Není-li možné zjistit ani datum tisku, určíme jej odhodem (vepsáno uvnitř hranatých závorek): [1985] publikace vyšla v roce 1985, [1985?] publikace vyšla pravděpodobně v roce 1985, [198-] publikace vyšla v 80. letech, [198-?] publikace vyšla pravděpodobně v 80. letech Údaje o fyzickém popisu Zde zapisujeme fyzický rozsah dokumentu, jako jsou díly, stránky, ilustrace atd. Stránkování se neuvádí v jazyce dokumentu, ale v češtině. ix, 256 s. Ve výše uvedeném příkladu je uvedeno dvojí číslování a to římskými číslicemi (9 stran) a arabskými (256 stran). Zdeněk Rosůlek 47

48 Více svazků Zapisujeme dle následujícího modelu: počet svazků (stránky v 1. svazku, v 2. svazku...) 3 sv. (256, 320, 162 s.) Přiložený materiál (suplement) Dokument může být doprovázen dalším materiálem jakým je například CD-ROM, nebo disketa. Údaj je zapisován v češtině. 230 s., 1 disketa. 230 s., 1 CD-ROM Údaje o edici Edici zapisujeme následujícím způsobem: Název edice; číslování v rámci edice. Malá řada; sv. 12. Edice má podedici (další edice podřízená předchozí) Toto se pak zapisuje takto: Název edice. Název subedice, číslování v rámci edice. I když to není předepsáno normou, je vhodné uvádět edici v kulatých závorkách. (Filozofické eseje. Malá řada; sv. 12.) Poznámky Do poznámek zapisujeme libovolný text, který považujeme za důležitý a vztahuje se k dané publikaci. Dále jsou uvedeny příklady některých poznámek. Prvně publikováno jako doktorská práce. Interní materiál. Obsahuje rejstříky Údaje o standardním čísle Čisla ISBN a ISSN se zapisují na konec záznamu citace. Pokud se tato čísla vyskytují v dokumentech, je nutné jej zapsat, protože jednoznačně identifikují dokument. ISBN ISSN X 11.2 Modely citací Monografická publikace Monografická publikace patří k základním typům dokumentů. Jedná se o knihy, sborníky, brožury a další materiál, který je vydáván jednorázově. Tyto publikace se zapisují podle následujícího modelu: Primární odpovědnost. Název díla: podnázev díla. Alternativní odpovědnost; Sekundární odpovědnost. Označení vydání. Místo vydání: Jméno nakladatele, Rok vydání. Rozsah díla. Edice. Poznámky. Standartní číslo. Dále jsou zobrazeny typické příklady monografických publikací: Zdeněk Rosůlek 48

49 Honců, J. - Hlinovský, M. - Vysoký, O. Elektronické systémy II - návrhy ke cvičení. 1. vyd. Praha : ČVUT, s. ISBN Bayer, J. - Hanzálek, Z. - Šusta, R. Logické systémy pro řízení. 1. vyd. Praha : ČVUT, s. ISBN Diplomové práce tato literatura patří mezi tzv. šedou literatutru a způsobuje při citování více problémů, než u obvyklých knih. Rosůlek, Z. Zpracování BibTeX dat. Praha, Diplomová práce na fakultě elektrotechnické ČVUT. Mejstřík, P. Databáze pro správu publikací ve formátu BibTeX. Praha, Bakalářská práce na fakultě elektrotechnické ČVUT. Firemní literatura Pod pojmenm firemní literatrua si můžeme představit například různé katalogy. Součástky pro elektrotechniku. Praha: GM electronic, s Části a stati v monografiích Tohoto způsobu zápisu se užívá především u vícedílných knih a sborníků z konferencí. Kurzívou je psán název zdrojového dokumentu, tj. knihy nebo sborníku, kde se příspěvek nachází. Jméno autora. Název zdrojového dokumentu. Označení vydání. Číslo části. Sekundární odpovědnost k vydání, editor, hlavní autor. Místo vydání: Jméno nakladatele, Rok vydání. Rozsah díla. Edice. Poznámky. Standartní číslo. Lokace ve zdrojovém dokumentu. Kosek, J. Html - tvorba dokonalých stránek: podrobný průvodce. Ilustroval Ondřej Tůma. 1. vyd. Praha: Grada, s. ISBN Kapitola 12, Kaskádové styly dokumentů, s Příspěvek ve sborníku Pakliže chceme ocitovat jeden příspěvek ze sborníku, použijeme k tomu tento způsob, který je podobný předešlému. Je zde nutné dát pozor na název konference, datum a místo, kde konference proběhla. Odpovědnost za příspěvek. Název příspěvku. In Název zdrojového dokumentu. Primární odpovědnost za zdrojový dokument. Vydání. Místo vydání: Jméno nakladatele, Rok. Lokace ve zdrojovém dokumentu. Matoušek, R. Traffic Toolbox. In: Matlab Sborník příspěvků 8. ročníku konference. Prague : Institute of Chemical Technology, 2000, p ISBN Burget, P. - Kirchmann, B. - Hanzálek, Z. - Bílek, J. Vzdálené laboratoře-programování PLC přes internet. In: Kybernetika - teória, vyučovanie a prax. Žilina : Žilinská univerzita, 2002, s ISBN X. Zdeněk Rosůlek 49

50 Seriálová publikace Mezi seriálové publikace řadíme ty, které vycházejí (ne)pravidelně v určitých intervalech s úmyslem dalšího pokračování - nejčastěji odborná periodika (časopisy), ale také například ročenky. Od citací monografií se liší především tím, že citujeme seriál jako celek (necitujeme pouze jedno číslo). Dále pak zapisujeme časový rozsah ve kterém daná seriálová publikace vycházela. V poli odpovědnost zapisujeme pouze významné editory nebo organizace. Název: podnázev. Odpovědnost. Vydání. Údaje o vydání/číslování-. Místo vydání: Jméno nakladatele, Rok-. Edice. Poznámky. Standartní číslo. CHIP: magazín informačních technologií. Praha: Vogel, Vychází měsíčně. ISSN Citace jednoho čísla Pokud citujeme jedno číslo časopisu, je zápis obdobný citaci monografické publikace. CHIP: magazín informačních technologií. Č. 12 (prosinec 1999). Praha: Vogel, Vychází měsíčně. ISSN Články v seriálových publikacích Stejně jako u seriálových publikací používáme pole primární/sekundární odpovědnost za zdrojový dokument jen pokud se jedná o významného editora. Jinak toto pole vynecháváme. Odpovědnost za příspěvek. Název příspěvku. Sekundární odpovědnost. Název zdrojového dokumentu. Rok, ročník, číslo svazku, lokace části. Fuka, J. Zachová se energie?. Věda, technika a my. 2001, roč. 6, č. 6, s. 62. Hanzálek, Z. Petriho sítě. Automatizace. 2001, roč. 9, č. 9, s Zdeněk Rosůlek 50

51 12 Stávající aplikace knihovna 12.1 Návaznost Mým úkolem bylo navázat na bakalářskou práci studenta, jejímž cílem byl datový návrh knihovny, uchovávající BibTeXové záznamy o publikacích. Z této práce zde bude popsán výsledný datový model, který tato aplikace využívá jednak k ukládání vztahů mezi typy dokumentů a jejich příslušnými poli, ale hlavně také k ukládání vlastních dat jednotlivých dokumentů. Nebudu zde znovu rozebírat vhodnost daného modelu, ani analýzu, jakou se k danému modelu dospělo. Také zde nebudu uvádět algoritmy, které daná aplikace používá, pokud to nebude nezbytně nutné pro správné pochopení mé práce, nebot toto vše si lze přečíst přímo v této bakalářské práci [8] K čemu aplikace slouží Aplikace knihovna, je na míru vytvořena pro ukládání BibTeXových záznamů. S tím souvisí některé specifické požadavky pro ukládání publikací zapsaných v tomto formátu. Jedná se především o vazbu mezi typem dokumentu a jeho jednotlivými poli, jak je podrobně rozebráno v části věnované popisu BibTeXového formátu (kapitola 2.3). Bakalářská práce, a potažmo i aplikace knihovna, obsahuje především dobře zpracovaný návrh a realiaci databáze, která je výchozím bodem mé práce. Aplikace samotná umožňuje přidávat a měnit nejenom nové typy dokumentů, ale i polí svázaných k těmto typům, jakož i nastavovat vazby jednotlivých polí a typů (povinné, volitelné a ostatní). Dále umí samozřejmě i ručně přidávat konkrétní data o publikacích přes přehledné webové rozhraní, ale tím se nebudeme dále zabývat. Nás bude především zajímat dobře propracovaný model databáze Popis databáze Uchováním informací o typech dokumentů a jejich vazbou na povinná a volitelná pole daného typu se zabývá analýza tzv. první části databáze a pro uchování vlastních dat jednotlivých dokumentů slouží tzv. druhá část databáze. Z obou částí si zde uvedeme výsledný E-R model databáze, který je zobrazen na obrázku 7. Záměrně se zde snažím dodržet stejnojmené pojmenování těchto částí v souladu s bakalářskou prací tak, aby bylo popřípadě snadné dohledání podrobnějších informací v této práci [8] První část Tato část se skládá ze třech tabulek pro uložení názvu typů, polí a jejich vzájemných vztahů, bez kterých by tato databáze nemohla existovat. Pro lepší odlišení jsou tyto tabulky malovány žlutou barvou. Tabulka polí dokumentů Do této tabulky (tab. 11.) se ukládají informace o polích. Prvním atributem je identfifikační číslo pole a druhým atributem je název příslušného pole (např. author, editor,...). Nakonec je zde ještě pomocný atribut s názvem field atribut, kterým jsou odlišeny třídící položky, nastaven na A u polí author, title a year, pro ostatní pole je nastaven na defaultní hodnotu tedy N. Pro detailní pochopení uvádím i SQL dotaz vytvoření tabulky: CREATE TABLE field ( id field int(4) NOT NULL auto increment, field varchar(15) NOT NULL default, field atribut enum( A, N ) NOT NULL default N, PRIMARY KEY (id field) ) TYPE=MyISAM ; Zdeněk Rosůlek 51

52 Identifikační číslo pole je jedinečné diky funkci MySQL autoincrement a je použito jako primární klíč tabulky. field atribut typ atributu hodnota NULL výchozí hodnota id field integer(4) NOT NULL auto increment field varchar(15) NOT NULL field atribut enum( A, N ) NOT NULL N Tabulka 11: Tabulka polí Tabulka typů dokumentů Tabulka 12. slouží k uchování dat o typech dokumentů. Struktura je podobná jako u tabulky polí (tab.11.) První atributem je identifikační číslo typu dokumentu, druhým je název tohoto Tato tabulka se vytvoří pomocí následujícího SQL: CREATE TABLE type ( id type int(4) NOT NULL auto increment, type varchar(15) NOT NULL default, PRIMARY KEY (id type) ) TYPE=MyISAM ; Pro identifikační číslo typu je použita funkce MySQL autoincrement a je tedy zároveň i primárním klíčem této tabulky. type atribut typ atributu hodnota NULL výchozí hodnota id type integer(4) NOT NULL auto increment type varchar(15) NOT NULL Tabulka 12: Tabulka typů dokumentů Tabulka vztahů mezi typy a poli Tato tabulka (tab.13.) slouží pro uchování vazeb mezi typy dokumentů a jejich poli, to znamená jaká pole jsou pro konkrétní typ publikace povinná (required), volitelná (optional) a ostatní. Prvním atributem je typ dokumentu, druhým je typ pole a posledním je jejich vzájemný vztah, který označuje jednu ze tří výše uvedených vazeb. CREATE TABLE type field ( id type int(4) NOT NULL default 0, id field int(4) NOT NULL default 0, atribut enum( req, opt, ost ) NOT NULL default ost, UNIQUE KEY id type id field uk (id type,id field) ) TYPE=MyISAM ; Klíč této tabulky je typu unique složený ze dvou atributů a to typu dokumentu a typu pole. Zdeněk Rosůlek 52

53 type field atribut typ atributu hodnota NULL výchozí hodnota id type integer(4) NOT NULL 0 id field integer(4) NOT NULL 0 atribut enum( req, opt, ost ) NOT NULL ost Tabulka 13: Tabulka vztahů mezi typy a poli Druhá část Tato část se zabývá konkrétními daty publikací a je rozdělena do dvou tabulek. První z nich je tabulka dokumentů (tab.14.), ve které je pro každou publikaci právě jeden záznam. Druhou je tabuka vlastních dat (tab. 15.), která schormažd uje data všech polí a ke každé publikaci je tam právě tolik záznamů, kolik daná publikace má vyplněných polí. Pro lepší rozlišení jsou obě tyto tabulky obarveny zeleně. Tabulka dokument V tabulce 14. nazývané dokument je uloženo identifikační číslo každé konkrétní publikace, které je jedinečné a je vytvářeno automaticky (funkce MySQL autoincrement), dále je zde identifikační číslo typu publikace, podle něhož se v tabulce typů (tab.12.) zjišt uje název typu dokumentu. Dalším atributem je reference, která může být dle tohoto datového modelu dlouhá maximálně 50 znaků. Přes tuto referenci se v BibTeXu citují publikace (kapitola 4.1). A nakonec je zde ještě jeden pomocný sloupec s názvem atribut, který slouží k potvrzení proběhlých transakcí. Nastavení atributu na N znamená, že data ještě nejsou úplná, ale po změně na A již lze považovat data za konzistentní. CREATE TABLE publ ( id int(4) NOT NULL auto increment, id type int(4) NOT NULL default 0, reference varchar(50) default NULL, atribut enum( A, N ) NOT NULL default N, PRIMARY KEY (id) ) TYPE=MyISAM ; Primárním klíčem tabulky je identifikační číslo dokumentu viz. SQL dotaz. publ atribut typ atributu hodnota NULL výchozí hodnota id integer(4) NOT NULL auto increment id type integer(4) NOT NULL 0 reference varchar(50) atribut enum( A, N ) N Tabulka 14: Tabulka dokument Tabulka data dokumentu V tabulce 15. nazývané data dokumentu je uloženo identifikační číslo dokumentu, ke kterému daná data patří, toto číslo se odkazuje do tabulky dokumentů (tab. 14.) Dále je v tabulce identifikační číslo typu publikace, ke kterému se data vztahují. Atribut, ve kterém jsou uložena skutečná data pro dané pole, se jmenuje field text a je pro něj zvolen typ text, aby bylo možno uložit až 1000 znaků jak je definováno standardem BibTeXu. Opět je v konečné realizaci přidán oproti návrhu atribut sloužící k zajištění proběhlých transakcí potvrzující tak úplnost dat. Zdeněk Rosůlek 53

54 CREATE TABLE data all ( id publ int(4) NOT NULL default 0, id field int(4) NOT NULL default 0, field text text NOT NULL, atribut enum( A, N ) NOT NULL default N, UNIQUE KEY id publ (id publ,id field) ) TYPE=MyISAM ; Jak plyne z SQL dotazu, klíč v této tabulce je složený z identifikačního čísla dokumentu a identifikačního čísla typu dokumentu. data all atribut typ atributu hodnota NULL výchozí hodnota id publ integer(4) NOT NULL 0 id field integer(4) NOT NULL 0 field text text NOT NULL atribut enum( A, N ) NOT NULL N Tabulka 15: Tabulka dat dokumentu Obrázek 7: E-R diagram databáze knihovna Dotazy pro práci s daty Nyní popíšu některé základní SQL dotazy této aplikace pro práci s daty, nebot mnou vytvořený program bude s těmito daty pracovat a to nejen číst pro zpracování, ale především bude tuto databázi plnit novými publikacemi z rozpoznaných citací. Přidávání nových publikací Při přidávání nových publikací je nutné zjistit o publikaci několik věcí. Především o jaký typ publikace z tab.12. se bude jednat. Dále musíme znát všechny povinné pole k tomuto typu, to o jaké údaje se jedná zjistíme z tab.13., popřípadě i jejich názvy z tab.11. Ještě musíme vytvořit nějakou jedinečnou referenci a pak už nám nic nebráni vložit data do databáze knihovna. Nejdříve přidáme záznam do tabulky dokumentů následujícím SQL dotazem. INSERT INTO publ (id type, reference) VALUES (???,???); Poté postupně vložíme všechna pole vztahující se k danému dokumentu do tabulky data dokumenu. Pro každé pole tedy zopakujeme SQL dotaz, který vloží pro konkrétní dokument číslo pole Zdeněk Rosůlek 54

55 a jeho obsah: INSERT INTO data all (id publ, id field, field text) VALUES (???,???,???); Nikde jsem zde při přidávání v SQL dotazech neuvedl pomocné atributy, které je však na konci celé transakce nastavit na hodnotu A, aby program knihovna při svém dalším spuštění tyto záznamy nepovažoval za neúplné a nesmazal je. Citování existujících publikací Při citaci bude nutné požít několik dotazů pro výběr dat dle jedinečné reference, budou to příkazy typu SELECT. U všech dotazů je vhodné zahrnout do podmínky kontrolu nastavení atributu na A abychom si byli jisti, že se jedná o úplná data, pro přehlednost to v následujících dotazech neuvádím. Nejprve je třeba zjistit jedinečné číslo charakterizující danou publikaci na základě známé reference, to lze zjistit např. takto: SELECT id, id type FROM publ WHERE reference=??? ; který nám vrátí toto číslo v proměné id. Dále je třeba při rozhodování znát název typu publikace, pokud už známe identifikační číslo publikace pak jednoduše: SELECT type FROM type WHERE id type=??? ; A nakonec získáme k dané publikaci postupně data pro všechna pole tímto dotazem: SELECT field.id field, data all.field text FROM data all, field WHERE id publ=??? AND field.id field=data all.id field který lze ještě doplnit podmínkou na konkrétní název pole: WHERE field.field=?název pole? Zdeněk Rosůlek 55

56 13 Rozbor zadání Mým úkolem je provést návrh algoritmu a realizovat tento algoritmus pro dvě úlohy. První úloha má za úkol analyzovat záznam z jakékoliv citace a uložit ho do aplikace knihovna (kapitola 12). Opakem je druhá úloha, která naopak záznam z knihovny vytiskne podle citačních pravidel Analýza záznamu z citace V této úloze se budu zabývat analýzou citovaného záznamu. Jedná se o úlohu rozpoznávání, která na základě předložené citace rozhodne o jaký typ záznamu se jedná a jeho data uloží do příslušných polí v databázi knihovny. Zadaný citovaný záznam bude neformátovaný ve formě prostého textu, to znamená, že vstupem pro rozpoznávání může být teoreticky jakákoliv citace v elektronické podobě, splňující normu citací (kapitola 11). Jelikož je tato úloha v některých případech nejednoznačná, je možné využít při rozhodování zásahu operátora, který doplní patřičné vědomosti. Aby analýza a vlastní rozhodování bylo stále lepší, nebo se alespoň nedotazovalo na opakující se informace, bude použito databáze, která bude při rozpoznávání operátorem doplňována o nové znalosti. Dále bude možné do databáze ukládat i pomocná data při probíhající analýze. Po určení správného typu dokumentu a dle něho i jeho polí bude záznam uložen v aplikaci knihovna tak, aby splňoval všechna kritéria správného záznamu, s ohledem na navrženou strukturu databáze publikací (kap. 12) navržené v rámci bakalářské práce jiného studenta Sestavení citace ze záznamu Tato úloha je úlohou jednodušší než předchozí, nebot je zde normou jednoznačně definováno pro většinu typů dokumentů jak se z daných polí sestaví správná citace. Modely citací a struktury některých polí použitých v mé práci jsou uvedeny ve výňatku z normy ISO 960, (kap. 11). Program tedy na základě zadané reference sestaví dle typu dokumentu a jemu příslušejícímu modelu celou citaci, včetně správné syntaxe jednotlivých polí a interpunkce. Tuto citaci pak zobrazí tak jako je zobrazována v běžných seznamech použité literatury. Zobrazena bude jakákoliv citace nacházející se v databázi publikací splňující kritéria správného záznamu. Zdeněk Rosůlek 56

57 14 Analýza záznamu z citace 14.1 Úvod Prostudoval jsem si normu bibliografických citací dokumentů ISO 960. Nejprve jsem se seznámil s jejími obecnými pravidly [9]. Tedy jak správně dokumenty citovat, ale zvláště jsem se zaměřil na citaci jednotlivých polí a jejich specifického zápisu. Dále jsem si prostudoval základní modely z [10], zvláště pro tištěné dokumenty. Jednalo se především o základní typy publikací, jako jsou monografie, seriálové publikace, články v seriálových publikacích, sborníky, příspěvky ve sbornících aj. Dále jsem porovnával tyto modely s výstupem citací z BibTeXu ve všech jeho různých stylech (kap. 5.1). Nakonec jsem ze všech těchto vědomostí provedl návrh algoritmu, který by nejlépe analyzoval citaci a převedl všechny její údaje do vhodného modelu Návrh algoritmu Problémy při návrhu Z prostudovaných materiálů jsem se pokusil navrhnout několik základních modelů, které by charakterizovaly strukturu nejpoužívanějších modelů citovaných dokumetů. Narazil jsem zde však na problém rozpoznání těchto modelů, které i při známých a povinných údajích ne zcela ve všem striktně dodržují normou předepsanou strukturu. Dalším problémem je absence povinných údajů. Například pokud údaj není zjistitelný, nemůže být ani uveden a to i v tom případě, že se jedná o údaj povinný. Téměř u všech modelů se vyskytuje pole primární autorská odpovědnost, jenž uvádí autory, kteří jsou za dílo intelektuálně odpovědní (11.1.1). Toto pole nemá u všech typů stejné umístění, ikdyž zpravidla se jedná o první údaj uváděný v citaci. Po něm většinou následuje pole název díla, které je také v některých modelech nazýváno jinak, nebo není uvedeno. Rozlišení těchto polí by bylo velmi nejednoznačné, nebot při separování těchto polí bychom narazili na spoustu problémů. Jedním z nich je například více autorů v poli primární odpovědnost. Dalším je použití různých oddělovacích znaků přímo v názvu díla a nebo více názvových informací jak jsem popsal v kapitole (11.1.1). Pokud si vezmeme některý model, je zde jasná posloupnost údajů, s přesně danými interpunkčními znaménky, avšak při absenci některých polí, nebo nedodržení přesného pořadí a také správné interpunkce, už nelze přesně určit o jaký model se jedná Analýza návrhu algoritmu V důsledku některých nejednoznačností jsem se rozhodl po konzultaci s vedoucím práce pro určitá zjednodušení. Jedním z nich je, že není nutné z citace analyzovat pole primární autorské odpovědnosti a pole názvu díla. Tato pole budou separována uživatelem zvlášt. Zůstane tedy rozpoznávání všech ostatních údajů, vyjma jmen(a) autora(ů) a názvu(ů) publikace. Analyzovaná pole lze rozdělit podle několika různých hledisek. 1. Podle nutnosti uvedení v citaci určitého modelu na povinné a doplňující 2. Podle významu (zde je dělení nejpodrobnější) primární odpovědnost (autoři) název díla ( popř. podnázev díla) rok publikování, vydání. ISBN, popř. ISSN Zdeněk Rosůlek 57

58 rozsah díla a spousta dalších. 3. Dělení, dle zobecnění při analýze (syntaktické i sémantické) zobecnitelná (daná jasnými pravidly dle nějakého vzoru) nezobecnitelná (nelze najít žádnou podobnost) smíchaná (zahrnující v sobě obě předchozí možnosti) Pro každý typ, jak již jsem několikrát uvedl, jsou určena povinná pole, která musí být vyplněna, jinak záznam není úplný. Při volbě typu dokumentu budeme tedy vycházet z prvního dělení tak, aby všechna povinná pole zvoleného typu byla obsažena v citaci. Jelikož každé pole v BibTeXu je dáno svým významem ukládaných dat, využijeme k tomuto přiřazení i druhé dělení podle významu. Určený typ publikace tedy musí mít k dispozici alepoň povinná pole, toto je tedy základní podmínka, kterou musí daný typ splňovat. Při vyhledávání polí nás bude zájímat především třetí dělení, které určí jak se daná data budou analyzovat. V algoritmu jsou zahrnuty dvě základní rozdělení prohledávání polí. Pro zobecnitelná pole jsou použity přesné vzory, které jsou v textu vyhledávány. Pokud je vyhledávání úspěšné pak je obsah tohoto pole, daného příslušným vzorem, z rozpoznávaného textu vyjmut a uložen mezi nalezená pole. Pro pole nezobecnitelná a smíchaná je použito prohledávání s pomocí databáze znalostí. Pokud je pole v databázi nalezeno, je stejným postupem jako pole zobecnitelné vystřiženo a uloženo. Z předchozího vyhledávání, zvláště při takto uvedeném pořadí by mohla nastat situace, která by způsobila, že pole smíšené by nebylo nalezeno, pakliže by v sobě obsahovalo vzor zobecnitelného pole, nebot obsah tohoto pole by byl vyjmut, ještě než by došlo k rozpoznávání smíšených polí. Pro ilustraci uvedu jednoduchý příklad. Mějme dánu následující citaci: Attia, A. - Horáček, P. Modification of Genetic Algorithms for Optimization problem Solving. In: Proceedings of Workshop Prague : CTU, vol. A, p ISBN Řekněme, že vyhledáváme nejdříve zobecnitelné pole, dle vzorů, pak může nastat situace, kdy najdeme pole year= 2001 a vyjmeme ho ze záznamu. Poté prohledáváme pole srovnáváním s databází znalostí (smíšené a nezobecnitelné), ale ve znalostech máme uložen celý název konference jako in=proceedings of Workshop 2001, avšak v názvu konference již bude chybět rok a tak se daný záznam neschoduje. Ačkoliv v uvedeném případě je toto ošetřeno návrhovým vzorem pro pole year, které nedovolí vyjmout samotnou číslici roku, aniž by nebyla mezi interpunkčními znaky, je prohledávání prováděno v obráceném pořadí, než je uvedeno, tedy nejdříve je upřednostněna databáze znalostí a poté jsou prohledávána zobecnělá pole s patřičnými vzory. Z předchozícho příkladu plynou i další doporučení na prohledávání v databázi znalosti. Pokud zde budou dva podobné záznamy, avšak jeden z nich bude delší ale bude prohledáván až jako druhý, tak nebude nalezen, pokud se předchozí záznam bude shodovat. Je tedy vhodné, aby prohledávání probíhalo od nejdelších znalostí po ty nejkratší a nedošlo tak k vyjmutí jen části obsahu pole určitou znalostí, která je kratší co se délky týče. I při prostém porovnávání rozpoznávaného textu se všemi znalostmi v databázi je v některých případech třeba, aby tato znalost byla určitým způsobem v rozpoznávaném textu uvozena. Pro tyto případy rozlišuje algoritmus také určité typy znalostí, jež se liší právě předem známými znaky s nimiž je znalost spajata. Jsou to tyto znalosti: location - tyto znalosti jsou nalezeny v textu pouze pokud za nimi následuje dvojtečka, např.: Hanzálek, Z. Parallelisation des algorithmes. [Vyzvaná přednáška]. Grenoble : INPG LAG Zdeněk Rosůlek 58

59 publisher - takto nazvané znalosti jsou hledány bezprostředně po dvojtečce, např.: Havlena, V. - Štecha, J. Moderní teorie řízení. 2. vyd. Praha : ČVUT, Fakulta elektrotechnická, s. ambigous - název pochází z normy ISO, kde jsou v hranatých závorkách uvozeny nejednoznačné údaje, např.: Attia, A. Genetic Algorithms for Optimizing Fuzzy and Neuro-Fuzzy Systems. [PhD Thesis]. Prague : CTU, Faculty of Electrical Engineering, Department of Control Engineering, p. in - název zdrojového dokumentu, pokud se jedná o část nějaké knížky, nebo sborníku z konference, uvozeno klíčovým slovem In: at už s dvojtečkou nebo bez ní, např.: Attia, A. - Horáček, P. Optimization of Neuro-Fuzzy Modeling Using Genetic Algorithm. In: Proceedings of XXVI. Seminar ASR. Ostrava : Technická univerzita, 2001, vol. 1, p. 5. ISBN Toto byl přehled všech specielních znalostí, ostatní jsou vyhledávány v textu přesně tak, jak jsou uvedeny v databázi. Všechny znalosti, které jsou spjaty s některými znaky jsou v databázi znalostí uloženy bez těchto znaků, avšak pro daný typ pole, podle něhož se pozná jak se mají v textu vyhledávat. I při všech těchto omezeních a znalostech se vyskytne situace, kdy program nebude umět některá pole klasifikovat a bude nutná pomoc operátora. Ten pak na základě vlastních zkušeností vyjme z rozpoznávaného textu patřičný obsah pole a ručně jej zatřídí. Operátor bude moci toto pole uložit do databáze znalostí, tímto způsobem bude systém nabírat nové vědomosti a bude se tak vlastně jednat o učící se systém. Zdeněk Rosůlek 59

60 14.3 Blokový diagram algoritmu Vysvětlení použitých symbolů Algoritmus analýzy citace Pro lepší pochopení blokových diagramů jsou na krajním obrázku zobrazeny všechny symboly použité v blokových diagramech. Každý blokový diagram začíná symbolem začátku(1) a na konci je ukončen terminátorem, což je symbol konce(2). Uživatelské vstupy, jako jsou například rozpoznávané texty, comboboxy a check boxy jsou zobrazovány jako blok vstup od operátora(3). Uložení vnitřních proměnných, jako je například rozpoznávaný text, jehož délka se vlivem úspěšných rozpoznání zkracuje je zobrazen blokem vnitřní proměnné(4). Každá dílčí akce, nebo i rozsáhlý proces je označen jako(5), pokud je tento proces ještě podrobněji rozepsán jako samostatný blokový diagram, pak je uveden symbolem(6). Všechna data, která vyžadují připojení k databázi se označují blokem přístupu k databázi(7). Naopak data, která jsou pevně zakotvena v programovém kódu jsou označena(8). Dočasná data, jako jsou například již nalezená pole, nebo pole obsahující názvy typů splňující jednotlivé fáze rozpoznávání typu publikace se zobrazují blokem(9). Výstupy na obrazovku, například nalezených položek k jejich dodatečné úpravě, jsou uvedeny blokem(10). Podmínky, které mohou nabývat dvou hodnot (Ano X Ne) se zakreslují blokem(11). Výpočty, které například předcházejí rozhodování v podmínkových výrazech jsou označeny blokem předzpracování(12). Celý princip algoritmu analýzy citace je přehledně zobrazen na blokovém diagramu viz. obr.8., jehož některé bloky jsou podrobněji rozkresleny v dalších poddiagramech. Tento princip ted bude podrobněji popsán s odkazy na tyto diagramy. Vstupem do tohoto hlavního algoritmu (obr.8) jsou tři položky zadávané operátorem. 1. Primární autorská odpovědnost - což jsou jméno(a) autora(ů) odpovědných za daný dokument. 2. Název dokumentu - jedná se o název a popřípadě i podnázev díla. 3. Rozpoznávaný text - zde je zbytek citace, který bude syntakticky analyzován a na základě této analýzy rozdělen do jednotlivých polí (kap. 14.4). Nejdříve se položky 1. a 2. přímo uloží do nalezených polí, poté začne vlastní rozpoznávání položky 3., které probíhá ve dvou fázích, tak jak je vidět na uvedeném diagramu. První z těchto fází je rozpoznávání znalostí, která porovnává rozpoznávaný text se znalostmi v databázi a při shodě jej uloží do nalezených polí a současně modifikuje vstupní text. Toto rozpoznávání bude podrobněji popsáno dále v části věnované rozpoznávání znalostí. Zdeněk Rosůlek 60

61 Druhá fáze taktéž analyzuje vstupní text, ale principem rozpoznávání vzorů. Která je ve výsledku podobná předchozí fázi, nebot i ona ukládá nalezené položky do nalezených polí a modifikuje roz-poznávaný text. Po těchto prohledáních mohou nastat dvě možnosti, které jsou vyhodnoceny podmínkou. První možnost je, že byl rozpoznán celý text k rozpoznání, druhou možností je že nebylo rozpoznáno vše a v takovém případě přistupuje na řadu operátor. Operátor postupně ručně třídí zbylý nerozpoznaný text do polí, nebo tento text upraví tak, aby se při dalším, opět dvoufázovém rozpoznávání, rozpoznalo více položek. Toto se opakuje pořád dokola, dokud není vše rozpoznáno tj. rozpoznávaný text je prázdný. Algoritmus operátora bude podrobněji popsán dále. Pokud je tedy celý text roztříděn do jednotlivých polí, nástává určování nejvhodnějšího typu dokumentu pro tato pole. Touto částí se podrobněji zabývá diagram určení typu dokumentu, který zvolí vhodný typ, tak aby byla naplněna všechna jeho povinná pole, jak je definováno standardem BibTeXu a vyhovoval tak správnému záznamu aplikace knihovna. Při splnění těchto podmínek a nalezení typu se pokračuje v automatickém generování reference, která je nabídnuta uživateli. Tato reference je tvořena příjmením prvního z jmen autorů a posledním dvojčíslím roku oddělených dvojtečkou. Všechny tyto údaje jsou zobrazeny na obrazovce a je umožněna jejich editace. Pokud jsme se vším spokojeni, pak pokračujeme a algoritmus zkontroluje jednotlivá pole. Je volána funkce, která kontroluje jestli data nepřesahují maximální délku. Tato kontrola chyb může být vylepšena tak, aby se pro každý typ zaměřila na specifické pole, nebot této funkci se předává typ položky. Tak například, pro pole typu year by se kontrolovalo, jestli obsahuje pouze číslice. Reference je navíc kontrolována na svoji jedinečnost, tj. aby v aplikaci knihovna takováto reference ještě neexistovala. Pokud kontrola zjistila chyby je opět zobrazeno vše na obrazovce, spolu se stručným popisem chyby u jednotlivých polí, nesplňujících tuto kontrolu. Jestli je vše bez chyb, tak nastává uložení všech polí včetně reference do aplikace knihovna. Nejprve je uložena reference do tabulky publ, a poté postupně jednotlivá pole do tabulky data all tak, jak je uvedeno v aplikaci knihovna (kapitola 12). Celý algoritmus tímto končí. Byl tedy analyzován jeden záznam citace a ve výsledku uložen do databáze v aplikaci knihovna. Pokud se rozhodneme uložit další záznam algoritmus pokračuje od začátku. Prohledávání znalostí Je algoritmus, který vyhledává nezobecnitelné znalosti, využívá ke své činnosti databázi znalostí (tabulka 18). Nyní se budu snažit popsat celý algoritmus, který je také zobrazen na obrázku 9. Vstupem tohoto algoritmu je rozpoznávaný text, který je v případě úspěšného rozpoznání některých polí modifikován. Dalším vstupem je databáze znalostí, se kterou se text porovnává. Výstupem algoritmu je seznam nalezených polí a modifikovaný (zbylý) nerozpoznaný text. V prvním kroku je připojena databáze znalostí, jejíž obsah je setříděn od nejdelších polí, co se týče jejich obsahu, až po ta nejkratší. Důvodem je zabránění překrytí části textu delšího pole obsahem textu pole kratšího. Tyto znalosti jsou pak porovnávány s rozpoznávaným vstupním textem, dokud není vše prohledáno a tím algoritmus končí. Vlastní prohledávání se řídí tímto postupem. Pro danou znalost zjistíme typ prohledávaného pole. Pokud se bude jednat o znalost se speciálním typem (má nenulovou hodnotu atributu id entry určující identifikační číslo speciálního typu) je navíc nutno tento typ vyhledat v tabulce field searching, v níž jsou tyto speciální typy odlišeny atributem entry atr= A. Poté se znalost porovná s roz-poznávaným textem, dle typu prohledávaného pole. Neshoduje-li se, pak se pokračuje s dalším záznamem z tabulky znalostí. V případě shody je třeba rozlišit dvě možnosti a to podle toho, obsahuje-li znalost speciální typ, nebo jedná-li se o znalost bez speciálního typu (id entry=0). V prvním případě je třeba navíc uložit obsah textu ještě do tohoto speciálního typu mezi nalezené položky. A nakonec v obou případech je uložen obsah znalosti do nalezených polí a rozpoznávaný Zdeněk Rosůlek 61

62 text upraven tak, aby nalezené pole již neobsahoval. Celý algoritmus opět pokračuje pro další záznam znalosti z databáze znalostí. Pro lepší vysvětlení je na obrázku ukázán příklad výše zmíněných dvou typů znalostí. Jednak je to znalost bez speciálního typu ( Praha ), pro kterou je dle jejího identifikačního čísla (12) nalezen název pole a tím určeno, jak se bude vyhledávat a kam se přiřadí (location). Druhým příkladem je znalost se speciálním typem ( Research report ), jež je identifikována číslem 19 (ambigous), a je pro ní nastaven i speciální typ pole (52), který nastavuje Při nalezení takovéto znalosti se speciálním typem budou tedy uloženy v nalezených polích dvě položky, a to ambiguous (19) (52), obě se stejným obsahem ( Research report ). Prohledávání vzorů Algoritmus rozpoznávání vzorů bude postupně porovnávat jednotlivé vzory s analyzovaným textem. Jedná se o prohledávání tzv. zobecnitelných polí, dle klasifikace uvedené v rozdělení typů polí. Tento seznam vzorů bude pevný a jasně bude ke každému vzoru přiřazen typ pole. Diagram tohoto podalgoritmu je zobrazen na obrázku 10. Když se daný text bude shodovat s tímto vzorem, uloží se do patřičného typu pole, přiřazeného danému vzoru, mezi nalezená pole. Dále se z rozpoznávaného textu vyjme ta část vzoru, která se použila, avšak za dodržení určitých podmínek. Těmito podmínkami je například ponechání interpunkčního znaménka, nebot vzory se skládají nejenom z obsahu pole, ale i z jeho ohraničení. Pro lepší pochopení uvedu příklad na vzoru pro rok (year). Bayer, J. - Šebek, Z. - Píša, P. Počítače pro řízení. 1. vyd. Praha : ČVUT, s. ISBN , kde navržený vzor musí počítat s tím, že rok obsahuje čtyři číslice, z nichž první může nabývat hodnot 1 a 2 (pro roky od 1000 do 2999). Dále musí být z obou stran oddělen interpunkčními znaménky, víme, že se nikdy nevyskytuje jako první (je zde vždy levá interpunkce), toto je zde uvedeno kvůli nevyjmutí vzoru, pokud je částí například názvu konference, jak bylo uvedeno výše v odstavci věnované setřídění znalostí a pořadí prohledávání znalostí a vzorů, kde je spolehlivější vyhledávat nejdříve znalosti a poté teprve vzory. Po vyjmutí roku, zde musí zůstat interpunkční znaménko tak, aby bylo zachováno oddělení jednotlivých polí. Celý algoritmus prohledávání dle vzorů skončí tehdy, pokud se prohledají všechny vzory, nebo není-li již co rozpoznávat. Výstupem jsou uložená pole v tabulce nalezených polí a modifikovaný rozpoznávaný text, ořezaný o rozpoznaná pole. Zdeněk Rosůlek 62

63 Pomoc od operátora Algoritmus rady od operátora bude přicházet na řadu, když bude ještě zbývat nerozpoznaný text, ale program již využil obou fází prohledávání, tedy jak znalostí tak vzorů. Operátor bude mít za úkol z daného textu vyjmout, nebo okopírovat obsah celého pole do připraveného textboxu s názvem text pole a vybrat z comboboxu typ pole, o jaké se jedná, toto pole se uloží s vybraným obsahem do nalezených polí. Je zde ještě jeden combobox, který bude určovat v připadě jeho nastavení speciální typ pole, které blíže specifikuje typ dokumentu. Toto pole se sice také uloží mezi nalezená pole, aby dle něho mohlo být pomocí heuristik rozhodováno o typu dokumentu, ale nebude se ukládat mezi data v aplikaci knihovna, nebot jeho obsah již je uložen v obyčejném poli (nespeciálním). Pro lepší pochopení uvedu příklad. Attia, A. Genetic Algorithms for Optimizing Fuzzy and Neuro-Fuzzy Systems. [PhD Thesis]. Prague : CTU, Faculty of Electrical Engineering, Department of Control Engineering, p. Dejme tomu, že zvýrazněný text nebyl rozpoznán. Jelikož se jedná o citaci doktroské práce, které přísluší pomůžeme při rozhodování typu publikace výše zmíněným specálním typem pole. Provedeme to tak, že celý obsah pole vyjmeme a zkopírujeme do textboxu text pole. Vybereme typ pole, kterým je v tomto případě ambiguous, nebot se jedná o pole uvnitř hranatých závorek. Nakonec vybereme v comboboxu speciální typ s který jednoznačně určuje, že se jedná o stejnojmený typ publikace. Jestliže nechceme celou tuto akci provádět znovu při podobných citacích obsahujících toto pole a jsme si jisti svou volbou, pak zaškrtneme checkbox uložit do db znalostí. Tímto jsme pomohli k rozpoznání zbytku analyzovaného textu a zároveň naučily systém nové znalosti. Pokud operátor text vyjmul (vystřihl), není text třeba dále upravovat. Naopak došlo-li ke kopírování z rozpoznávaného textu do textového pole, pak je třeba rozpoznávaný text upravit, aby již neobsahoval kopírovaný obsah pole. Je tu ještě jedna možnost, jak může operátor pomoci při analýze textu, a to jednoduše tak, že pouze rozpoznávaný text upraví. Po potvrzení totiž proběhne znovu analýza obou fází (znalosti a vzory). Pro ukončení analýzy lze též zbytek rozpoznávaného textu prostě vymazat! Určení typu publikace Pro nalezené položky je nutné určit správný typ publikace, který bude vyhovovat zadaným kritériím. Tímto výběrem vhodného typu se zabývá algoritmus znázorněný blokovým diagramem na obrázku 12. Jak již bylo řečeno vychází se z nalezených položek a dle určitých kritérií, které jsou zadány ve formě heuristik, se postupně upřesňuje nejvhodnější typ. Tento výběr můžeme rozdělit do tří fází: 1. heuristika - povninné položky (required & substitution) ty musí typ obsahovat 2. heuristika - zakázané položky (not) ty nesmí typ obsahovat 3. heuristika - volitelné položky (optional) vhodné, pokud typ obsahuje V první fázi pro každý záznam ze seznamu typů dokůmentů, který je uložen v databázi knihovna, zjišt ujeme, jestli jsou splněny heuristiky typu required (tabulka attributes req), kde je pro každý typ publikace uvedeno, jaké položky musí být nalezeny. Pokud některé z nich nalezeny nejsou, je zde ještě možnost jejich substituce (tabulka attributes sub), kde jsou uvedeny náhradní pole, které je mohou zastupovat. Po průchodu touto fází máme seznam všech typů, které vyhovují (splňují povinná pole). Pro lepší rozhodování je ještě ukládáno, kolik položek u každého konkrétního typu je povinných. Do druhé fáze tedy postupují všechny typy dokumentů, které vyhověly fázi 1. Zde jsou prováděny heuristiky typu not (tabulka attributes not), kde je pro každý typ uvedeno, jaké položky nesmí obsahovat. Jedná se především o speciální položky předurčující typ (entry atr= A ), atd. Tato fáze tedy zredukuje seznam typů z první fáze, jestliže tedy byly nalezeny položky, které jsou pro určitý typ dokumentu zakázané, je tento typ ze seznamu vyřazen. Zdeněk Rosůlek 63

64 Poslední, třetí fáze, pouze pro všechny typy z výsledku druhé fáze, připočítává kolik volitelných položek bylo nalezeno a vybírá typ, jehož číslo reprezentující shodu nalezených položek z první a třetí fáze je nejvyšší. Při součtu je zde využito upřenostnění povinných položek z první fáze. Pro každý typ publikace je spočteno číslo Q, reprezentující vhodnost tohoto typu, čím vyšší je toto číslo tím je tento typ vhodnější. Q(typ) = q req N req (typ) + q opt N opt (typ), (1) kde N req... počet povinných položek N opt... počet volitelných položek q req... koeficient upřednostňující povinné položky q opt... koeficient upřednostňující volitelné položky q req > q opt... upřednostnění povinných položek. Zdeněk Rosůlek 64

65 Obrázek 8: Hlavní algoritmus - blokový diagram Zdeněk Rosůlek 65

66 Obrázek 9: Vnořený algoritmus - prohledání v db znalostí Zdeněk Rosůlek 66

67 Obrázek 10: Vnořený algoritmus - prohledání dle připravených vzorů Obrázek 11: Vnořený algoritmus - operátor Zdeněk Rosůlek 67

68 Obrázek 12: Vnořený algoritmus - určení typu publikace Zdeněk Rosůlek 68

69 14.4 Návrh databáze Pro rozpoznávání citací dokumentů bylo třeba určitých heuristik a také znalostí. Proto algoritmus rozpoznávání využívá k uložení těchto informací databázi. Dále je pak databáze využívána pro dočasné uložení nalezených polí, než jsou uložena do databáze knihovna. Před vlastním uložením do knihovny je třeba transformovat některá speciální rozpoznávací pole na pole jiná, sloužící k uložení v databázi knihovna, k čemuž slouží tabulka substitucí. Databáze lze rozdělit do několika podobných celků, například dle editace a platnosti tabulek. Jednak na tabulky, které jsou dočasné a data v nich jsou ukládána jen pro potřeby rozhodování. Dále na tabulky s pevně daným obsahem, který slouží pro rozhodování a uživatel jej nemůže měnit. A nakonec na tabulky, které mohou být editovány uživatelem. Toto dělení je vyznačeno barvami jednotlivých tabulek a celého schématu databáze (obr.13). Celou strukturu databáze bibliografie lze rozdělit i jinak a to dle využití jednotlivých tabulek v algoritmu. Podle tohoto dělení jsou v první části (14.4.1) uloženy definice rozpoznávaných polí a nalezená pole. Pro vyhledávání slouží tabulka znalostí (14.4.2). Část zabývající se rozpoznáváním typu dokumentu využívá tabulek s heuristikami (14.4.3). Pro vlastní uložení do databáze knihovna (14.4.4) je tabulka vztahů mezi rozpoznávanými a ukládanými poli První část Jelikož při rozpoznávání polí je třeba rozlišovat i některé specifické požadavky, byla navržena speciální tabulka pro tato pole, která se liší od tabulky field v databází knihovna (kapitola 12). Takovýmito specielními poli jsou nejenom pole předurčující typ dokumentu, jejichž název začíná znakem zavináče ale také pole se specifickými uvozeními v citaci, např. (ambiguous, location,...), která jsou popsána v odstavci věnovanému rozdělení znalostí v analýze návrhu (kap ). Dále jsou to pole, která vznikla dělením původních polí, jako například pole stránek je rozděleno na dvě pole, a to bud stránky zapsané jednoduchou číslicí (pages simple), nebo pole udávající rozsah stránek (pages range). Protože některá pole slouží pouze k přesnějšímu rozpoznání typu publikace a jejich obsah není ukládán do databáze knihovna, je nutno rozlišit je od polí ostatních, a proto je pro ně v tabulce zahrnut speciální atribut odlišující tato pole. Při návrhu by šlo vynechat tento atribut a přijmout omezující pravidlo, aby například název všech těchto specielních rozhodovacích polí začínal znakem zavináč, tak jak tomu u většiny těchto polí je. Avšak pro lepší přehlednost a snadnější tvorbu dotazů byl přidán tento atribut. Jak již bylo uvedeno, tato pole se v mnohém liší od standardních polí BibTeXu, a proto je u každého pole uveden stručný popis, který pomáhá operátorovi, při případném třídění zbytku nerozpoznaného textu. Rozpoznávaná pole - tabulka field searching V této tabulce (tab.16.) jsou uloženy informace o všech rozpoznávaných polích. Prvním z nich je identifikační číslo pole, označený id field d (název odvozen od podobnosti polí s aplikací knihovna, s tím že d je zkratka decision), které má délku 4 znaky a je typu integer. Druhým polem je vlastní název pole o maximální délce 15-ti znaků. Dalším atributem je pole entry atr (název odvozen od typů dokumentů označovaných v BibTeXu jako entry), které je implicitně nastaveno na N. Tento atribut slouží pro rozlišení obyčejných polí od polí specielních, určených zejména pro rozpoznávání typu publikace. Tato specielní pole mají nastaven tento atribut na hodnotu A a obvykle začínají znakem zavináče, jenž nemusí být pravidlem. Nakonec je zde ještě atribut pro uložení stručného popisu daného pole v maximální délce 70-ti znaků sloužící v systému při rozpoznávání jako stručný help. Primárním klíčem je identifikátor hledaného pole, výsledný SQL příkaz pro vytvoření tabulky je: CREATE TABLE field searching ( Zdeněk Rosůlek 69

70 field searching atribut typ atributu hodnota NULL výchozí hodnota id field d integer(4) NOT NULL 0 name varchar(15) NOT NULL entry atr enum( A, N ) NOT NULL N description varchar(70) Tabulka 16: Tabulka rozpoznávaných polí id field d int(4) unsigned NOT NULL default 0, name varchar(15) NOT NULL default, entry atr enum( A, N ) NOT NULL default N, description varchar(70) default NULL, PRIMARY KEY (id field d) ) TYPE=MyISAM COMMENT= prohledavane polozky ; Dočasné uložení nalezeného - tabulka field finded Tato tabulka (tab.17.) slouží k ukládání všech již nalezených polí, at již se jedná o běžná pole, specielní pole pro rozpoznávání typu a nebo pole, která byla ručně přiřazena operátorem. Tato tabulka je před vlastním rozpoznáváním nové citace smazána a slouží k dočasnému uložení nalezených položek. Prvním atributem je identifikační číslo pole odkazující se do tabulky field searching a druhým atributem jsou data, nebo-li obsah daného pole (např pro pole year). field finded atribut typ atributu hodnota NULL výchozí hodnota id field d integer(4) NOT NULL 0 data text NOT NULL Tabulka 17: Tabulka nalezených polí pro aktuální publikaci je: Primárním klíčem je identifikátor nalezeného pole, výsledný SQL příkaz pro vytvoření tabulky CREATE TABLE field finded ( id field d int(4) unsigned NOT NULL default 0, data text NOT NULL, PRIMARY KEY (id field d) ) TYPE=MyISAM COMMENT= nalezene polozky ; Část znalostí V této tabulce (tab. (18). jsou uloženy všechny nezobecnitelné a smíšené znalosti, podle rozdělení uvedeného v kapitole (14.2.2). Identifikačním číslem znalosti je atribut id knowledges, který je typu autoincrement a je tedy jedinečný v rámci celé tabulky. Konkrétní znalosti se vztahují k jednotlivým nalézaným polím field searching a odkazují se na ně pomocí druhého atributu, tedy id field d. Vlastní znalost je uložena v atributu data, jež má datový typ text tak, aby vyhovoval zadání 1000 znaků, což je maximální délka pole v BibTeXu. Posledním atributem je id entry, který se odkazuje do tabulky field searching, na některý záznam se speciálním typem (entry atr= A ). Zdeněk Rosůlek 70

71 Při nalezení této znalosti v rozpoznávaném textu se pak vyhledá patřičný speciální typ a dle něho se heuristikami určí typ dokumentu (obr. 12). Všechny atributy mají nastavenu hodnotu NOT NULL. field knowledges atribut typ atributu hodnota NULL výchozí hodnota id knowledges integer(4) NOT NULL auto increment id field d integer(4) NOT NULL 0 data text NOT NULL id entry integer(4) NOT NULL 0 Tabulka 18: Tabulka znalostí je: Primárním klíčem je jedinečné číslo znalosti, výsledný SQL příkaz pro vytvoření této tabulky CREATE TABLE field knowledges ( id knowledges int(4) unsigned NOT NULL auto increment, id field d int(4) unsigned NOT NULL default 0, data text NOT NULL, id entry int(4) unsigned NOT NULL default 0, PRIMARY KEY (id knowledges) ) TYPE=MyISAM COMMENT= obsahuje data znalosti ; Heuristická část Pro určení správného typu publikace z nalezených položek se používají heuristiky. Tyto heuristiky jsou v systému uloženy v několika tabulkách, dle nutnosti polí ve vztahu k danému typu dokumentu. Povinná pole V tabulce 19. jsou pro daný typ uložena jeho povinná pole, tedy pole, která musí být pro daný typ nalezena v rozpoznávaném textu. Prvním atributem této tabulky je identifikátor pole odkazující se do field searching a druhým atributem je typ publikace, jehož identifikátorem je číslo odkazující se do databáze knihovna v tabulce type. Oba atributy musí být nastaveny. attributes req atribut typ atributu hodnota NULL výchozí hodnota id field d integer(4) NOT NULL 0 id type integer(4) NOT NULL 0 Tabulka 19: Tabulka heuristik - povinná pole (required) Klíč je typu UNIQUE a je složen z identifikačního čísla pole a typu publikace, výsledný SQL příkaz pro vytvoření této tabulky heuristik je: CREATE TABLE attributes req ( id field d int(4) unsigned NOT NULL default 0, id type int(4) unsigned NOT NULL default 0, UNIQUE KEY id field d id type (id field d,id type) ) TYPE=MyISAM COMMENT= povinne polozky pro dany typ ; Pokud dané pole nebylo nalezeno, je možná jeho substituce jiným polem, pokud je nalezen odpovídající záznam v tabulce substitucí (tab.20.). První i druhý atribut jsou stejné jako v předchozí Zdeněk Rosůlek 71

72 tabulce a určují pro daný typ publikce povinné pole, avšak třetí atribut je též identifikátor pole, které může nahradit nenalezené pole v prvním atributu. Jestliže například v publikaci nebude nalezeno pole author, ale bude nalezeno pole editor, pak plně nahradí pole autora a pořád bude splňovat povinná pole typu knížka. K tomuto je třeba, aby byl v tabulce substitucí záznam, jehož identifikační číslo pole je author, jeho typ a atribut id field sub bude odkazovat na editor. attributes sub atribut typ atributu hodnota NULL výchozí hodnota id field d integer(4) NOT NULL 0 id type integer(4) NOT NULL 0 id field sub integer(4) NOT NULL 0 Tabulka 20: Tabulka heuristik - substituovatelná pole (subst) Aby bylo umožněno nahradit jedno povinné pole některým z více uvedených polí, je klíč tabulky typu UNIQUE a je složen z identifikačního čísla nahrazujícího povinné pole (pole které ho nahradí) a typu publikace. Není tedy možné, aby jedno pole nahrazovalo více povinných polí pro konkrétní typ publikace, nebot databáze tento duplicitní záznam (v důsledku porušení jedinečnosti primárního klíče) nedovolí uložit. Výsledný SQL příkaz pro vytvoření této tabulky heuristik je: CREATE TABLE attributes sub ( id field d int(4) unsigned NOT NULL default 0, id type int(4) unsigned NOT NULL default 0, id field sub int(4) unsigned NOT NULL default 0, UNIQUE KEY id field d id type (id type,id field sub) ) TYPE=MyISAM COMMENT= nahradni polozky pro dany typ ; Zakázaná pole Tato tabulka heuristik (tab.21.) slouží především k vyloučení typů publikací, u nichž bylo nalezeno pole speciálního typu pro jiný typ publikace. Mějme například publikaci, pro kterou bylo nalezeno pole speciálního typu s Toto pole jednoznačně určuje typ publikace se stejnojmenným názvem, a proto ostatní typy musí být vyloučeny. Vyloučení je provedeno pro všechny typy, pro které je nalezen záznam v této tabulce s identifikačním číslem Tato heuristika vybere tedy všechny typy publikací, pro které zde nebyl nalezen záznam pro žádné z nalezených polí. Struktura tabulky je stejná jako u povinných polí. Klíč je typu UNIQUE a je složen z idenattributes not atribut typ atributu hodnota NULL výchozí hodnota id field d integer(4) NOT NULL 0 id type integer(4) NOT NULL 0 Tabulka 21: Tabulka heuristik - zakázaná pole (not) tifikačního čísla pole a typu publikace, výsledný SQL příkaz pro vytvoření této tabulky heuristik je: CREATE TABLE attributes not ( id field d int(4) unsigned NOT NULL default 0, id type int(4) unsigned NOT NULL default 0, Zdeněk Rosůlek 72

73 UNIQUE KEY id field d id type (id field d,id type) ) TYPE=MyISAM COMMENT= nepovolene polozky pro dany typ ; Doplňující pole Tabulka attributes opt (tab.22.) pouze rozhoduje ve prospěch daného typu, pokud bylo nalezeno více typů splňujících předchozí heuristiky. Struktura tabulky je obdobná, jako u tabulky povinných polí. Klíč je typu UNIQUE a je složen z identifikačního čísla pole a typu attributes opt atribut typ atributu hodnota NULL výchozí hodnota id field d integer(4) NOT NULL 0 id type integer(4) NOT NULL 0 Tabulka 22: Tabulka heuristik - volitelná pole (optional) publikace, výsledný SQL příkaz pro vytvoření této tabulky heuristik je: CREATE TABLE attributes opt ( id field d int(4) unsigned NOT NULL default 0, id type int(4) unsigned NOT NULL default 0, UNIQUE KEY id field d id type (id field d,id type) ) TYPE=MyISAM COMMENT= prospesne polozky pro dany typ ; Uložení polí do db knihovna Všechna pole, která se nalezla je třeba uložit do databáze aplikace knihovna. Jelikož rozpoznávané položky se přesně neschodují s poli ukládanými v db knihovna, je nutné znát přiřazení, podle kterých se rozpoznané položky uloží. Tuto transformaci zajišt uje tabulka field substitution (tab. 23.), která přiřazuje nalezenému poli identifikátor pole pod kterým bude uloženo, at už obecně anebo konkrétně pro zvolený typ publikace. Prvním atributem je identifikátor nalezeného pole, druhým je identifikátor pod kterým bude pole uloženo v databázi knihovna. Třetí atribut s názvem id type určuje, jestli je toto přiřazení obecné a nezáleží tedy na typu publikace, nebo jestli je toto přiřazení dáno jen pro konkrétní typ, pak je zde vyplněno identifikační číslo tohoto typu. Všechny položky musí být vyplněny a mají tedy nastaveno NOT NULL. field substitution atribut typ atributu hodnota NULL výchozí hodnota id field d integer(4) NOT NULL 0 id field db integer(4) NOT NULL 0 id type integer(4) NOT NULL 0 Tabulka 23: Tabulka substitučních vztahů pro uložení do db knihovna Klíč je typu UNIQUE a je složen z prvního a třetího atributu, tj. identifikačního čísla nalezeného pole a identifikačního čísla typu publikace. Tato volba jedinečnosti klíče byla nutná k tomu, aby bylo možno uložit tyto speciální případy: 1. dvě různá pole se ukládají do jednoho pole pro různé typy publikací 2. dvě různá pole se ukládají do jednoho pole pro stejné typy publikací Zdeněk Rosůlek 73

74 3. dvě stejná pole se ukládají do různých polí pro různé typy publikací případ nalezeno uloženo typ publikace 1. pages range pages typ 1. pages simple pages typ pages range pages všechny typy pages simple pages všechny typy 3. in in Výsledný SQL příkaz pro vytvoření této tabulky vztahů pro uložení nalezených polí je: CREATE TABLE field substitution ( id field d int(4) unsigned NOT NULL default 0, id field db int(4) unsigned NOT NULL default 0, id type int(4) unsigned NOT NULL default 0, UNIQUE KEY id field d id type (id type,id field d) ) TYPE=MyISAM COMMENT= tabulka substituci poli pro ulozeni do Mejstrik ; Výsledná databázová struktura bibliografie Na E-R diagramu databáze bibliografie obr.13. je barevně rozlišena struktura tabulek dle editace a platnosti tabulek. Tabulky označené žlutě mají předem pevně vložená data a ta nebudou systémem měněna. Tabulka dočasných dat nalezených položek pro konkrétní publikaci, která budou v případě nové analýzy vymazána, je označena modrou barvou. Všechny znalosti, které může uživatel přidávat i mazat jsou obsaženy v tabulce znalostí, která ma v diagramu zelenou barvu. Zdeněk Rosůlek 74

75 Obrázek 13: E-R diagram databáze bibliografie Zdeněk Rosůlek 75

76 15 Sestavení citace ze záznamu 15.1 Úvod do problému Tisk citace je úloha právě opačná než je analýza citace a je jednodušší než rozpoznávání položek, které může být nejednoznačné. Existují přesné normy, které definují, jak má každá citace konkrétního typu dokumentu vypadat. Já se zde budu držet normy ČSN ISO 690[9][10], jež se podrobněji věnuji v části 11. Je zde nutné nejenom dodržet uvedení povinných údajů, stejně tak jako celou strukturu citace, včetně interpunkčních znamének. Celá citace by měla být přehledná, jednotná a úplná. První dvě vlastnosti lze zaručit algoritmem, který bude postupovat vždy stejně, podle předem daných pravidel, avšak nemůžeme zaručit její úplnost, pokud nebude v databázi knihovna dostatek údajů. Je třeba, aby byl zachován jazyk knihy, tj. aby všechna daná pole byla ve stejném jazyce a nebyla některá z nich překládána do jazyka jiného. Vyjímkou jsou ale například údaje o fyzickém popisu, kdy používáme jednotný jazyk, například pro čísla stránek. Každý citovaný dokument by měl být zapsán tak, aby ho bylo možné zpětně dohledat a také zajistit že se jedná o správnou verzi tohoto dokumentu. Toto je problémem zvláště u elektronických citací, avšak těmito záležitostmi se zde nebudeme zabývat, nebot toto jsou problémy citační etiky, které již v této fázi neovlivníme. Je to záležitostí naplnění databáze správnými a úplnými údaji z primárních pramenů, které zde můžeme již pouze správně citovat Návrh algoritmu Narozdíl od části věnované návrhu algoritmu pro analýzu citace, kde byly zamítnuty modely pro nejednoznačnost určení, se zde budeme těmito modely řídit. Z databáze totiž přesně víme, o jaký typ publikace se bude jednat, a podle toho použijeme jeden ze základních modelů. Každý model pro danou publikaci je rozdělen do tématických skupin (polí), jejichž pořadí je určeno normou. Tato pole určují zařazení údajů stejného typu v citaci na jedno místo. Také jsou tímto modelem určena povinná pole, která by neměla být vynechána. Z databáze tedy známe typ publikace a obsahy jednotlivých polí, která však obsahují pouze konkrétní data, nikoliv formátovací znaky. Vezměme si například následující citaci: Bayer, J. - Hanzálek, Z. - Šusta, R. Logické systémy pro řízení. 1. vyd. Praha : ČVUT, s. ISBN Tématický celek s názvem publikace uložený v poli title je psán kurzívou. U položky pages, která reprezentuje rozsah díla je uloženo pouze číslo 269 ale v citaci je nutno k němu připsat, že se jedná o počet stránek. Podobně je tomu i u pole ISBN (International Standard Book Number), kde je v databázi pod tímto názvem pole uloženo pouze formátované číslo , avšak v citaci je nutno před něj uvést zkratku ISBN. Nejdříve tedy zjistíme typ publikace, dle kterého zvolíme použitý model. Tento model pak bude tisknout jednotlivá pole dle jejich jmenných názvů s jejich specifickou syntaxí, tj. prefixy, postfixy či jiné formátovací a doplňující znaky v předem určeném pořadí. Pokud dané pole nebude k dispozici, bude vynecháno a tisk citace bude pokračovat polem následujícím v pořadí. Může se stát, že některé tištěné pole nebude v záznamu knihovny uvedeno, ale publikace bude obsahovat referenci (crossref), která bude odkazovat na nadřazený dokument, který svými položkami toto pole zastoupí. Referencí je využíváno zvláště u částí a statí v monografiích (@inbook), příspěvcích ve sbornících (@inproceedings), článcích v seriálových publikacích a dalších Blokový diagram algoritmu tisku citace Algoritmus je stručně zobrazen na blokovém diagramu obr. 14., jež v sobě obsahuje blok tisk položek, který je podrobněji rozkreslen na obrázku 15. Zdeněk Rosůlek 76

77 Na počátku je uživatelem zadána reference publikace, kterou chceme citovat. Dle této reference, která je jedinečná v rámci celé databáze, se v databázi knihovna vyhledá patřičný záznam spolu s podzáznamy obsahující všechna data k publikaci. Dalším krokem je zjištění názvu typu publikace z tabulky type a výběr vhodného modelu pro tisk citace. Těchto modelů je několik a liší se pořadím, počtem a formátováním jednotlivých polí. Na uvedeném diagramu je zobrazen pouze a pro přehlednost je celý ohraničen v rámečku. Tento model tisku citace může obsahovat tzv. nadřízenou publikaci, na kterou se lze odkazovat pomocí pole crossref, jehož text obsahuje referenci této nadřízené publikace viz. BibTeX format (kap. 2.6). Proto je tedy nejprve zjišt ováno, zda-li existuje tato nadřízená publikace. V případě výskytu je nastaven příznak o její existenci a je vytvořeno spojení na její data, která se použijí v případě chybějících dat citované publikace. V tomto modelu se nejprve vysází jméno autora a v případě, že neexistuje, tak se použije jméno editora. Pokračuje se jménem publikace, vydání, roku a končí se polem ISBN. Tímto celý algoritmus tisku citace končí. Vysázení jednotlivých polí je podrobnějí zobrazeno v poddiagramu na obr. 15. V této části je nejdříve zjištěno, zda předané pole existuje, pakliže ano, je vysázeno dle předané syntaxe. Tato syntaxe udává například pro tisk názvu publikace použití kurzívy a také je v ní zahrnuto použití oddělovačů jednotlivých polí. Po úspěšném vysázení je položka vyjmuta z tištěných polí, aby nemohla být znovu použita. Toto vyjmutí je nutné zvláště pokud v modelu dochází k tisku ostatních ještě nepoužitých polí. Pokud nebylo předané pole nalezeno, je zjišt ováno nastavení příznaku nadřízené publikace. V případě nastavení příznaku a nalezení hledaného pole nadřízené publikace je provedeno vysázení tohoto pole s takovou syntaxí, jako pro pole citované publikace. Nakonec je pole vyjmuto z tištěných polí, jako tomu je i u polí citované publikace a tím podalgoritmus tisku polí končí. Stejně tak je dosaženo konce i v případě, že není nastaven příznak crossref a nebo pokud konkrétní pole nebylo v této nadřízené publikaci nalezeno. Zdeněk Rosůlek 77

78 Obrázek 14: Algoritmus tisku citace z knihovny - blokový diagram Zdeněk Rosůlek 78

Přílohy. \appendix zahájí sazbu příloh

Přílohy. \appendix zahájí sazbu příloh Přílohy \appendix zahájí sazbu příloh třída article: \section budou číslovány písmeny třída report, book: \chapter generují Příloha A místo Kapitola 1 Titulky dokumentu základem jsou deklarace \title{název

Více

Univerzita Karlova v Praze

Univerzita Karlova v Praze [Vzor: Pevná deska diplomové práce není součástí elektronické verze] [Verze 3/2013 platná od 18.3.2013 dostupná z http://www.mff.cuni.cz/studium/bcmgr/prace] Univerzita Karlova v Praze Matematicko-fyzikální

Více

Vyhledávání v citační databázi Web of Science (WOS)

Vyhledávání v citační databázi Web of Science (WOS) Vyhledávání v citační databázi Web of Science (WOS) Petr Boldiš Stanislava Kohoutová Česká zemědělská univerzita v Praze Studijní a informační centrum 2004 Tento materiál byl vytvořen v rámci grantu FRVŠ

Více

Univerzita Karlova v Praze

Univerzita Karlova v Praze [Vzor: Pevná deska bakalářské práce není součástí elektronické verze] Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Rok Jméno a příjmení autora [Vzor :Titulní strana bakalářské

Více

EBSCO. http://search.ebscohost.com. Poklikneme na možnost EBSCOhost Web. Vybereme (poklepeme, zaškrtneme) databázi, s kterou chceme pracovat.

EBSCO. http://search.ebscohost.com. Poklikneme na možnost EBSCOhost Web. Vybereme (poklepeme, zaškrtneme) databázi, s kterou chceme pracovat. EBSCO http://search.ebscohost.com Poklikneme na možnost EBSCOhost Web Vybereme (poklepeme, zaškrtneme) databázi, s kterou chceme pracovat. Vyhledávací techniky Rejstříky Pomůckou pro vyhledávání jsou rejstříky,

Více

Formální úprava bakalářských a diplomových prací Univerzita Karlova, Husitská teologická fakulta

Formální úprava bakalářských a diplomových prací Univerzita Karlova, Husitská teologická fakulta Formální úprava bakalářských a diplomových prací Univerzita Karlova, Husitská teologická fakulta Odevzdání práce Bakalářské a diplomové práce se odevzdávají prostřednictvím webového rozhraní SIS na adrese

Více

Citování BibTEX JabRef

Citování BibTEX JabRef J. Koprnický TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl v rámci projektu ESF CZ.1.07/2.2.00/07.0247 řízení a měření, který je spolufinancován

Více

METODIKA JEDNOTNÉHO CITOVÁNÍ A TVORBY BIBLIOGRAFICKÝCH ODKAZŮ PRO NEJČASTĚJI CITOVANÉ DOKUMENTY NA VŠTE DLE ČSN ISO 690:2010

METODIKA JEDNOTNÉHO CITOVÁNÍ A TVORBY BIBLIOGRAFICKÝCH ODKAZŮ PRO NEJČASTĚJI CITOVANÉ DOKUMENTY NA VŠTE DLE ČSN ISO 690:2010 METODIKA JEDNOTNÉHO CITOVÁNÍ A TVORBY BIBLIOGRAFICKÝCH ODKAZŮ PRO NEJČASTĚJI CITOVANÉ DOKUMENTY NA VŠTE DLE ČSN ISO 690:2010 Citační záznam slouží k jednoznačné identifikaci zdroje, tedy např. knihy, časopisu

Více

Univerzita Karlova v Praze. Matematicko-fyzikální fakulta ZÁVĚREČNÁ PRÁCE. [Znak MFF UK dle Symboly a kresby spojené s MFF]

Univerzita Karlova v Praze. Matematicko-fyzikální fakulta ZÁVĚREČNÁ PRÁCE. [Znak MFF UK dle Symboly a kresby spojené s MFF] [Vzor: Titulní strana závěrečné práce] Univerzita Karlova v Praze Matematicko-fyzikální fakulta ZÁVĚREČNÁ PRÁCE Kurz Vyučování všeobecně vzdělávacího předmětu matematika [Znak MFF UK dle Symboly a kresby

Více

Vložení identifikátorů DOI, UT WOS, UT SCOPUS a PubMed ID do záznamu

Vložení identifikátorů DOI, UT WOS, UT SCOPUS a PubMed ID do záznamu Vložení identifikátorů DOI, UT WOS, UT SCOPUS a PubMed ID do záznamu 6. 10. 2016 K publikačním výsledkům lze vkládat tzv. identifikátory dokumentů. Ty jednoznačně určují dokument v dané databázi. V ASEP

Více

Název práce [velikost písma 20b]

Název práce [velikost písma 20b] [Vše kromě názvu práce v češtině; název práce v jazyce práce] JANÁČKOVA AKADEMIE MÚZICKÝCH UMĚNÍ V BRNĚ [velikost písma 16b] Divadelní/Hudební fakulta Katedra/Ateliér Studijní obor [velikost písma 14b]

Více

PRŮVODCE FORMÁLNÍMI ÚPRAVAMI DISERTAČNÍCH PRACÍ NA PŘÍRODOVĚDECKÉ FAKULTĚ MU

PRŮVODCE FORMÁLNÍMI ÚPRAVAMI DISERTAČNÍCH PRACÍ NA PŘÍRODOVĚDECKÉ FAKULTĚ MU PRŮVODCE FORMÁLNÍMI ÚPRAVAMI DISERTAČNÍCH PRACÍ NA PŘÍRODOVĚDECKÉ FAKULTĚ MU Celá práce musí být vytištěna jednostranně ve formátu A4 nebo B5 s velikostí písma Arial 10pt nebo Times New Roman 12pt (případně

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Univerzita Karlova v Praze

Univerzita Karlova v Praze Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE 2011 Jonáš Bujok Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Jonáš Bujok Nástroj pro převod PDF na

Více

Modul MWA - Publikace a články

Modul MWA - Publikace a články Modul MWA - Publikace a články Stávající webová aplikace ČMI podporuje prostředníctvím Modulu RIV publikaci výstupů vykazovaných v Rejstříku informací o výsledkcích (dále jen RIV). Nový modul Publikace

Více

FAKULTA SOCIÁLNÍCH STUDIÍ. Název práce. [Zvolte druh závěrečné práce] HANA KOTOLOVÁ. Vedoucí práce: [Napište jméno a příjmení školitele s tituly]

FAKULTA SOCIÁLNÍCH STUDIÍ. Název práce. [Zvolte druh závěrečné práce] HANA KOTOLOVÁ. Vedoucí práce: [Napište jméno a příjmení školitele s tituly] FAKULTA SOCIÁLNÍCH STUDIÍ Název práce [Zvolte druh závěrečné práce] HANA KOTOLOVÁ Vedoucí práce: [Napište jméno a příjmení školitele s tituly] [Zvolte katedru nebo ústav] [Vyberte program] Brno Napište

Více

Výnos děkana č. 8/2010

Výnos děkana č. 8/2010 Filozofická fakulta UHK Rokitanského 62, 500 03 Hradec Králové Sídlo fakulty: Nám. Svobody 331, Hradec Králové www.uhk.cz/ff Mgr. Petr Grulich, Ph.D. tel. 493 331 201 děkan e-mail: petr.grulich@uhk.cz

Více

Úvod do TeXu. Jan Vaněk. Nové Hrady 2011

Úvod do TeXu. Jan Vaněk. Nové Hrady 2011 Úvod do TeXu Jan Vaněk Nové Hrady 2011 Organizace kurzu Úvodní přednáška Co to je? K čemu se hodí/nehodí Tex vs. Word Instalace Základy TeXu Individuální tvorba Závěrečná práce TeX co to je? TeX je typografický

Více

Pravidla a metodické pokyny pro zpracování a odevzdání bakalářské/diplomové práce

Pravidla a metodické pokyny pro zpracování a odevzdání bakalářské/diplomové práce Pravidla a metodické pokyny pro zpracování a odevzdání bakalářské/diplomové práce Vedoucí základních součástí (kateder/ústavů) jsou povinni seznámit studenta se všemi okolnostmi pro vypracování a odevzdání

Více

Vyšší odborná škola a Střední průmyslová škola elektrotechnická F. Křižíka Praha 1, Na Příkopě 16. Pokyny pro formální zpracování absolventské práce

Vyšší odborná škola a Střední průmyslová škola elektrotechnická F. Křižíka Praha 1, Na Příkopě 16. Pokyny pro formální zpracování absolventské práce Vyšší odborná škola a Střední průmyslová škola elektrotechnická F. Křižíka Praha 1, Na Příkopě 16 Pokyny pro formální zpracování absolventské práce Vyšší odborná škola a Střední průmyslová škola elektrotechnická

Více

JANÁČKOVA AKADEMIE MÚZICKÝCH UMĚNÍ V BRNĚ. Divadelní/Hudební fakulta Katedra/Ateliér Studijní obor. Název práce

JANÁČKOVA AKADEMIE MÚZICKÝCH UMĚNÍ V BRNĚ. Divadelní/Hudební fakulta Katedra/Ateliér Studijní obor. Název práce JANÁČKOVA AKADEMIE MÚZICKÝCH UMĚNÍ V BRNĚ Divadelní/Hudební fakulta Katedra/Ateliér Studijní obor Název práce Diplomová práce [druh práce - Bakalářská práce, Diplomová práce, Disertační práce] Autor práce:

Více

Opatření děkana č. 1/2012 Pokyny pro vypracování bakalářských, diplomových a rigorózních prací na Přírodovědecké fakultě MU

Opatření děkana č. 1/2012 Pokyny pro vypracování bakalářských, diplomových a rigorózních prací na Přírodovědecké fakultě MU Opatření děkana č. 1/2012 Pokyny pro vypracování bakalářských, diplomových a rigorózních prací na Přírodovědecké fakultě MU Bakalářské, diplomové a rigorózní práce odevzdávané k obhajobě na Přírodovědecké

Více

Pokyny pro formální zpracování maturitní práce

Pokyny pro formální zpracování maturitní práce Vyšší odborná škola a Střední průmyslová škola elektrotechnická F. Křižíka Praha 1, Na Příkopě 16 Pokyny pro formální zpracování maturitní práce V Praze dne: 15. 10. 2008 Ing. Jan Hildebrand ředitel školy

Více

PŘÍRUČKA K PRÁCI S DATABÁZÍ CAB REVIEWS

PŘÍRUČKA K PRÁCI S DATABÁZÍ CAB REVIEWS PŘÍRUČKA K PRÁCI S DATABÁZÍ CAB REVIEWS Tatiana Oldřichová Srpen 2007 Příručka byla vytvořena v rámci projektu 1N04151 Informační zdroje pro zemědělský a potravinářský výzkum podporovaného Ministerstvem

Více

Příloha č. 1 k Vyhláška rektora č. 01/2011 o bakalářských pracích

Příloha č. 1 k Vyhláška rektora č. 01/2011 o bakalářských pracích Příloha č. 1 k Vyhláška rektora č. 01/2011 o bakalářských pracích Struktura písemné práce Z formálního hlediska by bakalářská práce měla splňovat požadavky kladené na psaní odborných publikací, tzn. přehlednost,

Více

pravidla pro grafickou úpravu textů při práci s textovými editory:

pravidla pro grafickou úpravu textů při práci s textovými editory: Zásady pro vypracování seminární a maturitní práce Úprava písemností zpracovaných textovými editory norma ČSN 01 6910 pravidla pro grafickou úpravu textů při práci s textovými editory: určuje způsob psaní

Více

Formální požadavky na zpracování bakalářské práce

Formální požadavky na zpracování bakalářské práce - 1 - Formální požadavky na zpracování bakalářské práce Minimální rozsah 40 stran Řádkování Řádkování 1,5 Písmo Velikost 12, Times New Roman Okraje Horní okraj stránky 25 mm, dolní okraj stránky 25 mm,

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

MODUL BIBLIOGRAFIE ASPI, a. s. 2006

MODUL BIBLIOGRAFIE ASPI, a. s. 2006 MODUL BIBLIOGRAFIE ASPI, a. s. 2006 OBSAH OBSAH 1. ÚVOD............................................................... 4 2. ZADÁNÍ DOTAZU...................................................... 6 Pole Forma

Více

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML. 24. XML Úvod Značkovací jazyk XML (extensible Markup Language) vznikl ze staršího a obecnějšího jazyku SGML (Standard Generalized Markup Language). XML byl vyvinut konsorciem W3C, aby poskytl standardní

Více

Gymnázium a Střední odborná škola Moravské Budějovice. Pravidla pro tvorbu seminárních a maturitních prací

Gymnázium a Střední odborná škola Moravské Budějovice. Pravidla pro tvorbu seminárních a maturitních prací Gymnázium a Střední odborná škola Moravské Budějovice Pravidla pro tvorbu seminárních a maturitních prací Obsah 1. Rychlý přehled... 3 1.1. Vzhled stránky:... 3 1.2. Formát nadpisů:... 3 1.3. Formát odstavcového

Více

Odborný článek. Petr Klán, VŠE v Praze, IMRAD Introduction, Material and Method, Results, Discussion

Odborný článek. Petr Klán, VŠE v Praze, IMRAD Introduction, Material and Method, Results, Discussion Odborný článek Petr Klán, VŠE v Praze, petr.klan@vse.cz Části odborného článku IMRAD Introduction, Material and Method, Results, Discussion NADPIS Do 10 slov Autor (autoři) Jméno, adresa, e-mail Abstrakt

Více

Metodický manuál pro vypracování seminární práce

Metodický manuál pro vypracování seminární práce Metodický manuál pro vypracování seminární práce Liberec 2008 Obsah: 1. Význam a cíl seminární práce 2. Formální úprava seminární práce 2.1. Titulní stránka 2.2. Řazení listů seminární práce 2.3. Vlastní

Více

Úvod do studia a života na vysoké škole - modul Práce s literaturou. Informace pro nové studenty Přírodovědecké fakulty JU

Úvod do studia a života na vysoké škole - modul Práce s literaturou. Informace pro nové studenty Přírodovědecké fakulty JU Úvod do studia a života na vysoké škole - modul Práce s literaturou Informace pro nové studenty Přírodovědecké fakulty JU Materiál pro úvodní kurz FBI 003 na Přírodovědecké fakultě JU Komentovaný text

Více

Web of Science. Bibliotheca Academica

Web of Science. Bibliotheca Academica Web of Science Bibliotheca Academica 2018 31. 10. 2018 2 vyhledávat objevovat Web of Science ResearcherID Publons identifikovat a zviditelnit publikační činnost Research Cycle psát, citovat a publikovat

Více

Pokyny pro zpracování bakalářských prací

Pokyny pro zpracování bakalářských prací Grafická a multimediální laboratoř Vysoká škola ekonomická v Praze 2014 Pokyny pro zpracování bakalářských prací Obsah Struktura bakalářské práce... 2 Vstupní část práce... 2 Hlavní textová část práce...

Více

Fakulta elektrotechnická

Fakulta elektrotechnická České vysoké učení technické v Praze Fakulta elektrotechnická DIPLOMOVÁ PRÁCE Název diplomové práce Praha, 2002 Autor: Jirka Roubal Prohlášení Prohlašuji, že jsem svou diplomovou (bakalářskou) práci vypracoval

Více

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE. Jak citovat. Zpracovala: Mgr. Ilona Trtíková ÚSTŘEDNÍ KNIHOVNA ČVUT. - Prosinec 2009 -

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE. Jak citovat. Zpracovala: Mgr. Ilona Trtíková ÚSTŘEDNÍ KNIHOVNA ČVUT. - Prosinec 2009 - ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Jak citovat Zpracovala: Mgr. Ilona Trtíková ÚSTŘEDNÍ KNIHOVNA ČVUT - Prosinec 2009 - Bibliografické citace by měly být součástí každé odborné publikace, tedy i textu

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT Funkce Najít a nahradit slouží k rychlému vyhledávání určitých slov a jejich nahrazování jinými slovy. Lze hledat i určité varianty slov a nahrazovat je buď hromadně (všechny

Více

POKYNY PRO VYPRACOVÁNÍ BAKALÁŘSKÉ A DIPLOMOVÉ PRÁCE

POKYNY PRO VYPRACOVÁNÍ BAKALÁŘSKÉ A DIPLOMOVÉ PRÁCE POKYNY PRO VYPRACOVÁNÍ BAKALÁŘSKÉ A DIPLOMOVÉ PRÁCE na Fakultě životního prostředí UJEP v Ústí nad Labem. 1. Bakalářská a diplomová práce se odevzdává ve třech výtiscích v pevné vazbě. Práce musí být svázaná

Více

Impaktované časopisy. Citační index

Impaktované časopisy. Citační index Impaktované časopisy Jedním z přístupů k hodnocení vědecké práce jsou scientometrické ukazatele. Jejich základní východiska jsou prostá: Každý autor používá při vzniku článku, příspěvku do sborníku aj.

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

Nápověda 360 Search. Co je 360 Search? Tipy pro vyhledávání

Nápověda 360 Search. Co je 360 Search? Tipy pro vyhledávání 1 z 5 Nápověda 360 Search Co je 360 Search? 360 Search je metavyhledávač, který slouží k paralelnímu prohledávání všech dostupných informačních zdrojů prostřednictvím jednotného rozhraní. Nástroj 360 Search

Více

Formální úprava bakalářských a diplomových prací. Univerzita Karlova v Praze Husitská teologická fakulta

Formální úprava bakalářských a diplomových prací. Univerzita Karlova v Praze Husitská teologická fakulta Formální úprava bakalářských a diplomových prací Odevzdání práce Univerzita Karlova v Praze Husitská teologická fakulta Bakalářské a diplomové práce se odevzdávají na Studijním oddělení UK HTF a to ve

Více

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná

Více

KIV/ZIS cvičení 5. Tomáš Potužák

KIV/ZIS cvičení 5. Tomáš Potužák KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí

Více

Pokyny k vypracování závěrečné maturitní práce

Pokyny k vypracování závěrečné maturitní práce Pokyny k vypracování závěrečné maturitní práce Závěrečná maturitní práce je autorské dílo žáků maturitních ročníků vymezené ve školském zákoně č. 56/2004 Sb., formálně a procesně vymezené ve vyhlášce MŠMT

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

O ÚPRAVĚ RUKOPISŮ PÍSEMNÝCH PRACÍ A O CITACI DOKUMENTŮ UŽÍVANÝCH V PRACÍCH PODÁVANÝCH NA PRÁVNICKÉ FAKULTĚ MU

O ÚPRAVĚ RUKOPISŮ PÍSEMNÝCH PRACÍ A O CITACI DOKUMENTŮ UŽÍVANÝCH V PRACÍCH PODÁVANÝCH NA PRÁVNICKÉ FAKULTĚ MU Masarykova univerzita Právnická fakulta Směrnice děkana č. 1/2006 O ÚPRAVĚ RUKOPISŮ PÍSEMNÝCH PRACÍ A O CITACI DOKUMENTŮ UŽÍVANÝCH V PRACÍCH PODÁVANÝCH NA PRÁVNICKÉ FAKULTĚ MU vydaná na základě 28 odst.

Více

Projekt Pospolu. ROČNÍKOVÁ PRÁCE Z ODBORNÉ PRAXE Jak má práce vypadat a co vše má obsahovat

Projekt Pospolu. ROČNÍKOVÁ PRÁCE Z ODBORNÉ PRAXE Jak má práce vypadat a co vše má obsahovat Projekt Pospolu ROČNÍKOVÁ PRÁCE Z ODBORNÉ PRAXE Jak má práce vypadat a co vše má obsahovat Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Václav Bechiňský. ROČNÍKOVÁ PRÁCE Z ODBORNÉ

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

Typografické programy (1) WYSIWYG

Typografické programy (1) WYSIWYG Typografické programy (1) WYSIWYG grafické prostředí, interaktivní, uživatelsky přívětivé, řada efektních schopností nutnost počítat v reálném čase omezuje algoritmy firemní datové formáty nekompatibilní

Více

TECHNICKÉ PARAMETRY DIPLOMOVÉ PRÁCE

TECHNICKÉ PARAMETRY DIPLOMOVÉ PRÁCE TECHNICKÉ PARAMETRY DIPLOMOVÉ PRÁCE 1. VAZBA Práce je vázána v pevných deskách, na kterých jsou následující údaje: Název vysoké školy a fakulty; jméno autora diplomové práce; název práce; Diplomová práce

Více

Institut průmyslově právní výchovy. P O K Y N Y pro vypracování odborné práce

Institut průmyslově právní výchovy. P O K Y N Y pro vypracování odborné práce Institut průmyslově právní výchovy P O K Y N Y pro vypracování odborné práce Zadávání odborných prací Každý posluchač si může zvolit jedno z vypsaných témat nebo navrhnout vlastní téma. U vypsaných témat

Více

Formální úprava závěrečných prací - SOU

Formální úprava závěrečných prací - SOU Gymnázium bratří Čapků a První české soukromé střední odborné učiliště s.r.o. Formální úprava závěrečných prací - SOU www.gbc-pcssou.cz skola@gbc-pcssou.cz tel.: 606 709 781 736 726 330 Trhanovské nám.

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

PŘÍRUČKA K PRÁCI S DATABÁZÍ MAPS OF PLANT DISEASES

PŘÍRUČKA K PRÁCI S DATABÁZÍ MAPS OF PLANT DISEASES PŘÍRUČKA K PRÁCI S DATABÁZÍ MAPS OF PLANT DISEASES Tatiana Oldřichová Srpen 2007 Příručka byla vytvořena v rámci projektu 1N04151 Informační zdroje pro zemědělský a potravinářský výzkum podporovaného Ministerstvem

Více

UNIVERZITA PARDUBICE FAKULTA FILOZOFICKÁ

UNIVERZITA PARDUBICE FAKULTA FILOZOFICKÁ Stránka 1 z 9 Text na deskách (pouze tištěná verze) UNIVERZITA PARDUBICE FAKULTA FILOZOFICKÁ BAKALÁŘSKÁ PRÁCE 2008 Leona Papíková Stránka 2 z 9 Titulní list (Touto stranou začíná číslování práce. Strana

Více

Vyšší odborná škola, Střední odborná škola a Střední odborné učiliště Kopřivnice, příspěvková organizace. Střední odborná škola MATURITNÍ PRÁCE

Vyšší odborná škola, Střední odborná škola a Střední odborné učiliště Kopřivnice, příspěvková organizace. Střední odborná škola MATURITNÍ PRÁCE Vyšší odborná škola, Střední odborná škola a Střední odborné učiliště Kopřivnice, příspěvková organizace Střední odborná škola MATURITNÍ PRÁCE název práce Obor: Třída: Školní rok: jméno a příjmení autora

Více

STRUKTURA MATURITNÍ PRÁCE

STRUKTURA MATURITNÍ PRÁCE STRUKTURA MATURITNÍ PRÁCE Přední strana obalu (fólie) Přední strana desek absolventské práce Titulní strana Abstrakt, resumé 5 až 7 vět, které charakterizují AP, metody, cíle, strukturu ap., není v ich

Více

Pokyny pro vypracování bakalářských, diplomových a rigorózních prací na Přírodovědecké fakultě MU

Pokyny pro vypracování bakalářských, diplomových a rigorózních prací na Přírodovědecké fakultě MU Opatření děkana Přírodovědecké fakulty Masarykovy univerzity č. 12 / 2018 Pokyny pro vypracování bakalářských, diplomových a rigorózních prací na Přírodovědecké fakultě MU (ve znění účinném od 15.12.2018)

Více

Metody zpracování informací 1. Citační norma

Metody zpracování informací 1. Citační norma Citační norma Monografie: CEJPEK, Jiří. Informace, komunikace a myšlení. Praha: Karolinum, 1998. Článek: STIEG, M.F. The information needs of historians. College and Ressearch Libraries. 1981, 42 (6),

Více

Dávky tuzemských příkazů ve formátu Multicash

Dávky tuzemských příkazů ve formátu Multicash Dávky tuzemských příkazů ve formátu Multicash Člen skupiny KBC Účelem dokumentu je popsat strukturu a použití formátu Multicash pro import dávek tuzemských příkazů do služby ČSOB CEB. Pomocí tohoto formátu

Více

OBSAHOVÁ STRÁNKA DP, BP

OBSAHOVÁ STRÁNKA DP, BP OBSAHOVÁ STRÁNKA DP, BP Obsahová stránka BP i DP se řídí: 1. Směrnicí rektora č. 9/2007 Úprava, odevzdávání a zveřejňování vysokoškolských kvalifikačních prací na VUT v Brně 2. Směrnicí děkana č. 2/2007

Více

MAXScript výukový kurz

MAXScript výukový kurz MAXScript výukový kurz Díl čtvrtý jazyk MAXScript, část I. Jan Melichar, březen 2008 Jan Melichar (aka JME) strana 1 OBSAH ÚVOD... 4 ZÁKLADNÍ PŘÍKAZY... 5 OPERÁTORY... 6 PROMĚNNÉ... 6 POLE... 7 ZÁVĚREM...

Více

Citační manager - Zotero. Mgr. Ilona Trtíková

Citační manager - Zotero. Mgr. Ilona Trtíková Citační manager - Zotero Mgr. Ilona Trtíková Software a služby pro vytváření referenčních systémů Reference Management Software, Personal Bibliographic Software, Manager = citační manager, citační software

Více

Obsah KAPITOLA 1 Několik slov o Wordu 2007 9

Obsah KAPITOLA 1 Několik slov o Wordu 2007 9 KAPITOLA 1 Několik slov o Wordu 2007 9 Pás karet 10 Další možnosti ovládání Wordu 12 Nastavení Wordu 13 Ovládání Wordu 2007 klávesnicí 14 KAPITOLA 2 Základní operace 17 Základní nastavení 17 Rozdělení

Více

BMOF011 Aplikace MS Office. Word 2016 Lekce 4 Bibliografie. Matěj Karolyi IBA LF MU,

BMOF011 Aplikace MS Office. Word 2016 Lekce 4 Bibliografie. Matěj Karolyi IBA LF MU, BMOF011 Aplikace MS Office Word 2016 Lekce 4 Bibliografie Matěj Karolyi (karolyi@iba.muni.cz) IBA LF MU, 7. 11. 2016 Osnova lekce 4 Opakování předchozí lekce Motivace Vkládání referenčního obsahu Obsah

Více

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ. Bakalářská práce. WEBová databáze pro publikace ve formátu BibTeX

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ. Bakalářská práce. WEBová databáze pro publikace ve formátu BibTeX ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ WEBová databáze pro publikace ve formátu BibTeX Pavel Mejstřík 2006 Abstract Bachelor work Databaze for publication management in BibTeX format describes Internet application

Více

Jak psát Bc. resp. Mgr. závěrečnou práci. Zpracoval: Karel Bílek

Jak psát Bc. resp. Mgr. závěrečnou práci. Zpracoval: Karel Bílek Jak psát Bc. resp. Mgr. závěrečnou práci Zpracoval: Karel Bílek Tato prezentace vznikla v rámci řešení doktorského projektu GAČR 523/03/H076 duben 2005 Textový dokument... co to je? Textovým dokumentem

Více

Standard ročníkové práce

Standard ročníkové práce Standard ročníkové práce Formální úprava, pokyny k technickému zpracování odborné předměty Spedice, doprava vyučovací předměty a přeprava, Logistika, Firemní logistika, Dopravní zeměpis, Zbožíznalství,

Více

DUM 06 téma: Tvorba makra pomocí VBA

DUM 06 téma: Tvorba makra pomocí VBA DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie

Více

Jak psát bakalářskou práci v DocBooku

Jak psát bakalářskou práci v DocBooku VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE Fakulta informatiky a statistiky Katedra informačního a znalostního inženýrství Jak psát bakalářskou práci v DocBooku Bakalářská práce Jiří Kosek Vedoucí práce: Prof. Ing.

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Závazný předpis pro zpracování výsledků praktické maturitní zkoušky

Závazný předpis pro zpracování výsledků praktické maturitní zkoušky Závazný předpis pro zpracování výsledků praktické maturitní zkoušky Odevzdání práce Konečný termín:- 30 dnů před termínem praktické maturitní zkoušky. V písemné podobě bude práce odevzdána ve dvou exemplářích

Více

Systém pro poloautomatické propojení textů se zdroji

Systém pro poloautomatické propojení textů se zdroji Masarykova univerzita Fakulta informatiky Systém pro poloautomatické propojení textů se zdroji Bakalářská práce Jindřich Ryšavý Brno, podzim 2016 Masarykova univerzita Fakulta informatiky Systém pro poloautomatické

Více

VZDĚLÁVÁNÍ V OBLASTI ROZVOJE A ÚDRŽBY ZELENĚ

VZDĚLÁVÁNÍ V OBLASTI ROZVOJE A ÚDRŽBY ZELENĚ VZDĚLÁVÁNÍ V OBLASTI ROZVOJE A ÚDRŽBY ZELENĚ operační program Rozvoj lidských zdrojů, priorita 3.3. Rozvoj celoživotního vzdělávání, opatření 3.3.3. Rozvoj dalšího profesního vzdělávání ZÁVĚREČNÁ ODBORNÁ

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Bibliografických manažerů je celá řada. Tento materiál popisuje práci s nástrojem zvaným EndNote Basic.

Bibliografických manažerů je celá řada. Tento materiál popisuje práci s nástrojem zvaným EndNote Basic. ENDNOTE BASIC Bibliografické, nazývané také citační nebo referenční, manažery jsou užitečné nástroje sloužící k vytváření osobních bibliografií, a to především pomocí jednoduchého stažení vybraných záznamů

Více

Formální uspořádání diplomové práce

Formální uspořádání diplomové práce Příloha č. 4 směrnice rektorky SR 04/2015 (v. 1.0) V tomto dokumentu jsou pro vysvětlení použity komentáře. Pokud se Vám nezobrazí, zvolte v MS Wordu 2007 na kartě Revize v sekci Sledování zvolte styl

Více

Prováděcí předpis ke směrnici rektora č. 48/2003 o jednotné formální úpravě závěrečných prací, jejich uložení a zpřístupňování

Prováděcí předpis ke směrnici rektora č. 48/2003 o jednotné formální úpravě závěrečných prací, jejich uložení a zpřístupňování Prováděcí předpis ke směrnici rektora č. 48/2003 o jednotné formální úpravě závěrečných prací, jejich uložení a zpřístupňování A. Diplomové a bakalářské práce Zajištění na katedrách 1. Při zadání diplomové

Více

Bibliografická citace norma ČSN ISO 690

Bibliografická citace norma ČSN ISO 690 Bibliografická citace norma ČSN ISO 690 norma uvádí prvky, které je třeba uvádět v bibliografických citacích publikovaných monografických a seriálových publikací, kapitol, článků atd. a patentových dokumentů

Více

Metodická pomůcka ke zpracování maturitních prací

Metodická pomůcka ke zpracování maturitních prací Metodická pomůcka ke zpracování maturitních prací Rozsah maturitní práce je 10 20 stran hlavního textu, počítáno tedy od úvodu po závěr; nepočítají se tedy přílohy ani úvodní stránky. V poslední fázi zpracování

Více

Citace v odborném textu. Jitka Kominácká

Citace v odborném textu. Jitka Kominácká Citace v odborném textu Jitka Kominácká Úvod Uvádí se pouze přímé citace Neuvádí se nepřímé citace (pravidla českého pravopisu, učebnice matematiky, slovník cizích slov, ) - nepřímé citace jsou ty, do

Více

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

Více

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT Dnešní téma Oblasti standardizace v ICT Případové studie standardizace v ICT: 1) Znakové sady 2) Jazyk 1. technická infrastruktura transfer a komunikace informací, přístup k informacím, sdílení zdrojů

Více

HELP Rešerše průmyslových vzorů

HELP Rešerše průmyslových vzorů HELP Rešerše průmyslových vzorů Zpracoval D. Pičman Nový rešeršní systém zpřístupněný Úřadem jako systém s rozšířeným vyhledáváním obsahuje proti původnímu sytému mnohem více vyhledávacích možností. Nicméně

Více

Pokyny k vypracování absolventské práce

Pokyny k vypracování absolventské práce Základní škola a Mateřská škola Bělá pod Pradědem, příspěvková organizace tel.: 584 412 084 e-mail: zsadolfovice@jen.cz Adolfovice 170 web: http://zsadolfovice.cz IČO: 75029456 790 01 Jeseník Pokyny k

Více

Zásady psaní odborného textu

Zásady psaní odborného textu Zásady psaní odborného textu Pro odborné texty existuje standardní struktura, od které by se žádný text neměl příliš odchylovat. Jednotlivé části (kapitoly) mohou být pojmenovány podle potřeby, u krátkých

Více

Dávky tuzemských a zahraničních příkazů ve formátu TXT

Dávky tuzemských a zahraničních příkazů ve formátu TXT Dávky tuzemských a zahraničních příkazů ve formátu TXT Člen skupiny KBC Účelem dokumentu je popsat strukturu a použití textového (TXT) formátu pro import dávek tuzemských nebo zahraničních příkazů do služby

Více

Základní informace o modulu

Základní informace o modulu 12 12.1 Výuka modulu Vyučující Jméno Telefon E-mail VEDOUCÍ MODULU Doc. Ing. Jiří Rybička, Dr. 545 13 22 23 rybicka@mendelu.cz Cíl výuky v modulu Získání základního přehledu o principech funkce a možnostech

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

VYŠŠÍ ODBORNÁ ŠKOLA ABSOLVENTSKÁ PRÁCE název práce

VYŠŠÍ ODBORNÁ ŠKOLA ABSOLVENTSKÁ PRÁCE název práce Střední prů myslová škola elektrotechnická a Vyšší odborná škola, Pardubice, Karla IV. 13 VYŠŠÍ ODBORNÁ ŠKOLA ABSOLVENTSKÁ PRÁCE název práce prosinec 2006 jméno a příjmení autora FORMÁLNÍ STRÁNKA ZPRACOVÁNÍ

Více

OBSAH. Kontrola aktualizací... 18

OBSAH. Kontrola aktualizací... 18 2013 Albatros Media a. s. Toto CD je součástí knihy Adobe InDesign CS6, Oficiální výukový kurz a je samostatně neprodejné. Všechna práva vyhrazena. Nelegální kopie tohoto disku jsou zakázány. K2059_potisk.indd

Více

Gymnázium Dr. J. Pekaře Mladá Boleslav PRAVIDLA PRO PSANÍ MATURITNÍ PRÁCE

Gymnázium Dr. J. Pekaře Mladá Boleslav PRAVIDLA PRO PSANÍ MATURITNÍ PRÁCE Gymnázium Dr. J. Pekaře Mladá Boleslav Maturitní práce PRAVIDLA PRO PSANÍ MATURITNÍ PRÁCE Předmět: Např. Český jazyk a literatura Datum a rok odevzdání: xx. x. 2016 Jméno a příjmení: Jan NOVÁK Ročník:

Více

Metody zpracování informací 1

Metody zpracování informací 1 Citační norma ISO 690 : 1987. Documentation. Bibliographic references. Content, form and structure ČSN ISO 690 : 1996. Bibliografické citace : Obsah, forma a struktura Monografie: CEJPEK, Jiří. Informace,

Více

Pokyny k vypracování

Pokyny k vypracování Střední odborná škola, Frýdek-Místek, příspěvková organizace Lískovecká 2089, 738 01 Frýdek-Místek Pokyny k vypracování dlouhodobé práce - praktické maturitní práce Základní pravidla psaní odborné práce

Více

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více