Na tomto míst bude ociální zadání va²í práce Toto zadání je podepsané d kanem a vedoucím katedry, musíte si ho vyzvednout na studiijním odd lení Katedry po íta na Karlov nám stí, v jedné odevzdané práci bude originál tohoto zadání (originál z stává po obhajob na kated e), ve druhé bude na stejném míst neov ená kopie tohoto dokumentu (tato se vám vrátí po obhajob ). i
ii
ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Simulátor virtuální po íta ové sít Linux Tomá² Pit inec Vedoucí práce: Ing. Pavel Kubalík, Ph.D. Studijní program: Softwarové technologie a management, Bakalá ský Obor: Softwarové inºenýrství 15. kv tna 2010
iv
v Pod kování Zde m ºete napsat své pod kování, pokud chcete a máte komu d kovat.
vi
vii Prohlá²ení Prohla²uji, ºe jsem práci vypracoval samostatn a pouºil jsem pouze podklady 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 ƒerveném Kostelci dne 25. 5. 2010.............................................................
viii
Abstract Translation of Czech abstract into English. Abstrakt Abstrakt práce by m l velmi stru n vystihovat její podstatu. Tedy ím se práce zabývá a co je jejím výsledkem/p ínosem. O ekávají se cca 1 2 odstavce, maximáln p l stránky. ix
x
Obsah 1 Úvod 1 1.1 Cíle práce...................................... 1 1.2 Rozd lení práce................................... 1 1.3 Struktura práce................................... 2 2 Existující e²ení 3 3 Analysa a návrh aplikace 5 3.1 Poºadavky na aplikaci............................... 5 3.1.1 Funk ní poºadavky............................. 5 3.1.2 Nefunk ní poºadavky............................ 6 3.2 Analysa poºadavk................................. 6 3.2.1 P ipojení pomocí telnetu......................... 6 3.2.2 Podobnost simulátoru se skute ným linuxem.............. 6 3.3 Programovací jazyk a uºivatelské rozhraní.................... 7 3.3.1 Programovací jazyk............................. 7 3.3.2 Uºivatelské rozhraní............................ 7 3.4 Struktura aplikace................................. 7 3.4.1 Virtuální sí................................. 7 3.4.1.1 Sí ové prvky........................... 7 3.4.1.2 Infrastruktura sít........................ 8 3.4.1.3 Posílání paket.......................... 8 3.4.2 Komunika ní vrstva............................ 9 3.5 Spolupráce na aplikaci............................... 9 3.6 Postup implementace................................ 10 4 Popis problému, specikace cíle 11 5 Analýza a návrh e²ení 13 6 Realizace 15 7 Testování 17 8 Záv r 19 xi
xii OBSAH A Testování zapln ní stránky a odsazení odstavc 23 B Pokyny a návody k formátování textu práce 27 B.1 Vkládání obrázk.................................. 27 B.2 Kreslení obrázk.................................. 28 B.3 Tabulky....................................... 28 B.4 Odkazy v textu................................... 29 B.4.1 Odkazy na literaturu............................ 29 B.4.2 Odkazy na obrázky, tabulky a kapitoly.................. 31 B.5 Rovnice, centrovaná, íslovaná matematika.................... 31 B.6 Kódy programu................................... 32 B.7 Dal²í poznámky................................... 32 B.7.1 ƒeské uvozovky............................... 32 C Seznam pouºitých zkratek 33 D UML diagramy 35 E Instala ní a uºivatelská p íru ka 37 F Obsah p iloºeného CD 39
Seznam obrázk B.1 Popiska obrázku.................................. 28 F.1 Seznam p iloºeného CD p íklad........................ 39 xiii
xiv SEZNAM OBRÁZK
Seznam tabulek B.1 Ukázka tabulky................................... 28 xv
xvi SEZNAM TABULEK
Kapitola 1 Úvod Jednou z laboratorních úloh p edm tu Po íta ové sít (Y36PSI) na FELu je postavení sít mezi n kolika linuxovými a ciscovými po íta i. Studenti, kte í tento úkol plní, nemají asto s takovou inností ºádnou osobní zku²enost, a tak b hem úlohy e²í r zné banální problémy, kterým by se mohli vyhnout, kdyby m li moºnost zkusit si nastavit podobou sí jiº p ed samotnou laboratorní úlohou. Mohl by se jim hodit simulátor, který by jednodu²e spustili na svém po íta i a na kterém by si mohli nastavování sí ových parametr na linuxu a ciscu zkusit. Práv návrhem a implementací takového sí ového simulátoru po íta s OS Linux se zabývá tato bakalá ská práce. 1.1 Cíle práce Cílem práce je v programovacím jazyce Java SE navrhnout a implementovat aplikaci, která umoºní vytvo ení virtuální po íta ové sít, pro pot eby p edm tu Y36PSI. Z pohledu uºivatele by aplikace m la vypadat stejn jako reálná sí. Uºivatel spustí aplikaci v konsoli a pak se pomocí telnetu p ipojí k jejím jednotlivým virtuálním po íta m, podobn jako protokolem ssh k po íta m s OS Linux. Aplikace bude podporovat p íkazy pot ebné ke konguraci sí ových rozhraní (ifcong, ip address), sm rování (route, ip route) a p ekladu adres (iptables -t nat). Pro ov ení správnosti kongurace sít budou implementovány p íkazy ping a traceroute. Nastavenou konguraci sít bude moºné uloºit do souboru a zase ji ze souboru na íst. Uºivatel bude mít moºnost vytvá et libovolné sít s libovolným po tem po íta typu linux nebo cisco tak, ºe infrastrukturu sít napí²e do kongura ního souboru a pak ji z n ho na te. 1.2 Rozd lení práce Protoºe kompletní sí ový simulátor pro po íta e s Cisco IOS i OS Linux by p esahoval rozsah jedné bakalá ské práce, byla práce na aplikaci rozd lena na t i ásti: Jádro aplikace Jedná se p edev²ím o datové struktury virtuálního po íta e, komunikaci s uºivatelem 1
2 KAPITOLA 1. ÚVOD po síti a na ítání a ukladání soubor. Na této ásti jsem spolupracoval se Stanislavem ehákem. Linuxová ást V této ásti je pot eba napsat parsery linuxových p íkaz a zjistit, jak se chovají po íta e s linuxem v sí ové komunikaci a toto chování implementovat. Ciscová ást Touto ástí se tato práce nezabývá, zabývá se jí bakalá ská práce Simulátor virtuální po íta ové sít Cisco Stanislava eháka. 1.3 Struktura práce Tady bude popis struktry týhle práce, jako toho textu.
Kapitola 2 Existující e²ení Tady bude re²er²e, aº ji ud lám. 3
4 KAPITOLA 2. EXISTUJÍCÍ E ENÍ
Kapitola 3 Analysa a návrh aplikace V této kapitole se zabývá analysou a návrhem aplikace jako celku. Shrnuji a analysuji poºadavky, diskutuji zvolený jazyk a uºivatelské rozhraní, popisuji architekturu aplikace, spolupráci s kolegou, který d lal druhou ást aplikace, a postup implementace. 3.1 Poºadavky na aplikaci Nejprve shrnu v²echny poºadavky na mojí aplikaci. 3.1.1 Funk ní poºadavky 1. Vytvo ení po íta ové sít zaloºené na po íta ích OS Linux. 2. Aplikace umoº uje konguraci rozhraní pomocí p íkaz ifcong a ip addr. 3. Aplikace obsahuje funk ní sm rování a umoº uje jeho nastavování pomocí p íkaz route a ip route. 4. Aplikace implementuje p eklad adres 5. Aplikace podporuje ukládání a na ítání do/ze souboru. 6. Pro ov ení správnosti jsou implementovány p íkazy ping a traceroute. 7. K jednotlivým po íta m aplikace je moºné se p ipojit pomocí telnetu. 8. Pomocí telnetu bude moºno se p ipojit zárove k více virtuálním po íta m. 9. Pomocí telnetu bude moºno p ipojit se k jednomu po íta i vícekrát najednou. 5
6 KAPITOLA 3. ANALYSA A NÁVRH APLIKACE 3.1.2 Nefunk ní poºadavky 1. Aplikace bude multiplatformní - alespo pro opera ní systémy Windows a Linux 2. Aplikace musí být spustitelná na b ºném 1 studentském po íta i. 3. Aplikace by m la být co nejv rn j²í kopií reálného po íta e s Linuxem. 3.2 Analysa poºadavk 3.2.1 P ipojení pomocí telnetu Jedním z funk ních poºadavk mé aplikace je moºnost p ipojit se k jednotlivým virtuálním po íta m pomocí protokolu telnet. Tento poºadavek vypadá jednodu²e, pokud pod pojmem Telnet chápeme jednoduchý protokol na p enos textových dat. Takový protokol ov²em neumoº uje dopl ování p íkaz a jejich historii, coº je pro práci s po íta em, by virtuálním, obrovské omezení. Oproti tomu, implementovat telnet protokol, jako NVT 2, kde se posílá a potvrzuje kaºdý napsaný znak, by p ekra ovalo rozsah této bakalá ské práce. Proto jsem se rozhodl implementovat jen první moºnost a na stran klienta e²it dopl ování p íkaz a jejich historii pomocí programu rlwrap, který funguje pod linuxem nebo p es cygwin i pod windows. Spou²t ní programu p es cygwin ve windows je sice velkou nevýhodou, ale nem l jsem jinou moºnost. I tak ov²em základní poºadavek, ºe s aplikací bude moºno komunikovat pomocí telnetu, z stává zachován, uºivatel ov²em p ijde o komfort, který mu nabízí moºnost dopl ování, editace a historie p íkaz. 3.2.2 Podobnost simulátoru se skute ným linuxem Aby byl simulátor vyuºitelný pro výukové ú ely, musí být dostate n podobný skute nému linuxu, aby uºivatel mohl v it, ºe to, co funguje v simulátoru, bude fungovat i na skute ném linuxu a naopak. K tomu je ale pot eba implementovat jen ty p íkazy, kterými se nastavují sí ové parametry, a jen v takovém rozsahu, jaký je pro tyto výukové ú ely pot eba. Implementoval jsem tedy p íkazy ifcong, route, ping a traceroute, z p íkazu ip jsem implementoval jeho podp íkazy addr a route. Pro pot eby nastavení p ekladu adres jsem implementoval malou ást p íkazu iptables. Aby uºivatel mohl nastavovat n které hodnoty soubor v adresá i /proc, implementoval jsem ve velmi omezené mí e i p íkazy cat a echo, ov²em jen pro tyto soubory. Pro ukon ení spojení je implementován p íkaz exit. Pro pot eby simulátoru ale nebylo pot eba implementovat kompletní p íkazy ifcong nebo ip, ale jen tu jejich ást, kterou se nastavují parametry rozhraní, jako IP, maska a dal²í. O ostatních parametrech pak vet²inou simulátor vypí²e, ºe ve skute nosti sice existují, ale simulátorem zatím nejsou podporované. 1 Slovem b ºné se myslí v podstat jakýkoliv po íta, na kterém je moºné nainstalovat prost edí Javy - Java Runtime Environment 2 NVT Network Virtual Terminal, esky: Sí ový virtuální terminál; poskytuje standardní rozhraní p íkazové ádky
3.3. PROGRAMOVACÍ JAZYK A UšIVATELSKÉ ROZHRANÍ 7 3.3 Programovací jazyk a uºivatelské rozhraní 3.3.1 Programovací jazyk Aplikaci jsem se rozhodl programovat v programovacím jazyku Java z n kolika d vod. Java je programovací jazyk, který nabízí velký programátorský komfort, stabilitu a zárove moºnost vytvo ené aplikace pouºívat pod r znými opera ními systémy, coº je dal²í z nefunk ních poºadavk. Tento jazyk navíc disponuje hotovými knihovnami pro práci se sítí v balí ku java.net. Dal²ím d vodem je také to, ºe s programováním aplikací v Jav mám zatím asi nejv t²í zku²enosti. 3.3.2 Uºivatelské rozhraní Jak plyne ze zadání, uºivatel se p ihla²uje k jednotlivým virtuálním po íta m pomocí programu telnet, nemusím tedy vytvá et ºádného speciálního klienta. S aplikací samotnou nebude uºivatel nijak pracovat, jenom ji spustí se správným kongura ním souborem a p ípadn íslem výchozího portu, dále jiº bude nastavovat pouze jednotlivé virtuální po íta e pomocí telnetu. Pro takovou aplikaci je nejlep²ím uºivatelským rozhraním p íkazová ádka, vytvá ení grackého uºivatelského rozhraní by nem lo smysl. 3.4 Struktura aplikace Aplikace se skládá ze dvou vrstev. Komunika ní vrstva zaji² uje sí ovou komunikaci s klientem, tedy odesílání a p ijímání textových dat. Z velké ásti byla p evzata z jiné práce, kterou jsme kdysi d lali jako domácí úkol na p edm t Y36PSI. Aplika ní vrstva je tvo ena samotnou virtuální sítí. Av²ak tyto vrstvy od sebe nejsou striktn odd leny. Nejprve si rozebereme druhou vrstvu. 3.4.1 Virtuální sí Virtuální po íta ová sí poskytuje mojí aplikaci p edev²ím tyto funkcionality: Moºnost kongurace jednotlivých sí ových prvk. Posílání paket mezi sí ovými prvky. Skute ná po íta ová sí se skládá ze sí ových prvk r zných druh. Stejn tak i virtuální sí se bude skládat ze sí ových prvk, které jsou intern reprezentovány objekty. 3.4.1.1 Sí ové prvky V laborato ích p edm tu Y36PSI studenti nastavují pouze PC nebo sm rova e na 3. (sí ové) vrstv ISO/OSI modelu 3. Sí ové prvky pracující na 2. vrstv ISO/OSI modelu 4, switche a bridge se v laborato ích v bec neuvaºují. Proto i ve své práci uvaºuji jediný druh sí ových prvk - po íta e s OS Linux. 3 3. vrstva ISO modelu, tzv. sí ová vrstva, zaji² uje spojení mezi jakýmikoliv 2 uzly sít. 4 2. vrstva ISO/OSI modelu, tzv. spojová nebo linková vrstva, zaji² uje spojení mezi dv ma sousedními systémy.
8 KAPITOLA 3. ANALYSA A NÁVRH APLIKACE Virtuální po íta Jedinými sí ovými prvky mojí aplikace jsou po íta e s opera ním systémem Linux, které fungují jako sm rova e na sí ové vrstv ISO/OSI modelu. Sí ovou komunikaci skute ného po íta e zaji² uje modul v jád e opera ního systému. Po íta má n kolik sí ových rozhraní, které se skládají z fysické ásti, kterou je sí ový adaptér, a z ásti softarové, kterou je jeho kongurace. Ke kaºdému sí ovému adaptéru, tzn. ke kaºdému rozhraní, m ºe být p ipojen maximáln jeden sí ový kabel. Virtuální po íta i sí ové rozhraní mají svou vlastní t ídu. Routovací a natovací tabulka Jádro opera ního systému sm ruje pakety podle tzv. routovací tabulky, coº je datová struktura, která obsahuje cílové adresy a akce, které se mají vykonat s paketem poslaným na danou cílovou adresu. Tuto datovou strukturu musí obsahovat i moje virtuální sí, proto jsem pro ni ud lal vlastní t ídu. Její analýzou a implementací se budu zabývat v implementa ní ásti. Aby virtuální po íta e mohly p ekládat adresy p es n procházejících paket, pot ebují, stejn jako skute né po íta e, dal²í datovou strukturu, natovací tabulku. Touto datovou strukturou se ale tato práce nezabývá, vytvo il ji m j kolega Stanislav ehák. P íkazy Uºivatel musí mít moºnost virtuální po íta nakongurovat, kv li tomu p ece aplikaci programuji. Ke konguraci mu mají slouºit standartní p íkazy, které by pouºil p i konguraci skute ného po íta e. K virtuálnímu po íta i se uºivatel p ipojuje telnetem, o toto p ipojení se stará komunika ní vrstva. Na vrstv virtuální sít ale probíha parsování a vykonávání t chto p íkaz. O tom budu psát v dal²í kapitole. 3.4.1.2 Infrastruktura sít Jak bylo napsáno d íve, jediným sí ovým prvkem mojí aplikace je po íta s OS Linux. Ke kaºdému rozhraní, m ºe být p ipojen maximáln jeden sí ový kabel, který, protoºe neuvaºuji switche, je zapojen do jiného rozhraní n jakého po íta e, nebo není zapojen nikam. Infrastruktura sít je proto jednozna n ur ena dvojicemi sí ových rozhraní, která jsou propojena sí ovým kabelem. Tuto infrastrukturu sít je v kongura ním souboru dobré odd lit od ostatní kongurace, aby ji mohl uºivatel lehce p e íst a pochopit, pop. zm nit. Sí ové rozhraní je jednozna n identikováno jménem po íta e a jménem rozhaní. 3.4.1.3 Posílání paket Virtuální sí musí um t posílat virtuální pakety, aby uºivatel pomocí p íkaz ping nebo traceroute zjistil, jestli virtuální sí správn nakonguroval. Po virtuální síti, representované objekty, se samoz ejm posílají virtuální pakety, representované objekty t ídy Paket. Virtuálni paket ponese pot ebné informace stejn jako skute ný paket, akorát t ch informací pro pot eby mojí aplikace není tolik. Posílání paket v mé virtuální síti není prakticky rozd leno do OSI-ISO vrstev, IP paket se nebude balit do rámc linkové vrstvy. Virtuální pakety si mezi sebou budou posílat, p ijímat a p eposílat virtuální po íta e pomocí speciálních metod k tomu ur ených. Je nutné,aby p i stejné konguraci skute né a virtuální po íta ové sít
3.5. SPOLUPRÁCE NA APLIKACI 9 tato sí i stejn fungovala. To jest, aby ve virtuální po íta ové síti do cíle do²ly práv ty pakety, které p i stejné konguraci dojdou na síti skute né. Více se anylýzou a implementací posílání paket budu zabývat v samostatné kapitole. 3.4.2 Komunika ní vrstva Komunika ní vrstva na²í aplikace zaji² uje spojení aplikace s klientem. Z tohoto pohledu je aplikace klasickým sí ovým serverem, který poslouchá na n kolika portech, p ijímá spojení a zpracovává je. Uºivatel po síti konguruje jednotlivé virtuální po íta e, proto kaºdý virtuální po íta musí poslouchat na jednom portu. O tuto komunikaci se nestará p ímo virtuální po íta, má k tomu speciální t ídu, i tak ale t ída virtuálního po íta e zasahuje do obou vrstev programu. Aby aplikace mohla poslouchat na více portech najednou, je nutné vytvo it více vláken, kaºdý virtuální po íta tedy pob ºí v samostatném vláknu. Jak plyne z posledního funk ního poºadavku, musí jeden virtuální po íta um t zpracovat i více spojení najednou, jako i na reálný linuxový po íta je moºné se p ipojit k n kolika jeho terminál m pomocí protokolu ssh nebo telnet. Proto je nutné, aby vlákno, které poslouchá na portu, pro p íchozí spojení vytvo ilo jiné vlákno, které spojení obslouºí, a samo dále poslouchalo na ur eném portu. 3.5 Spolupráce na aplikaci Na aplikaci jsem spolupracoval se svým kolegou Stanislavem ehákem, který implementuje její druhou ást - simulátor Cisca. Spolupráce v²ak p esahuje jen tuto oblast a zasahuje také do spole ného jádra aplikace. V této práci chci popisovat p edev²ím moji ást výsledného simulátoru, rád bych v²ak upozornil, ºe kdyº zde popisuji implementaci n jaké ásti programu, neznamená, ºe jsem ji celou implementoval sám. U kaºdé t ídy v kódu je napsáno, kdo je jejím autorem. Pokud jsme na t íd pracovali oba, je autorství uvedeno u jejích metod. Architektura aplikace je zaloºena na oboustranné dohod. Komunika ní vrstvu jsme z velké ásti p ejali z domácího úkolu na p edm t Y36PSI, server Karel, který jsme programovali na podzim roku 2008. Pro pot eby na²í aplikace jsme potom tuto vrstvu spole n upravili. J t ºké, p ipsat autorství této vrstvy jednomu nebo druhému z nás, ale vzhledem k tomu, ºe se jedná a sice nutnou, ale málo rozsáhlou ást aplikace, to dle mého názoru není nutné. Sí ové rozhraní je stejné pro oba po íta e, jeho t ídu jsme d lali spole n. Oba typy po íta mají mnoho spole ného, ale v n em se li²í. Proto jsme vytvo ili t ídu abstraktní po íta, jejíº autorem jsem já, a od ní jsme pak d dili kaºdý svoji vlastní t ídu pro virtuální po íta. Já jsem autorem v²eho, co souvisí s posíláním paket a routovací tabulky, kterou v²ak kolega nemohl p ímo vyuºít. Natovací tabulku programoval kolega, stejn tak i ve²keré ukládání do souboru a na ítání z n j, a t ídu Main. D leºitou t ídu IpAdresa jsme programovali spole n, autorství je uvedeno u jejích jednotlivých metod, stejn tak i abstraktní p íkaz a abstraktní parser p íkaz, kde jsou vy len ny spole né metody pro parsování a vykonávání p íkaz.
10 KAPITOLA 3. ANALYSA A NÁVRH APLIKACE 3.6 Postup implementace Samotnou implementaci jsem zahájili komunika ní vrstvou, následn jsme naprogramovali základní datové struktury, jako t ídy pro virtuální po íta, sí ové rozhraní, IP adresu ap. Pokra oval jsem implementací linuxových p íkaz. Nejd íve jsem zpracoval p íkaz ifcon- g, abych mohl nastavovat virtuální sí ová rozhraní. Po n m jsem zpracoval p íkaz route a zárove s ním také routovací tabulku. Po t chto dvou základních p íkazech jsem pracoval na posílání paket mezi po íta i. Kdyº jsem to m l hotové, implementoval jsem ostatní p íkazy jako ping, traceroute, ip, iptables, echo a cat. V implementa ní ásti této práce se nepopisuji jednotlivé ásti programu ve stejném po adí, jako jsem je implementoval. - OSNOVA KAPITOLY - o co tady jde Poºadavky - vyjmenovat Analysa poºadavk telnet a rlwrap podobnost se skute ností - co implementovat Jazyk a uºivatelské rozhraní - celkem jasný Struktura aplikace ( as: minulej) - 2 sloºky: virtuální sí a komunikace s uºivatelem virtuální sí : - je rozumné ji stav t stejn jako sí skute nou - sí ové prvky -> objekty sí ové prvky- d lám jen 3. vrstvu - IP virtuální po íta - linux: skute né + jejich virtualisace, routovací, natovací tabulka, p íkazy infrastruktura: skute ná + virtualisace posílání paket komunikace - byla p evzata ze starýho projektu - vlákna Spolupráce na aplikaci - d lal jsem ji se Standou - co popisuji - vyjmenování ástí a kdo na tom pracoval Postup implementace ( as minulej) - jednodu²e popsat, jak jsem postupoval v ase - struktura práce neodpovídá p vodnímu postupu
Kapitola 4 Popis problému, specikace cíle Popis e²eného problému, vymezení cíl DP/BP a poºadavk na implementovaný systém. Popis struktury DP/BP ve vztahu k vyty eným cíl m. Re²er²ní zpracování existujících implementací, pokud jsou známy. 11
12 KAPITOLA 4. POPIS PROBLÉMU, SPECIFIKACE CÍLE
Kapitola 5 Analýza a návrh e²ení Analýza a návrh implementace (v etn diskuse r zných alternativ a volby implementa ního prost edí). 13
14 KAPITOLA 5. ANALÝZA A NÁVRH E ENÍ
Kapitola 6 Realizace Popis implementace/realizace se zam ením na nestandardní ásti e²ení. 15
16 KAPITOLA 6. REALIZACE
Kapitola 7 Testování Zp sob, pr b h a výsledky testování. Srovnání s existujícími e²eními, pokud jsou známy. 17
18 KAPITOLA 7. TESTOVÁNÍ
Kapitola 8 Záv r Zhodnocení spln ní cíl DP/BP a vlastního p ínosu práce (p i formulaci je t eba vzít v potaz zadání práce). Diskuse dal²ího moºného pokra ování práce. 19
20 KAPITOLA 8. ZÁV R
Literatura [1] HAINDL, M. KMENT, ˆ. SLAVíK, P. Virtual Information Systems. In WSCG'2000 Short communication papers, s. 2227. University of West Bohemia, Pilsen, 2000. [2] P isp vatelé Wikipedie. Framework [online]. 2009. [cit. 10. 9. 2009]. Dostupné z: <http: //cs.wikipedia.org/wiki/framework>. [3] P isp vatelé Wikipedie. Object-relational mapping [online]. 2009. [cit. 6. 12. 2009]. Dostupné z: <http://en.wikipedia.org/wiki/object-relational_mapping>. [4] SLAVíK, P. Grammars and Rewriting Systems as Models for Graphical User Interfaces. Cognitive Systems. 1997, 4, 3/4, s. 381399. [5] web:cstug. CSTUG CSTEX Users Group hlavní stránka. http://www.cstug.cz/, stav z 2. 3. 2009. [6] web:infodp. K336 Info pokyny pro psaní diplomových prací. https://info336.felk.cvut.cz/clanek.php?id=400, stav ze 4. 5. 2009. [7] web:infogs. Knihovna Gracké skupiny. http://www.cgg.cvut.cz/bib/library/, stav z 30. 8. 2001. [8] web:ipe. Gracký vektorový editor pro práce vhodný pro práci LATEXem. http://tclab.kaist.ac.kr/ipe/, stav z 4. 5. 2009. [9] web:latexdocweb. LATEX online manuál. http://www.cstug.cz/latex/lm/frames.html, stav ze 4. 5. 2009. [10] web:latexwiki. Wiki Books LATEX. http://en.wikibooks.org/wiki/latex/, stav z 3. 4. 2009. [11] šára, J. BENE², B. FELKEL, P. Moderní po íta ová graka. Computer Press s.r.o, Brno, 1st edition, 1998. In Czech. 21
22 LITERATURA
Dodatek A Testování zapln ní stránky a odsazení odstavc Tato p íloha nebude sou ástí va²í práce. Slouºí pouze jako p íklad formátování textu. Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? 23
24 DODATEK A. TESTOVÁNÍ ZAPLN NÍ STRÁNKY A ODSAZENÍ ODSTAVC Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která
25 se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká
26 DODATEK A. TESTOVÁNÍ ZAPLN NÍ STRÁNKY A ODSAZENÍ ODSTAVC p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili? Ur it existuje n jaká p kná latinská v ta, která se k tomuhle testování pouºívá, ale co mají d lat ti, kte í se nikdy latinsky neu ili?
Dodatek B Pokyny a návody k formátování textu práce Tato p íloha samoz ejm nebude sou ástí va²í práce. Slouºí pouze jako p íklad formátování textu. Pouºívat se dají v²echny p íkazy systému LATEX. Existuje velké mnoºství voln p ístupné dokumentace, tutoriál, p íru ek a dal²ích materiál v elektronické podob. Výchozím bodem, krom Googlu, m ºe být stránka CSTUG (Czech Tech Users Group) [5]. Tam najdete odkazy na dal²í materiály. Vet²inou dosta ující a p ehledn organizovanou elektronikou dokumentaci najdete nap íklad na [9] nebo [10]. Existují i r zné nadstavby nad systémy TEX a LATEX, které výrazn usnadní psaní textu zejména za áte ník m. Velmi roz²í ený v Linuxovém prost edí je systém Kile. B.1 Vkládání obrázk Obrázky se umís ují do plovoucího prost edí figure. Kaºdý obrázek by m l obsahovat název (\caption) a náv ²tí (\label). Pouºití p íkazu pro vloºení obrázku \includegraphics je podmín no aktivací (na tením) balíku graphicx p íkazem \usepackage{graphicx}. Budete-li zdrojový text zpracovávat pomocí programu pdflatex, o ekávají se obrázky s p íponou *.pdf 1, pouºijete-li k formátování latex, o ekávají se obrázky s p íponou *.eps. 2 P íklad vloºení obrázku: \begin{figure}[h] \begin{center} \includegraphics[width=5cm]{figures/logocvut} \caption{popiska obrazku} \label{fig:logo} 1 pdatex umí také formáty PNG a JPG. 2 Vzájemnou konverzi mezi snad v²emi typy obrazku v etn zm n vekostí a dal²ích vymoºeností vám m ºe zajistit balík ImageMagic (http://www.imagemagick.org/script/index.php). Je dostupný pod Linuxem, Mac OS i MS Windows. D leºité jsou zejména p íkazy convert a identify. 27
28 DODATEK B. POKYNY A NÁVODY K FORMÁTOVÁNÍ TEXTU PRÁCE Obrázek B.1: Popiska obrázku DTD construction elimination in1 A B a:sum A B case([_:a]a)([_:b]a)ab:a in1 A B b:sum A B case([_:a]b)([_:b]b)ba:b + do_reg:a -> reg A undo_reg:reg A -> A,? the same like and + the same like and + with emtpy_el:empty with emtpy_el:empty R(a,b) make_r:a->b->r a: R -> A b: R -> B Tabulka B.1: Ukázka tabulky \end{center} \end{figure} B.2 Kreslení obrázk Z ejm kaºdý z vás má n jaký oblíbený nástroj pro tvorbu obrázk. Jde jen o to, abyste dokázali obrázek uloºit v poºadovaném formátu nebo jej do n j konvertovat (viz p edchozí kapitola). Je z ejm vhodné kreslit obrázky vektorov. Celkem oblíbený, na ovládání celkem jednoduchý a p itom dostate n mocný je nap íklad program Inkscape. Zde stojí za to upozornit na kreslící programe Ipe [8], který dokáºe do obrázku vkládat komentá e p ímo v latexovském formátu (vzroce, stejné fonty atd.). Podobné v ci umí na Linuxové platform nástroj Xg. Za pozornost je²t stojí schopnost editoru Ipe importovat obrázek (jpg nebo bitmap) a krelit do n j latexovské popisky a komentá e. Výsledek pak umí exportovat p ímo do pdf. B.3 Tabulky Existuje více zp sob, jak sázet tabulky. Nap íklad je moºno pouºít prost edí table, které je velmi podobné prost edí figure. Zdrojový text tabulky B.1 vypadá takto:
B.4. ODKAZY V TEXTU 29 \begin{table} \begin{center} \begin{tabular}{ c l l } \hline \textbf{dtd} & \textbf{construction} & \textbf{elimination} \\ \hline $\mid$ & \verb+in1 A B a:sum A B+ & \verb+case([_:a]a)([_:b]a)ab:a+\\ &\verb+in1 A B b:sum A B+ & \verb+case([_:a]b)([_:b]b)ba:b+\\ \hline $+$&\verb+do_reg:a -> reg A+&\verb+undo_reg:reg A -> A+\\ \hline $*,?$& the same like $\mid$ and $+$ & the same like $\mid$ and $+$\\ & with \verb+emtpy_el:empty+ & with \verb+emtpy_el:empty+\\ \hline R(a,b) & \verb+make_r:a->b->r+ & \verb+a: R -> A+\\ & & \verb+b: R -> B+\\ \hline \end{tabular} \end{center} \caption{ukázka tabulky} \label{tab:tab1} \end{table} \begin{table} B.4 Odkazy v textu B.4.1 Odkazy na literaturu Jsou realizovány p íkazem \cite{odkaz}. Seznam literatury je dobré zapsat do samostatného souboru a ten pak zpracovat programem bibtex (viz soubor reference.bib). Zdrojový soubor pro bibtex vypadá nap íklad takto: @Article{Chen01, author = "Yong-Sheng Chen and Yi-Ping Hung and Chiou-Shann Fuh", title = "Fast Block Matching Algorithm Based on the Winner-Update Strategy", journal = "IEEE Transactions On Image Processing", pages = "1212--1222", volume = 10, number = 8, year = 2001, } @Misc{latexdocweb,
30 DODATEK B. POKYNY A NÁVODY K FORMÁTOVÁNÍ TEXTU PRÁCE author = "", title = "{\LaTeX} --- online manuál", note = "\verb http://www.cstug.cz/latex/lm/frames.html ", year = "", }... Pozor: Sazba názv odkaz je dána BibTEX stylem (\bibliographystyle{abbrv}). BibTEX tedy obvykle vysází velké pouze po áte ní písmeno z názvu zdroje, ostatní písmena z stanou malá bez ohledu na to, jak je napí²ete. P esn ji e eno, styl m ºe zvolit pro kaºdý typ publikace jiné konverze. Pro asopisecké lánky t eba vý²e uvedené, jiné pro monograe (u nich asto bývá naopak velikost písmen zachována). Pokud chcete BibTEXu napov d t, která písmena nechat bez konverzí (viz title = "{\LaTeX} --- online manuál" v p edchozím p íkladu), je nutné p íslu²né písmeno (zde celé makro) uzav ít do sloºených závorek. Pro p ehlednost je proto vhodné celé parametry uzavírat do uvozovek (author = "..."), nikoliv do sloºených závorek. Odkazy na literaturu ve zdrojovém textu se pak zapisují: Podívejte se na \cite{chen01}, dal²í detaily najdete na \cite{latexdocweb} Vazbu mezi soubory *.tex a *.bib zajistíte p íkazem \bibliography{} v souboru *.tex. V na²em p ípad tedy zdrojový dokument thesis.tex obsahuje p íkaz \bibliography{reference}. Zpracování zdrojového textu s odkazy se provede postupným voláním program pdflatex <soubor> (p ípadn latex <soubor>), bibtex <soubor> a op t pdflatex <soubor>. 3 Níºe uvedený p íklad je p evzat z d íve existujících pokyn student m, kte í d lají svou diplomovou nebo bakalá skou práci v Gracké skupin. 4 Zde se praví:... j) Seznam literatury a dal²ích pouºitých pramen, odkazy na WWW stránky,... Pozor na to, ºe na ve²keré uvedené prameny se musíte v textu práce odkazovat -- [1]. Pramen, na který neodkazujete, vypadá, ºe jste ho vlastn nepot ebovali a je uveden jen do po tu. P íklad citace knihy [1], lánku v asopise [2], stati ve sborníku [3] a html odkazu [4]: [1] J. šára, B. Bene²;, and P. Felkel. Moderní po íta ová grafika. Computer Press s.r.o, Brno, 1 edition, 1998. (in Czech). 3 První volání pdflatex vytvo í soubor s koncovkou *.aux, který je vstupem pro program bibtex, pak je pot eba znovu zavolat program pdflatex (latex), který tentokrát zpracuje soubory s p íponami.aux a.tex. Informaci o p ípadných nevy e²ených odkazech (cross-reference) vidíte p ímo p i zpracovávání zdrojového souboru p íkazem pdflatex. Program pdflatex (latex) lze volat vícekrát, pokud stále vidíte nevy e²ené závislosti. 4 N kolikrát jsem byl upozorn n, ºe web s t mito pokyny byl zru²en, proto jej zde p ímo necituji. Nicmén p íklad sám o sob dokumentuje obecn p ijímaný konsensus ohledn citací v bakalá ských a diplomových pracích na KP.
B.5. ROVNICE, CENTROVANÁ, ƒíslovaná MATEMATIKA 31 [2] P. Slavík. Grammars and Rewriting Systems as Models for Graphical User Interfaces. Cognitive Systems, 4(4--3):381--399, 1997. [3] M. Haindl,. Kment, and P. Slavík. Virtual Information Systems. In WSCG'2000 -- Short communication papers, pages 22--27, Pilsen, 2000. University of West Bohemia. [4] Knihovna grafické skupiny katedry po íta : http://www.cgg.cvut.cz/bib/library/... abychom vý²e citované odkazy skute n na²li v (automaticky generovaném) seznamu literatury tohoto textu, musíme je nyní alespo jednou citovat: Kniha [11], lánek v asopisu [4], p ísp vek na konferenci [1], www odkaz [7]. Je²t p idáme dal²í ukázku citací online zdroj podle eské normy. Odkaz na wiki o frameworcich [2] a ORM [3]. Pouºití viz soubor reference.bib. V seznamu literatury by nyní m ly být ºivé odkazy na zdroje. V reference.bib je zcela nový typ publikace. Detaily dohledal a dodal Petr Dlouhý v dubnu 2010. Podrobnosti najdete ve zdrojovém souboru tohoto textu v komentá i u p íkazu \thebibliography. B.4.2 Odkazy na obrázky, tabulky a kapitoly Ozna ení místa v textu, na které chcete pozd ji tená e práce odkázat, se provede p íkazem \label{navesti}. Lze pouºít v prost edích figure a table, ale téº za názvem kapitoly nebo podkapitoly. Na náv ²tí se odkáºeme p íkazem \ref{navesti} nebo \pageref{navesti}. B.5 Rovnice, centrovaná, íslovaná matematika Jednoduchý matematický výraz zapsaný p ímo do textu se vysází pomocí prost edí math, resp. zkrácený zápis pomocí uzav ení textu rovnice mezi znaky $. Kód $ S = \pi * r^2 $ bude vysázen takto: S = π r 2. Pokud chcete ne íslované rovnice, ale umíst né centrovan na samostatné ádky, pak lze pouºít prost edí displaymath, resp. zkrácený zápis pomocí uzav ení textu rovnice mezi znaky $$. Zdrojový kód: $$ S = \pi * r^2 $$ bude pak vysázen takto: S = π r 2 Chcete-li mít rovnice íslované, je t eba pouºít prost edí eqation. Kód: \begin{equation} S = \pi * r^2 \end{equation} \begin{equation} V = \pi * r^3 \end{equation}
32 DODATEK B. POKYNY A NÁVODY K FORMÁTOVÁNÍ TEXTU PRÁCE je potom vysázen takto: S = π r 2 (B.1) V = π r 3 (B.2) B.6 Kódy programu Chceme-li vysázet nap íklad ást zdrojového kódu programu (bez formátování), hodí se prost edí verbatim: (* nickname2 *) Lego> Refine in1 (do_reg (nickname1 h)); Refine by in1 (do_reg (nickname1 h))?4 : pcdata?5 : pcdata (* surname2 *) Lego> Refine surname1 h; Refine by surname1 h?5 : pcdata (* email2 *) Lego> Refine undo_reg (email1 h); Refine by undo_reg (email1 h) *** QED *** B.7 Dal²í poznámky B.7.1 ƒeské uvozovky V souboru k336_thesis_macros.tex je p íkaz \uv{} pro sázení eských uvozovek. Text uzav ený do eských uvozovek.
Dodatek C Seznam pouºitých zkratek 2D Two-Dimensional ABN Abstract Boolean Networks ASIC Application-Specic Integrated Circuit. 33
34 DODATEK C. SEZNAM POUšITÝCH ZKRATEK
Dodatek D UML diagramy Tato p íloha není povinná a z ejm se neobjeví v kaºdé práci. Máte-li ale v t²í mnoºství podobných diagram popisujících systém, není nutné v²echny umís ovat do hlavního textu, zvlá²t pokud by to sniºovalo jeho itelnost. 35
36 DODATEK D. UML DIAGRAMY
Dodatek E Instala ní a uºivatelská p íru ka Tato p íloha velmi ºádoucí zejména u softwarových implementa ních prací. 37
38 DODATEK E. INSTALAƒNÍ A UšIVATELSKÁ P ÍRUƒKA
Dodatek F Obsah p iloºeného CD Tato p íloha je povinná pro kaºdou práci. Kaºdá práce musí totiº obsahovat p iloºené CD. Viz dále. M ºe vypadat nap íklad takto. Vá² seznam samoz ejm bude odpovídat typu va²í práce. (viz [6]): Obrázek F.1: Seznam p iloºeného CD p íklad Na GNU/Linuxu si strukturu p iloºeného CD m ºete snadno vyrobit p íkazem: $ tree. >tree.txt Ve vzniklém souboru pak sta í pouze doplnit komentá e. 39
40 DODATEK F. OBSAH P ILOšENÉHO CD Z README.TXT (p ípadne index.html apod.) musí být rovn º z ejmé, jak programy instalovat, spou²t t a jaké poºadavky mají tyto programy na hardware. Adresá text musí obsahovat soubor s vlastním textem práce v PDF nebo PS formátu, který bude pozd ji pouºit pro prezentaci diplomové práce na WWW.