SLEZSKÁ UNIVERZITA V OPAVEˇ Obchodnˇe podnikatelská fakulta v Karviné
Šablony v sázecím systému TEX Bakaláˇrská práce
Karviná 2009
Michal Hanzal
SLEZSKÁ UNIVERZITA V OPAVEˇ Obchodnˇe podnikatelská fakulta v Karviné
Obor: Manažerská informatika
Michal Hanzal
Šablony v sázecím systému TEX Templates in typesetting system TEX Bakaláˇrská práce
Karviná 2009
Vedoucí bakaláˇrské práce: Ing. Dalibor Hula
Abstrakt v jazyce cˇ eském a jazyce anglickém Tato bakaláˇrská práce je koncipována jako pruvodce ˚ pro zaˇcínající uživatele typografického systému TEX. V první cˇ ásti se cˇ tenáˇrum ˚ dostává základních ˇ znalostí z oblasti znaˇckování a znaˇckovacích jazyku. ˚ Cást druhá a tˇretí se zabývá samotným typografickým systémem TEX, jeho vznikem, vývojem, instalací na pracovní stanici a základy práce s formátem LATEX. V poslední cˇ ásti je nastínˇen postup prací pˇri tvorbˇe šablon pro sazbu závˇereˇcných prací na Obchodnˇe podnikatelské fakultˇe v Karviné a pravidla jejich používání.
This bachelor thesis is concieved as a guide for beginer users of typesetting and document preparation system TEX. In the first part the readers are given basic knowledge in field of markup and markup languages. The second and the third part concerne with the typesetting system TEX itself, its origin, development, work station instalation and work basics with LATEX format. In the last part there is templates preparation process and their rules of using at School of Business Administration in Karviná sketched out.
Obsah Úvod
1
1 Znaˇckovací jazyky
3
1.1
Teorie znaˇckování
3
1.2
Typy znaˇckování
4
1.2.1
Interpunkˇcní znaˇckování
4
1.2.2
Prezentaˇcní znaˇckování
5
1.2.3
Procedurální znaˇckování
5
1.2.4
Deskriptivní znaˇckování
5
1.2.5
Referenˇcní znaˇckování
6
1.2.6
Meta znaˇckování
6
1.3
Struˇcná historie znaˇckovacích jazyku˚
2 TEX a jeho vývoj
6 8
2.1
Struˇcná historie TEXu
2.2
TEXovské formáty
10
2.2.1
PlainTEX
10
2.2.2
LATEX
10
2.2.3
AMS-LATEX
12
2.2.4
ConTeXt
13
3 TEX v praxi
9
14
3.1
Instalace TEXu v MS Windows
14
3.2
Instalace TEXu v Ubuntu Linux
17
3.2.1
Instalace v prostˇredí Synaptic Package Manager
17
3.2.2
Instalace prostˇrednictvím pˇríkazové rˇ ádky
19
3.3
3.4
Základní pˇríkazy pro pˇrípravu dokumentu v LATEXu
20
3.3.1
Pˇríkazy pro formátování tˇela dokumentu
23
3.3.2
Vytvoˇrení výstupního souboru
27
Doplnkový ˇ software pro práci s LATEXem
28
4 Tvorba šablon pro potˇreby Obchodnˇe podnikatelské fakulty
30
4.1
Struktura tˇrídy diploma.cls
30
4.2
Struktura šablony Ukazka.tex
32
4.3
Zkušenosti nabyté pˇri tvorbˇe šablon
33
Závˇer
36
Seznam použitých pramenu˚ a literatury
37
Seznam obrázku˚
39
Pˇrílohy
1
Úvod Zadání této bakaláˇrské práce bylo inspirováno požadavkem na vytvoˇrení šablon pro práci s ruznými ˚ grafickými projekty týkajícími se hlavnˇe typografické práce pro využití na Obchodnˇe podnikatelské fakultˇe; to znamená, že v tomto pˇrípadˇe jsme se rozhodli pro vytvoˇrení šablon pro zpracování bakaláˇrských, diplomových a disertaˇcních prací na Obchodnˇe podnikatelské fakultˇe v Karviné. Dalším požadavkem na vytvoˇrení tˇechto šablon byla jejich snadná pˇrenositelnost, nezávislost na operaˇcním systému, neproprietárnost, snadnost využití v praxi a dostupnost pro studenty Obchodnˇe podnikatelské fakulty. Dále jsme pak požadovali použití takového softwaru, který by mohl být spoleˇcnˇe s vytvoˇrenými šablonami šíˇren jako freeware. Další výraznou motivací v této práci bylo ukázat, že ve svˇetˇe tvoˇrení profesionálních, odborných, obchodních apod. dokumentu˚ a textu˚ neexistuje jen aplikace Word spoleˇcnosti Microsoft prodávána v balíˇcku Microsft Office (a jeho klony jako napˇr. OpenOffice.org zaštítˇený spoleˇcností Sun Microsystems vydávaná pod freewarovou licencí), a že mnohé je možné udˇelat lépe, snadnˇeji a cˇ asto i efektivnˇeji pomocí na internetu zdarma dostupných nástroju. ˚ Podle našeho názoru všechny tyto požadavky beze zbytku splnuje ˇ typografický systém TEX, který jsme pro tvorbu šablon v rámci této bakaláˇrské práce zvolili a využili. Práce je rozdˇelena do cˇ tyˇr oddílu. ˚ V první cˇ ásti nazvané Znaˇckovací jazyky bude nastínˇena problematika znaˇckovacích jazyku, ˚ teorie znaˇckování a historie znaˇckovacích jazyku. ˚ V cˇ ásti druhé, TEX a jeho vývoj, budou objasnˇeny okolnosti vzniku TEXu, jeho vývoje do dnešních dnu, ˚ dále budou popsány základní TEXovské formáty. V cˇ ásti pod názvem TEX v praxi obeznámíme cˇ tenáˇre s postupy instalace TEXu v operaˇcních systémech MS Windows a Ubuntu Linux, se cˇ lenˇením a zpracováním dokumentu v LATEXu a s doplnkovým ˇ softwarem pro zpˇríjemnˇení práce s LATEXem. V cˇ ásti poslední, pojmenované Tvorba šablon pro potˇreby Obchodnˇe podnikatelské fakulty budou popsány práce pˇri tvorbˇe šablon pro sazbu
2 bakaláˇrských, diplomových a disertaˇcních prací na Obchodnˇe podnikatelské fakultˇe v Karviné.
3
1
Znaˇckovací jazyky Znaˇckovací jazyky, i když to na první pohled nemusí být zˇrejmé, jsou pou-
žívány již dlouhá staletí; mužeme ˚ je definovat jako umˇelé jazyky využívající sadu pˇríkazu˚ zavedených pˇrímo do textu, s nímž se pracuje, které poskytují instrukce k popisu sémantické struktury nebo vzhledu zpracovávaného textu.
1.1
Teorie znaˇckování Kdykoli spisovatel, nebo kdokoli jiný nˇeco napíše, používá znaˇckování.
Napˇríklad mezery mezi slovy oznaˇcují konce slov, cˇ árky oddˇelují cˇ ásti souvˇetí a teˇcky (pˇrípadnˇe otazníky a vykˇriˇcníky) znaˇcí konce vˇet. Tento fakt je cˇ asto pˇrehlížen, nebot’ termín znaˇckování je dnes výhradnˇe spojován s nezbytností použití elektronických text zpracujících systému. Dukladný ˚ pohled hloubˇeji však odhalí, že spisovatelé neúmyslnˇe ale pˇresto zcela pˇrirozenˇe aplikují dva typy znaˇckování, a to interpunkˇcní (tzn. používání interpunkˇcních znamének) a prezentaˇcní (napˇr. cˇ íslování stránek apod.). Tyto tradiˇcní písaˇrské“ typy znaˇcko” vání vysvˇetlují napsané výrazy; to znamená, že nejsou souˇcástí smyslu textu ani obsahem sdˇelovaného vyjádˇrení, ale podávají nám o nˇem urˇcité údaje. Jakmile pˇrekládáme“ psaný text do mluvené rˇ eˇci, tyto znaˇcky normálnˇe neˇcteme, na” místo toho je interpretujeme jako ruzná ˚ rˇ eˇcnická gesta, abychom vyjádˇrili odpovídající smyl sdˇelení (teˇcka za vˇetou napˇríklad zpusobuje ˚ poklesnutí hlasu). S pˇríchodem poˇcítaˇcu˚ a text zpracujících systému˚ zaznamenáváme také zcela nové zpusoby ˚ znaˇckování a zpracovávání textu. ˚ Texty pˇripravené pro lidské cˇ tení, at’ už na obrazovce nebo na papíˇre, jsou znaˇckovány „písaˇrsky“ (tak jak je uvedeno výše); jenomže jakmile jsou uchovány v podobˇe elektronických souboru, ˚ k „písaˇrským“ znaˇckám pˇribývají další sady, které jsou navrhnuty speciálnˇe pro software zpracovávající text. Nˇekteré využívají procedurální znaˇcení (ˇríká urˇcitým aplikacím, jaké procedury mají následovat), jiné deskriptivní znaˇcky (vysvˇetlují typ pˇríslušné cˇ ásti textu), další referenˇcní znaˇcky (ty napˇríklad odkazují na informace uložené v jiných souborech), nebo tzv. metamarkup znaˇcky (které umožnují ˇ de-
4 finovat nebo kontrolovat interpretaci použitých znaˇcek, nebo vytváˇrení nových znaˇcek). V následující cˇ ásti si více pˇriblížíme jednotlivé typy znaˇckování.
1.2
Typy znaˇckování V této cˇ ásti budou struˇcnˇe popsány základní formy bˇeznˇe používaného
znaˇckování. 1.2.1
Interpunkˇcní znaˇckování Interpunkˇcní znaˇckování sestává ze striktnˇe dané, uzavˇrené sady znaˇcek,
jimž rˇ íkáme interpunkˇcní znaménka, která primárnˇe poskytují syntaktický význam napsaného. Jakkoliv se ovšem muže ˚ interpunkˇcní systém zdát stabilním (napˇríklad proto, že je ukotven v gramatických pravidlech), trpí urˇcitými nedostatky – uvažme napˇríklad rozdílnost gramatických pravidel ruzných ˚ jazyku, ˚ ale také stylistické variace použití interpunkce rozliˇcných autoru˚ (napˇríklad pokud budeme mluvit o umˇelecké tvorbˇe, tzn. poezie apod.). Dále mužeme ˚ rˇ íci, že interpunkˇcní systém je do jisté míry dvojsmyslný – napˇríklad teˇcky jsou využívány k ukonˇcování vˇetných celku, ˚ ale také ve zkratkách, což nˇekterým textovým procesorum ˚ zpusobuje ˚ nemalé problémy (napˇríklad už se tˇem, kteˇrí používají MS Word, stalo, že za zkratku ukonˇcenou teˇckou v dalším slovˇe automaticky nastavuje velké první písmeno). Tyto problémy nejednoznaˇcnosti mohou zpusobit, ˚ že proces tvoˇrení textu se stane zdlouhavˇejším a nároˇcnˇejším, v dusledku ˚ cˇ ehož zacˇ ne autor používat jiného zpusobu ˚ znaˇckování, který se o správnou interpunkci postará sám a autor se muže ˚ nerušenˇe soustˇredit na obsah textu, nikoli na jeho formu. Interpunkce tedy není pouhou souˇcástí systému psaní, je to plnohodnotný znaˇckovací jazyk, který se muže ˚ lišit a být nahrazen jinou formou znaˇckování, jiným znaˇckovacím jazykem.
5 1.2.2
Prezentaˇcní znaˇckování Kromˇe znaˇckování elementu˚ nižších tˇríd, k cˇ emuž se používá interpunkce,
potˇrebujeme znaˇckovat také elementy vyšších tˇríd, cˇ ímž umožnujeme ˇ prezentovanému textu být pˇrehlednˇejší. Prezentaˇcním znaˇckováním se tedy myslí rozˇclenˇení dokumentu do, pro cˇ lovˇeka, pˇrehlednˇejších cˇ ástí. Kupˇríkladu autoˇri jistým zpusobem ˚ formátují poˇcátky odstavcu, ˚ cˇ íslují strany knih a kapitoly; používají se tabelátory, odsazování, zarovnávání a podobnˇe. 1.2.3
Procedurální znaˇckování V mnoha text zpracujících systémech je prezentaˇcní nahrazeno procedu-
rálním znaˇckováním, jež se skládá z pˇríkazu, ˚ které identifikují formátovací proceduru výstupního zaˇrízení, tzn., že se zabývá výhradnˇe grafickým formátováním textu. Systém znaˇcek (pˇríkazu) ˚ je pochopitelnˇe pevnˇe spjat s tím kterým textovým procesorem nebo jazykem a navíc bývá cˇ asto závislý také na urˇcitém zaˇrízení. Mnoho souˇcasných systému˚ sloužících k elektronickému publikování používá procedurální znaˇcky a také si témˇerˇ každý systém vytváˇrí vlastní sady znaˇcek, což mimo jiné vede k nesnadné pˇrenositelnosti dokumentu˚ mezi jednotlivými systémy. Pˇríkladem je formát RTF (Rich Text Format) vytvoˇrený spoleˇcností Microsoft. 1.2.4
Deskriptivní znaˇckování Hlavní rozdíl oproti pˇredchozímu typu znaˇckování je ten, že deskriptivní
znaˇcky vyjadˇrují, že urˇcitý textový oddíl je zaˇrazen do urˇcité tˇrídy. Jakmile software zpracovává deskriptivnˇe znaˇckovaný text, nejprve cˇ te v sadˇe pravidel napsaných v procedurálním jazyce, která urˇcují, co se má provést pro každý výskyt jednotlivých textových oddílu. ˚ Nastavením tˇechto pravidel se založí prezentaˇcní design, který už se následnˇe aplikuje automaticky. Tímto odpadá potˇreba editace samotného designu, jelikož všechny úpravy staˇcí provádˇet pˇrímo v sadˇe procedurálních pravidel, cˇ ímž pro autora odpadá zdlouhavá ruˇcní editace for-
6 mátování textu. Pˇríklady deskriptivních jazyku˚ jsou XML (Extensible Markup Language), nebo nadstavba TEXu LATEX. 1.2.5
Referenˇcní znaˇckování Referenˇcní znaˇckování odkazuje na entity, které jsou uloženy v externích
souborech nebo dokonce systémech vzhledem ke zpracovávanému textu. 1.2.6
Meta znaˇckování Meta znaˇckování poskytuje prostˇredky ke kontrole správné interpretace a
rozšiˇrování slovníku pˇríkazu˚ deskriptivních znaˇckovacích jazyku. ˚
1.3
Struˇcná historie znaˇckovacích jazyku˚ Za zrod moderních znaˇckovacích jazyku˚ se považuje setkání v roce 1967
v Ottavˇe, kde ameriˇcan William Tunnicliffe prezentoval svou práci pod názvem The Separation of Information Content of Documents from their Format, z níž se pozdˇeji vyvinul projekt pod názvem GenCode, který pod svou záštitu vzala spoleˇcnost IBM. V roce 1969 byl v rámci projektu GenCode vytvoˇren Generalized Markup Language (GML). Jeho následníkem se stal Standard Generalized Markup Language (SGML), který byl v roce 1986 pˇrijat jako standard ISO. Tímto bylo zpusobeno, ˚ že SGML zaˇcaly kromˇe IBM používat k publikaci vˇetšiny svých dokumentu˚ mnohé další spoleˇcnosti a organizace. SGML se dá považovat za pˇredka všech znaˇckovacích jazyku, ˚ ale jeho extrémní komplikovanost je pro vˇetšinu aplikací nepotˇrebná. Na konci osmdesátých let pracovali Tim Berners-Lee a Robert Caillau na vytvoˇrení jednoduchého zpusobu ˚ sdílení informací mezi pˇrírodovˇedci na celém svˇetˇe. Jedním z poznatku˚ jejich práce bylo zjištˇení potˇreby jakéhosi prostˇredku na propojování jednotlivých dokumentu, ˚ na odkazování se mezi nimi, zobrazování v prohlížeˇci apod. Výsledkem bylo vytvoˇrení jazyka pod názvem HyperText Markup Language (HTML) spoleˇcnˇe s technologií World Wide Web (WWW) v polovinˇe roku 1990. Složitost WWW od té doby znaˇcnˇe vzrostla a
7 s ní i potˇreba „mocnˇejšího“ znaˇckovacího jazyka, který by poskytoval informace o struktuˇre a obsahu dokumentu. Výsledkem se v roce 1998 stal eXtensible Markup Language (XML). Samostatnou kapitolu v rodinˇe znaˇckovacích jazyku˚ tvoˇrí TEXa jazyky jemu podobné. Historií, vývojem a použitím TEXu se zabývají další cˇ ásti této práce.
8
2
TEX a jeho vývoj
Položíme-li otázku: Co v dnešní dobˇe dˇelá vˇetšina uživatelu˚ poˇcítaˇcu?“, ˚ ” odpovˇed’ je nasnadˇe: Ruznými ˚ zpusoby ˚ zpracovává texty.“ K této cˇ innosti sa” mozˇrejmˇe potˇrebujeme urˇcité softwarové vybavení a pˇriznejme si, že souˇcasná nabídka podobných programu˚ není nikterak nedostateˇcná a to jak pro MS Windows, tak pro ostatní operaˇcní systémy. Pokud se spokojíme s jednoduchou úpravou textu, ˚ vystaˇcíme si s programy typu Notepad pod MS Windows nebo, a to pokud zmíníme pouze ten úplnˇe základní, Vi a mnohé další pro unixové operaˇcní systémy. Mnohdy ovšem uživatel do svého textu potˇrebuje pˇridat obrázky, tabulky, seznamy a další relativnˇe nároˇcnˇejší prvky, pak je nabídka software stejnˇe bohatá, zejména co se týˇce textových procesoru˚ pro MS Windows (dnes drtivou vˇetšinu pˇredstavuje MS Word, ale pro ilustraci uved’me další programy jako kupˇríkladu: WordPad, OpenOffice.org Word Processor, IBM Lotus Word Pro, WordPerfect vyvíjený Corel Corporation apod.) Pokud ovšem uživateli ani toto nestaˇcí, jsou pro nˇej pˇripraveny tzv. Desktop Publishing nástroje (neboli DTP nástroje) jako napˇr. QuarkXpress, Adobe PageMaker, Adobe InDesign, Scribus a další, které si ovšem, s výjimkou programu Scribus, bude muset koupit a to nikterak levnˇe. Alternativou k tˇemto všem možnostem je program TEX1 . Zde je tˇreba upozornit, že TEX i všechny jeho formáty jsou znaˇckovací jazyky a nikoli tzv. WYSIWYG2 editory jako napˇríklad již zmínˇený MS Word nebo OpenOffice.org Word Processor. Pro uživatele, který hodlá s TEXem pracovat, bude tedy dˇríve cˇ i pozdˇeji nutné nauˇcit se urˇcité pˇríkazy, kterými bude TEXu rˇ íkat, co má se zpracovávaným textem dˇelat.
1
název TEX pochází z rˇ eckého slova techne, což znamená dovednost cˇ i umˇení, proto vyslovu-
jeme tech, nikoli teks, jak by se mohlo zdát 2 Zkratka pro What You See Is What You Get, v pˇrekladu Vidíš, co dostaneš
9
2.1
Struˇcná historie TEXu Historie typografického systému TEX sahá do roku 1977, kdy Donald Er-
vin Knuth (v souˇcasné dobˇe emeritní profesor na Standfordské Univerzitˇe) provádˇel revizi druhého vydání své knihy The Art of Computer Programing. Kvalita sazby prvního výtisku Knutha natolik zklamala, že pˇrehodnotil své další plány a možnostem digitální sazby dokumentu˚ se zaˇcal vˇenovat naplno. Jal se studovat typografická pravidla, možnosti sazby matematiky a mimo jiné také návrhy písem; odhadoval, že práce na svém typografickém systému by mu mohly zabrat pˇribližnˇe 6 mˇesícu, ˚ nakonec to bylo necelých 10 let, a to za pˇrispˇení mnoha spolupracovníku. ˚ První verze TEXu spatˇrila svˇetlo svˇeta v roce 1978, byla napsána v programovacím jazyce SAIL
3
a bˇežela na PDP-104 . Nová verze TEXu se obje-
vila v roce 1982 (proto také byla známá pod oznaˇcením TEX82), asi nejvýraznˇejšími zmˇenami oproti TEXu z roku 1978 bylo nahrazení algoritmu na dˇelení slov a zmˇena aritmetiky s plovoucí desetinnou cˇ árkou na aritmetiku s fixní desetinnou cˇ árkou, co mˇelo optimalizovat využití TEXu i na jiných poˇcítaˇcových systémech. Záhy si ovšem Knuth uvˇedomil, že 128 znaku, ˚ které doposud TEX a METAFONT5 podporovaly, není pro sazbu dalších jazyku˚ dostaˇcující, a proto hned v roce 1989 vydává dosud poslední verzi TEXu a METAFONTU pod oznaˇcením TEX 3.0, kde odstranil výše nastínˇený problém a zavádí podporu 8 bitového vstupu, tedy podporu 256 znaku˚ ve vstupu. Od verze 3.0 tedy TEX neprošel žádnou velkou úpravou, kterou Knuth v nejbližší dobˇe ani nechystá; souˇcasná verze TEXu má cˇ íselné oznaˇcení 3.1415926 (nápadnˇe se blíží vyjádˇrení cˇ ísla π, což má symbolizovat vysokou stabilitu systému), kdy každé cˇ íslo za teˇckou znamená vydání updatu na odstranˇení bugu˚ 6 . 3 4
Stanford Artificial Intelligence Language, vyvinut na Standfordské Univerzitˇe v roce 1970 Programmed Data Procesor model 10, mainframový poˇcítaˇc vyvíjen spoleˇcností Digital Equi-
pment Corporation 5 Je programovací jazyk urˇcený k definování vektorových fontu, ˚ což jsou vlastnˇe sady cˇ ar a kˇrivek popisující tvar písma. 6 Poslední update probˇehl v bˇreznu 2008
10
2.2
TEXovské formáty Jelikož TEX obsahuje obrovské množství primitivních pˇríkazu, ˚ jichž je více
než 300, bylo by pro uživatele velice obtížné v TEXu cokoli napsat, proto zaˇcaly vznikat urˇcité formáty, které mají práci ulehˇcit a jimiž se budeme v této cˇ ásti zabývat. 2.2.1
PlainTEX PlainTEX sestavil samotný Donald E. Knuth jako základní formát pro práci
s TEXem. Nesmíme ovšem opomenout podstatný rozdíl mezi specifickým formátem PlainTEX a vlastním progamem TEX, kteréžto dva termíny jsou cˇ asto chybnˇe zamˇenovány. ˇ PlainTEX tvoˇrí základ všech ostatních formátu, ˚ což jen posiluje dojem, že TEX a PlainTEX jsou jedno a totéž. Úrovenˇ formátu PlainTEX je více na úrovni sazeˇce než autora a mimo jiné je využití veškerého jeho potenciálu vysoce závislé na zkušenostech s programovacími technikami, což pro bˇežného uživatele není nejvhodnˇejší. 2.2.2
LATEX Jak je uvedeno již výše, používání PlainTEXu by pro bˇežného uživatele
bylo ponˇekud krkolomné. Z tohoto a dalších duvod ˚ u˚ sestavil poˇcítaˇcový odborník a vˇedec Leslie Lamport formát LATEX, který poskytuje sadu tzv. maker (sadu vyšších pˇríkazu) ˚ pro vytváˇrení souhrnných dokumentu. ˚ Za pomoci tohoto formátu muže ˚ i uživatel neznalý programování cˇ i samotného TEXu využít veškerých typografických možností tohoto jazyka ve velice krátkém cˇ ase. LATEX je tedy mnohem více znaˇckovacím jazykem než PlainTEX, ze kterého vychází – sjednocuje podporu cˇ lenˇení textu, živá záhlaví, obsah, kˇrížové odkazy a mnohé další prvky, pˇriˇcemž informace o grafickém designu jsou uloženy v externích souborech, tzv. tˇrídách a stylech, na nˇež se dokument odkazuje, ale zaˇclenˇeny do jeho tˇela nejsou.
11 LATEX byl poprvé uveden na zaˇcátku osmdesátých let a od té doby byl pravidelnˇe aktualizován a revidován, po letech úprav bylo cˇ íslo verze ustáleno na 2.09 a další úpravy byly oznaˇcovány pouze datem svého vydání (poslední významná aktualizace probˇehla 1. prosince 1991 a od té doby se LATEX 2.09 prakticky nezmˇenil). Díky své znaˇcné oblíbenosti mezi uživateli a rozšíˇrení do oblastí, pro které LATEX puvodnˇ ˚ e nebyl urˇcen, vznikla rˇ ada variací tohoto formátu, nesoucích jméno LATEX. Ve snaze obnovit puvodní ˚ stabilní standard LATEXu zaˇcali Leslie Lamport, Frank Mittelbach a mnozí další pracovat na projektu s názvem LATEX 3, jehož cílem je sestavit optimalizovanou a výkonnou sadu základních pˇríkazu˚ a možnost jejich dalšího rozšíˇrení o specifické funkce pomocí balíˇcku. ˚ Koneˇcnou fází projektu bude skuteˇcné dosažení verze LATEX 3.0, ale protože se ovšem jedná o dlouhodobý cíl, bylo prvním krokem k jeho dosažení vydání LATEXu 2 v polovinˇe roku 1994. Hlavní a nejvýznamnˇejší zmˇenou v LATEXu 2 oproti LATEXu 2.09 je hned v prvním pˇríkazu, kde se deklaruje rozvržení celého dokumentu, tzv. preambule. Ve verzi 2.09 se hlavní styl dokumentu vˇcetnˇe všech vedlejších voleb definoval napˇríklad takto:
\documentstyle[ifthen,12pt,titlepage]{article}
V tomto pˇríkladˇe je hlavním stylem article uložený v souboru article.sty, doplnková ˇ volba ifthen není hlavním stylem podporována a zpusobí ˚ proto naˇctení souboru ifthen.sty, oba tyto soubory jsou souˇcástí instalace TEXu. Tento druh zápisu tedy pˇredstavoval zpusob ˚ naˇcítání nepodporovaných rozšíˇrení hlavních stylu˚ LATEXu, takovýchto rozšíˇrení byly tisíce a rˇ íkalo se jim volby stylu neboli podstyly. Ve verzi 2 ovšem došlo k posunu této deklarace, doplnky ˇ jsou od hlavních stylu˚ striktnˇe oddˇeleny. Hlavní styl se pˇrejmenoval na tˇrídu dokumentu (document class) a rozšiˇrovací soubory se nazývají balíˇcky (package). Deklarace hlaviˇcky dokumentu ve verzi 2 bude tedy vypadat takto:
\documentclass[12pt,titlepage]{article}
12 \usepackage{ifthen}
Informace o celkovém designu dokumentu jsou obsaženy v externím souboru article.cls, který podporuje volby 12pt a titlepage (nastavují základní velikost písma na 12 bodu˚ a vysázení titulní strany), které jsou považovány za globální a jsou platné i pro ostatní rozšiˇrující balíˇcky, v našem pˇrípadˇe napˇríklad balíˇcek, jenž nalezneme v souboru ifthen.sty a který muže ˚ obsahovat další interní volby. Dalšími významnými zmˇenami verze 2 oproti verzi 2.09 je vylepšení správy písem (a to jak rozšíˇrení možnosti využívání ruzných ˚ fontu, ˚ tak další práci s nimi – jako nastavování velikosti, sklonu apod.), optimalizace využívání plovoucích objektu˚ (jako napˇríklad obrázku˚ a tabulek) a rozšíˇrení syntaxe nˇekolika pˇríkazu˚ (napˇríklad pˇríkazu˚ pro tvorbu nových a zmˇeny již existujících pˇríkazu). ˚ 2.2.3 AMS-LATEX Krátce po zpˇrístupnˇení TEXu 82 byl American Mathematical Society a konkrétnˇe Michaelem Spivakem vydán balíˇcek maker tzv. AMS-TEX, který nebyl samostatným TEXovským formátem pro pˇrípravu dokumentu, ˚ ale byl urˇcen pro rozšíˇrení možností sazby matematiky v PlainTEXu. TEX, jak už bylo uvedeno výše, je ovšem oblíben hlavnˇe díky LATEXu, a proto byl vznesen požadavek na vytvoˇrení AMS verze kompatibilní právˇe s tímto formátem. V roce 1987 byl proto odstartován projekt AMS-LATEX verzí 1.0, na níž dále pracoval Frank Mittelbach a jiní lidé z American Mathematical Society. V roce 1996 byl AMS-LATEX ve verzi 1.2 plnˇe kompatibilní s LATEXem 2. Kolekce AMS obsahuje tˇri cˇ ásti, a to: balíˇcky pro rozšíˇrení nástroju˚ sazby matematických podkladu, ˚ zvláštní tˇrídy pro publikování pomocí AMS a doplnˇ kové fonty s dodateˇcnými symboly, matematickou abecedou a fonty azbuky. Integrace AMS pˇri sazbˇe dokumentu˚ je snadná a je možno ji provést dvˇema zpusoby: ˚
13 1. V deklaraci tˇrídy dokumentu uvedeme amsbook, amsart, nebo amsproc; deklarace tedy bude vypadat napˇríklad takto:
\documentclass[]{amsbook}
2. Pˇridáním hlavního balíˇcku s rozšíˇreními AMS-LATEXu, a to takto: \usepackage[]{amsmath} 2.2.4
ConTeXt ConTeXt je, stejnˇe jako PlainTEX a LATEX, jedním z TEXovských formátu. ˚ Za-
chází ovšem ponˇekud dále hlavnˇe co se týˇce grafiky; netvoˇrí už pouze nadstavbu nad samotným TEXem, ale i nad dalšími jazyky jako napˇríklad MetaPost7 , což TEXu pˇrináší dosud nemožné spektrum použití. Historie ConTeXtu sahá do poˇcátku devadesátých let, kdy jej nizozemská spoleˇcnost Pragma ADE, konkrétnˇeji Hans Hagen, zaˇcala vyvíjet. Po dlouhou dobu širšímu rozletu ConTeXtu bránila jeho dokumentace, která byla dostupná pouze v holandštinˇe. Jak už bylo rˇ eˇceno, jsou nejvˇetším pˇrínosem ConTeXtu široké možnosti zaˇclenˇení garfiky, což je naopak v LATEXu témˇerˇ nemožné8 .
7 8
Jazyk na programování vektorové grafiky Toto je ale dáno primárním úˇcelem použití LATEXu jako systému pro sazbu hlavnˇe vˇedeckých
publikací
14
3
TEX v praxi Tato kapitola pojednává o zprovoznˇení TEXovské instalace na poˇcítaˇcích
s operaˇcními systémy Windows a GNU/Linux9 , základním software potˇrebnému k provozování TEX, základních pˇríkazech potˇrebných k sazbˇe základních dokumentu˚ a doplnkovém ˇ software ke zpˇríjemnˇení práce s TEXem.
3.1
Instalace TEXu v MS Windows Instalace v prostˇredí MS Windows je velice snadná a zvláne ji každý uži-
vatel toho operaˇcního systému, který již nˇekdy instaloval jakýkoli program za pomoci pruvodce ˚ instalací. K zavedení TEXu do MS Windows použijeme tzv. MiKTEXu10 , což je software obsahující kompilátor TEXu a jeho formátu, ˚ je vyvíjen Christianem Schenkem a šíˇren pod licencí Free Software Foundation11 . Samotný postup instalace je následovný: 1. Budeme potˇrebovat následující software: • Adobe Acrobat Reader, nebo jiný prohlížeˇc pdf souboru˚ (napˇr. Foxit) • GhostScript a GSview, což jsou programy pro prohlížení a tisk dokumentu˚ ve formátu PostScript (pˇrípona souboru dvi)12 • Samotný MiKTEX 2. Na webových stránkách MiKTEXu www.miktex.org je na výbˇer ze dvou možností instalaˇcních balíˇcku˚ ke stažení. • Basic MiKTeX 2.7 Installer (cca 80MB) poskytuje základní instalaci systému MiKTEX vˇcetnˇe základních balíˇcku˚ potˇrebných k tvorbˇe dokumentu, ˚ další balíˇcky je možno doinstalovat pozdˇeji, systém automa9
Konkrétnˇe v distribuci Ubuntu Linux, v jiných bude postup instalace odlišný jen minimálnˇe http://www.miktex.org/ 11 http://www.fsf.org/ 12 Ke stažení na stránkách http://pages.cs.wisc.edu/ ghost/index.html 10
15 ticky nabízí možnost doinstalace jakmile nˇekterý z balíˇcku˚ použitý v pˇrípravˇe dokumentu chybí (doporuˇcen pro uživatele zaˇcáteˇcníky, v popisu instalace budeme dále pˇredpokládat použití tohoto instalátoru) • MiKTeX 2.7 Net Installer (cca 3MB) poskytuje pouze instalátor, který poté požaduje ruˇcní výbˇer balíˇcku k instalaci (je urˇcen pro pokroˇcilé uživatele) 3. Spustíme stažený soubor s pˇríponou exe a postupujeme podle pokynu˚ v pruvodci ˚ instalací. Potvrdíme souhlas s licencí, dále zvolíme možnost Complete MiKTEX“, urˇcíme umístˇení instalace, zvolíme preferovanou ve” likost papíru (A4) a jak se má MiKTEX zachovat pˇri budoucí instalaci chybˇejících balíˇcku˚ (ask me first), nakonec spustíme samotnou instalaci tlaˇcítkem start.
Obrázek 1: Souhlas s licencí MiKTEXu
16
Obrázek 2: Umístˇení instalace MiKTEXu
Obrázek 3: Nastavení velikosti papíru a doinstalace balíˇcku˚
17
Obrázek 4: Spuštˇení samotné instalace
4. Po dokonˇcení bude instalace TEXu a LATEXu dostupná pˇres pˇríkazový rˇ ádek (práce s LATEXem v pˇríkazovém rˇ ádku bude popsána v dalších cˇ ástech této práce).
3.2
Instalace TEXu v Ubuntu Linux V Ubuntu Linuxu existuje opˇet nˇekolik postupu˚ intalace, zde budou po-
psány dva z nich, a to instalace za využití balíˇckovacího nástroje Synaptic a instalace v prostˇredí pˇríkazové rˇ ádky. 3.2.1
Instalace v prostˇredí Synaptic Package Manager Tato cˇ ást popisuje postup instalace TEXu v Ubuntu Linux za využítí
správce balíˇcku˚ Synaptic Package Manager. 1. Prvním krokem po spuštˇení operaˇcního systému je spuštˇení Synapticu, který váš požádá o zadaní správcovského hesla.
18
Obrázek 5: Spuštˇení Synaptic Package Manager
2. Dalším krokem je výbˇer a oznaˇcení balíˇcku˚ k instalaci. Do políˇcka Quick search zadáme heslo tex, což znaˇcnˇe omezí nábídku zobrazených balíˇcku˚ a poté k instalaci oznaˇcíme balíˇcky podle Obrázku 6.
19
Obrázek 6: Balíˇcky potˇrebné k instalaci TEXu
3. Nakonec potvrdíme tlaˇcítkem Apply a necháme doinstalovat. Poté by mˇela TEXovská instalace pracovat bez problému˚ 13 . 4. TEX je pˇripravem k práci. 3.2.2
Instalace prostˇrednictvím pˇríkazové rˇádky V pˇríkazové rˇ ádce operaˇcní systém provede témˇerˇ identické kroky jako pˇri
instalaci za využití Synapticu, ted’ ovšem uživatel zadává pˇríkazy a výˇcet balíˇcku˚ k instalaci ruˇcnˇe. Provedeme tedy následující kroky:
13
základní balíˇcky pro provozování TEXu jsou tex-common, texlive, texlive-base, texlive-base-
bin, texlive-common, ostatní jsou dolplnkové, ˇ pro používání cˇ eštiny/slovenštiny a dalších prvku˚ ovšem nezbytné
20 1. Spustíme program Terminal z nabídky Applications.
Obrázek 7: Spuštˇení programu Terminál
2. Pomocí pˇríkazu apt-get install nainstalujeme pˇríslušné balíˇcky (stejné jako pomocí Synapticu), musíme být ovšem pˇrihlášeni jako správci, tzn., že použijeme pˇríkaz sudo a po vyzvání uvedeme heslo správce poˇcítaˇce. 3. Nyní je TEX pˇripraven k práci.
3.3
Základní pˇríkazy pro pˇrípravu dokumentu v LATEXu V této cˇ ásti práce budou uvedeny základní pˇríkazy a techniky pˇrípravy
dokumentu. ˚ Nebudeme ovšem popisovat všechny TEXovské formáty, na což není prostor ani to není cílem této práce. Jelikož jsme pro tvorbu šablon zvolili formát LATEX, který se nejvíce hodí pro pˇrípravu a sazbu vˇedeckých dokumentu˚ a tedy i bakaláˇrských, diplomových a disertaˇcních prací na Obchodnˇe podnikatelské fakultˇe v Karviné, bude hloubˇeji rozebrán pouze tento formát.
21 Zdrojový soubor pro sazbu dokumentu v LATEXu se dˇelí do dvou cˇ ástí, na tzv. preambuli a samotné tˇelo pˇripravovaného dokumentu. V preambuli se zpravidla vyskytuje sekvence pˇríkazu, ˚ které nastavují globální parametry pro zpracování následujícího textu. Pod takovýmito parametry si mužeme ˚ pˇredstavit napˇríklad formát papíru, výšku a šíˇrku textu, nastavení cˇ íslování stránek a podobnˇe. Minimálnˇe musí preambule ovšem obsahovat pˇríkaz \dokumentclass, který specifikuje celkový typ zpracování dokumentu, zpravidla jím preambule a tedy i celý zdrojový soubor zaˇcíná. Dalším duležitým ˚ pˇríkazem, který se v preambuli muže ˚ vyskytnout a cˇ asto tomu tak opravdu je, je pˇríkaz \usepackage, jehož prostˇrednictvím se do zdrojového souboru naˇcítají doplnkové ˇ balíˇcky, které dále blíže specifikují formátování dokumentu; mohou mˇenit funkci nˇekterých nativních pˇríkazu, ˚ nebo pˇridávat nové, v LATEXu dosud nezavedené, pˇríkazy. Preambule konˇcí pˇríkazem \begin{document}, jímž naopak zaˇcíná tzv. tˇelo dokumentu, které obsahuje aktuální text promíchaný s ruznými ˚ pˇríkazy. Tyto pˇríkazy, narozdíl od tˇech v preambuli, mají pouze lokální úˇcinky, což znamená, že se tkají jen cˇ ásti textu, jejichž pomocí nastavujeme napˇr. odsazení odstavcu, ˚ doˇcasné zmˇeny písma, vkládání grafiky, výˇctových prostˇredí, poznámek pod cˇ arou atd. Tˇelo dokumentu konˇcí pˇríkazem \end{document}, což bˇežnˇe bývá i konec celého souboru. Obecnˇe by tedy dokument pˇripravený na zpracování LATEXem mohl vypadat takto: \documentclass[volby]{tˇ rída} \usepackage[volby]{balíˇ cek} \begin{document} Text promíchaný s r˚ uznými pˇ ríkazy lokálních úˇ cink˚ u. \end{document}
Základními tˇrídami pˇríkazu \dokumentclass jsou article, report, book
22 a letter, které jsou implicitnˇe pˇrítomny již v základní instalaci TEXu14 , vždy ovšem mužeme ˚ použít pouze jednu z nich. Standardními volbami tˇríd lze modifikovat pˇríkazy tˇríd a tím i zpusob ˚ formátování. Volby tˇríd se dají rozdˇelit do nˇekolika skupin: 1. Volby pro nastavení velikosti základního písma: 10pt, 11pt, nebo 12pt 2. Voleby pro výbˇer velikosti papíru, pro ilustraci jsou to napˇr.: a4paper, a5paper, b5paper, letterpaper apod. 3. Volby pro nastavení formátu stránky co se týˇce sloupcování bud’ na onecolumn – jednosloupcové, nebo twocolumn – dvousloupcové stránky 4. Ostatní volby, které se zybývají napˇríklad zarovnáním vzorcu, ˚ umíst’ováním cˇ ísel rovnic, zvýraznováním ˇ pˇreplnˇených rˇ ádku˚ apod. Konkrétnˇe pˇripravená preambule dokumentu by tedy mohla vypadat napˇríklad takto:
\documentclass[12pt,a4paper,twocolumn]{article} \usepackage[utf8]{inputenc}
Kromˇe pˇríkazu˚ \dokumentclass a \usepackage a jejich tˇríd a voleb se ovšem v preambuli mohou vyskytnout i pˇríkazy jiné, které nastavují další parametry formátování dokumentu. Jsou to napˇríklad tyto: • \pagestyle{volby} – definuje vzhled záhlaví a zápatí stránky, jeho volby jsou plain (nastavuje prázdné záhlaví a cˇ íslo strany centrované v zápatí), empty (záhlaví i zápatí je prázdné, cˇ ísla stránek se nesází), headings (záhlaví obsahuje cˇ ísla stran a titulkové informace, zápatí je prázdné) a myheadings (obdobný jako pˇredchozí pˇríkaz, ale obsah záhlaví se negeneruje automaticky, ale pomocí pˇríkazu˚ \markright a \markboth) 14
Rozdíly mezi jednotlivými tˇrídami nespoˇcívají pouze v koneˇcném vzhledu stránky, ale hlavnˇe
v jejím rozvržení
23 • \thispagestyle{volby} – pˇríkaz podobný jako výše uvedený s tím rozdílem, že nastavení platí pouze pro aktuální stranu ˇíslování} – specifikuje styl cˇ íslování stran, • \pagenumbering{styl c má volby arabic (normální cˇ íslování arabskými cˇ íslicemi), roman (ˇcíslování rˇ ímskými cˇ íslicemi malými písmeny), Roman (ˇcíslování rˇ ímskými cˇ íslicemi velkými písmeny), alph (ˇcíslování malými písmeny), Alph (ˇcíslování velkými písmeny) • \setcounter{page}{ˇ císlo strany} – nastavuje poˇcáteˇcní cˇ íslo cˇ íslování stran • \setlength{pˇ ríkaz}{velikost} – pˇríkaz, jímž se nastavují nové hodnoty vzhledu˚ odstavcu˚ 15 , jsou to \parskip (mezera mezi odstavci), \parindent (velikost odsazení pro první rˇ ádek odstavce), \textwidth (nastavení šíˇrky rˇ ádku textu) • \renewcommand{\baselinestretch}{faktor} – nastavuje proklad mezi tzv. úˇcaˇrími (baseline), což jsou rˇ ádky na nichž jsou posazena písmena; výchozí hodnota je nastavena na 1 a faktor je desetinné cˇ íslo, které nastavuje zvˇetšení základní hodnoty (napˇr. 1,5 pro zvˇetšení prokladu o 50%) 3.3.1
Pˇríkazy pro formátování tˇela dokumentu Jak už bylo uvedeno výše, samotné tˇelo dokumentu zaˇcíná pˇríkazem
\begin{document} a konˇcím pˇríkazem \end{document}. Text, který se nachází mezi tˇemito dvˇema znaˇckami, bude autor jistˇe potˇrebovat cˇ lenit do urcˇ itých logických oddílu, ˚ bude potˇrebovat text zvýraznovat, ˇ vytváˇret seznamy, vkládat obrázky atd. V této cˇ ásti uvedeme nˇekteré z nepˇreberného množství pˇríkazu˚ k LATEXu, které využijeme hlavnˇe pˇri práci s tˇelem dokumentu. 15
Velikost muže ˚ být nastavena pomocí ruzných ˚ jednotek, napˇr. cm, in, pt, em (šíˇrka písmene
M), ex (výška písmene x), atd.
24 V první rˇ adˇe hned po zaˇcátku psaní dokumentu budeme potˇrebovat tvoˇrit nadpisy, podnadpisy a jinak zanoˇrenou strukturu dokumentu. K tomuto úˇcelu nám v LATEXu slouží skupina pˇríkazu˚ \section, \subsection, \subsubsection, \paragraph a \subparagraph, které automaticky sekvenˇcnˇe rozdˇelí text16 . Dále jistˇe budeme potˇrebovat vytváˇret pˇrechody na nový rˇ ádek, což nám zajistí pˇríkaz \\ (dvˇe zpˇetná lomítka za sebou) a pˇrechody na nový odstavec, cˇ ehož dosáhneme dvˇema entry“ ve zdrojovém souboru za sebou. ” Dalším významným prvkem struktury dokumentu jsou seznamy, at’ už s odrážkami nebo cˇ íslované. Vysázení odrážkovaného seznamu dosáhneme napˇríklad takto:
\begin{itemize} \item První položka \item Druhá položka \item Xtá položka \end{itemize}
Výsledkem pak bude toto: • První položka • Druhá položka • Xtá položka Vytvoˇrení
cˇ íslovaného
seznamu
je
obdobné,
jen
použijeme
pˇríkazu˚
\begin{enumerate} a \end{enumerate}. Jednou z dalších významných cˇ ástí struktury dokumentu jsou zajisté tabulky. LATEX v sobˇe v oblasti tvorby tabulek skrývá obrovské možnosti, nám 16
ˇ Císla a nadpisy jednotlivých cˇ ástí se po použití pˇríkazu \tableofcontents automaticky
vysází do obsahu
25 ovšem bude staˇcit ukázka vytvoˇrení jednoduché tabulky o nˇekolika sloupcích a rˇ ádcích napˇríklad takto:
\begin{table} Zaˇcátek prostˇredí tabulka \begin{center} Zaˇcátek centrování \begin{tabular}{|c|c|c|} Poˇcet sloupcu˚ v tabulce \hline Horizontální cˇ ára q & poˇ cet 1 & poˇ cet 2 První rˇ ádek tabulky \hline znaky & 5896 & 6359 \hline slova & 2569 & 3080 \hline vˇ ety & 613 & 845 \hline \end{tabular} \caption{Pokusná tabulka} Popisek tabulky \end{center} Ukonˇcení centrování \end{table} Ukonˇcení prostˇredí tabulka
Naše vytvoˇrená tabulka bude vypadat takto: q
poˇcet 1 poˇcet 2
znaky
5896
6359
slova
2569
3080
vˇety
613
845
Tabulka 1: Pokusná tabulka
Další sloupce pˇridáme zvýšením poˇctu parametru˚ |c| na zaˇcátku prostˇredí \begin{tabular} napˇríklad takto \begin{tabular}{|c|c|c|c|}
26 pro vysázení tabulky o cˇ tyˇrech sloupcích. Pokud bychom vypustili pˇríkazy \hline, vypadala by tabulka takto:
q
poˇcet 1 poˇcet 2
znaky
5896
6359
slova
2569
3080
vˇety
613
845
Tabulka 2: Pokusná tabulka 2
Poslední duležitou ˚ souˇcástí TEXu, a tudíž i LATEXu, je sazba matematiky, respektive matematických vzorcu˚ a rovnic. Toto téma je tak obsáhlé, že by vystacˇ ilo na samotnou diplomovou práci, proto opˇet uvedeme jen nejnutnˇejší základní pˇríkazy a techniky matematické sazby. Matematické rovnice v LATEXu dˇelíme do dvou skupin, na ty, které se objevují pˇrímo v textu (pˇrímo na rˇ ádku, inline rovnice) napˇr. takto (a + b)2 = a2 + 2ab + b2 , a na vzorce, které jsou od hlavního textu oddˇeleny napˇr.: Z ∞
f (x)dx ≈
0
n X
wi exi f (xi )
i=1
Podle typu sázené rovnice se také bude lišit styl zápisu. Inline rovnice zapisujeme tzv. zrákráceným zápisem, celá rovnice se uzavˇre do znaku˚ dolaru: $ text rovnice $. Rovnice, které jsou oddˇeleny od hlavního textu se uzavírají do \begin{displaymath} a \end{displaymath}. Pro sazbu matematiky budeme zajisté potˇrebovat urˇcité speciální matematické symboly. Nˇekteré z nich jsou dostupné pˇrímo na klávesnici a nepotˇrebují žádný speciální zápis, jsou to tyto: + −
= < >
/
: !
0
| [ ] ( ), pro sazbu složených závorek ovšem
musíme použít následujícího zápisu: \{ a \}. Ve vzorcích a rovnicích se dále cˇ asto vyskytují indexy, at’ už horní nebo dolní; vysázení horního indexu tedy dosáhneme použitím stˇríšky napˇr. takto: $xˆ{2n}$ s výsledkem x2n , dolní index vytvoˇríme použitím podtržítka napˇr.: $x_{2y}$
27 s výsledkem x2y . Další nezbytnou souˇcástí matematických vzorcu˚ jsou zlomky, které v LATEXu vytvoˇríme pomocí pˇríkazu \frac{ˇ citatel}{jmenovatel}. Odmocniny se sází pˇríkazem \sqrt[n]{argument}, tedy napˇríklad takto √ $\sqrt[3]{8}=2$ s výsledkem 3 8 = 2. Symboly sˇcítání (sumy) a integrálu˚ se vytvoˇrí pomocí pˇríkazu˚ \sum, respektive \int, meze se vytvoˇrí stejnˇe, jakobychom chtˇeli vysázet indexy, tedy pomocí stˇríšky a podtržítka, napˇríklad takto: \sum_{i=1}ˆn nebo \int_aˆb s výsledky: Z b n X i=1
a
Matematický režim LATEXu dále obsahuje nepˇreberné množství dalších speciálních znaku˚ 17 , jako jsou všechna písmena rˇ ecké abecedy, binární operátory, relaˇcní symboly, negované relaˇcní symboly, speciální závorky, šipkové symboly, matematické akcenty a další ruznorodé ˚ symboly bez specifiˇctˇejšího zaˇrazení18 . 3.3.2
Vytvoˇrení výstupního souboru V možnostech LATEXu je vytvoˇrení dvou formátu˚ výstupních souboru. ˚
Prvním z nich je PostScriptový soubor s pˇríponou soubor.dvi (Device Independent), který je nezávislý na zaˇrízení, na kterém je zpracováván. Výstupu v tomto formátu dosáhneme spuštˇením pˇríkazu latex soubor.tex v pˇríkazové rˇ ádce19 . Druhou možností je vytvoˇrení výstupu ve formátu vyvinutém spoleˇcností Adobe Systems soubor.pdf (Portable Document Format) spuštˇením pˇríkazu pdflatex soubor.tex20 . Další možností je konverze zdrojového souboru to formátu Rich Text Format (rtf), který je následnˇe možno otevˇrít pomocí MS Office Wordu nebo 17
Seznam všech spoleˇcnˇe s pˇríkazy k jejich sazbˇe lze získat napˇr. na internetové adrese
http://web.ift.uib.no/Fysisk/Teori/KURS/WRK/TeX/symALL.html 18 Balíˇcek AMS dále rozšiˇruje nabídku matematických symbolu˚ a možností sazby matematických vzorcu˚ a rovnic 19 Spoleˇcné jak pro MS Windows, tak pro GNU/Linux i ostatní unixové operaˇcní systémy 20 Opˇet spoleˇcné jak pro MS Windows, tak pro GNU/Linux i ostatní unixové operaˇcní systémy
28 prostˇrednictvím OpenOffice.org Word Processoru. Pˇrevedení provádí program latex2rtf, který je volnˇe ke stažení na stránkách Comprehensive TEX Archive Network21 pro rozliˇcné operaˇcní systémy, jak unixové tak MS Windows. Samotná konverze se poté v pˇríkazovém rˇ ádku spouští pˇríkazem latex2rtf soubor.tex, v MS Windows je pak pˇripraveno GUI (Graphical User Interface). Program latex2rtf ovšem trpí“ urˇcitými omezeními: ” 1. Není kompatibilní se všemi balíˇcky, které lze v LATEXu použít 2. Neumí konvertovat uživatelem definované pˇríkazy Dále je možno konvertovat zdrojový soubor pˇrímo do html, toto pˇrevedení provádí program Hevea, který je opˇet volnˇe ke stažení na svých domobských stránkách22 jak pro MS Windows, tak i unixové operaˇcní systémy. Konverze se provádí z pˇríkazové rˇ ádky pˇríkazem hevea soubor.tex.
3.4
Doplnkový ˇ software pro práci s LATEXem Jak už bylo uvedeno v pˇredchozích cˇ ástech této práce, k sazbˇe dokumentu
pomocí LATEXu je zapotˇrebí zdrojového souboru, což není nic jiného než textový soubor obsahující text dokumentu promíchaný s pˇríkazy LATEXu. Zdrojový soubor muže ˚ uživatel vytvoˇrit v jakémkoli textovém editoru poˇcínaje Vi nebo Vim, pˇres MS Notepad, Gedit, Emacs nebo PSPad, až po editory specializované pˇrímo pro práci s LATEXem jako jsou Texmaker, TEXnicCenter (speciálnˇe pro MS Windows) nebo textmate (speciálnˇe pro Mac OS)23 . Srovnání všech zde zmínˇených editoru˚ by opˇet mohlo vystaˇcit na samostatnou diplomovou práci, proto volbu editoru a pˇrípadnˇe jejich srovnání necháme pˇrímo na uživateli, který se s LATEXem hodlá seznámit. Obecnˇe lze ovšem rˇ íci, že je lepší volit editor alesponˇ se základní podpo21
http://tug.ctan.org/tex-archive/support/latex2rtf/ http://hevea.inria.fr/ 23 Ani jeden nich ovšem není, což vyplývá z filosofie TEXu, ani být nemuže ˚ editorem typu WY22
SIWYG
29 rou zvýraznování ˇ syntaxe, což velice pomáhá pˇri tvorbˇe rozsáhlých dokumentu˚ typu bakaláˇrská, diplomová nebo disertaˇcní práce24 .
24
Rozhodnˇe není vhodné, ani bychom to nedoporuˇcovali, psát takto rozsáhlé dokumenty v edi-
toru typu Vi nebo MS Notepad
30
4
Tvorba šablon pro potˇreby Obchodnˇe podnikatelské fakulty V rámci této práce, byly vytvoˇreny šablony, respektive nová fomátovací
tˇrída LATEXu (diploma.cls) a šablona zdrojového souboru ke zpracování touto novou tˇrídou (Ukazka.tex), urˇcené k sazbˇe závˇereˇcných prací na Obchodnˇe podnikatelské fakultˇe v Karviné. Na tomto místˇe je tˇreba zduraznit, ˚ že veškeré formátování, které šablona na zdrojový soubor aplikuje, je striktnˇe v souladu s Metodickým pokynem pro úpravy, zveˇrejnování ˇ a ukládání závˇereˇcných prací posluchaˇcu˚ Slezské Univerzity v Opavˇe, Obchodnˇe podnikatelské fakulty v Karviné, který stanovuje základní formální náležitosti a úpravu bakaláˇrských, diplomových a disertaˇcních prací na Obchodnˇe podnikatelské fakultˇe v Karviné. Jako vzor a zdrojová šablona byla použita šablona z Vysoké školy bánské ˇ v Ostravˇe vytvoˇrená v roce 2005.
4.1
Struktura tˇrídy diploma.cls Tˇrída diploma.cls zaˇcíná deklarací verze a data vytvoˇrení pomocí
pˇríkazu˚ \def\fileversion{verze} a \def\filedate{datum}, což jsou informace, které se pˇri zpracování zdrojového souboru LATEXem zapíší do souboru pod názvem Zdrojovy_soubor.log. Tato cˇ ást šablony je ovšem nepovinná a tedy vypustitelná. Prvním duležitým ˚ pˇríkazem v tˇele každé tˇrídy je požadovaná verze TEXu, která musí být v operaˇcním systému pˇrítomna. Toto zajišt’uje pˇríkaz \NeedsTeXFormat{formát}[datum]. Jelikož se v našem pˇrípadˇe jedná o tˇrídu LATEXu, bude sekvence vypadat takto: \NeedsTeXFormat{LaTeX2e}[1995/12/01], která urˇcuje, že je vyžadována poslední verze25 LATEX2 vydaná 1. prosince 199526 . Po této cˇ ásti následuje neménˇe duležitá ˚ deklarace a to \ProvidesClass{tˇ rída}[informace o verzi], 25 26
Samozˇrejmˇe je možné obdobnˇe volat i starší verze formátu˚ TEXu Je vyžadována pˇresná syntaxe jak data pˇresnˇe ve znˇení RRRR/MM/DD vˇcetnˇe nul, tak i
samotného formátu TEXu
31 kde se zavádí název novˇe vytvoˇrené tˇrídy a volitelnˇe je možno uvést informace o verzi tˇrídy (v našem pˇrípadˇe jsou informace o verzi a datu tˇrídy pˇrevzaty od deklarací \def\fileversion{verze} a \def\filedate{datum}). V další cˇ ásti jsou pak zavedeny nové volby pˇríkazu˚ definovaných dále, jsou to \Dipl@Leader pro uvedení jména vedoucího nebo školitele závˇereˇcné práce, \Dipl@Title pro uvedení názvu závˇereˇcné práce, \Dipl@eTitle pro uvedení anglického názvu práce, \Dipl@Obor pro uvedení oboru studenta, \Dipl@Author pro zadání jména autora, \Dipl@Rok pro zadání roku sepsání práce, \Dipl@DiplomaTypeName pro nastavení typu závˇereˇcné práce pomocí argumentu˚ [bc], [ing], nebo [phd] u pˇríkazu \documentclass a \Dipl@LeaderPrefix pro zadání, jedná-li se o vedoucího bakaláˇrské práce, vedoucího diplomové práce nebo školitele disertaˇcní práce (nastaví se automaticky podle argumentu uvedeného v \documentclass). Pˇríkazem \DeclareOption* se definuje množina pˇríkazu, ˚ která má být spojena s danou tˇrídou. Dále následuje pˇriˇrazení voleb ze seznamu voleb výše uvedených nových pˇríkazu˚ specifikovanému souboru tˇrídy pomocí pˇríkazu \PassOptionsToClass. Daná tˇrída se pozdˇeji naˇcítá pomocí pˇríkazu \LoadClass. Dále následuje cˇ ást šablony, kde je specifikováno, které balíˇcky se musí naˇcíst, aniž by je již uživatel musel volat ve zdrojovém souboru; to zabezpeˇcuje pˇríkaz \RequirePackage. Po definici nutných balíˇcku˚ následují pˇríkazy na zmˇenu velikosti odsazení nových odstavcu˚ (\setlength{\parindent}{1.25cm}) a odstranˇení vodících znaku˚ v obsahu práce (\renewcommand{\cftdot}{ }). Následují definice nových pˇríkazu˚ podle výše definovaných voleb, jsou to \Leader, \Title, \eTitle, \Obor, \Author, \Rok a \MakeTitlePages, který je, jak již název napovídá, urˇcen k vytvoˇrení a formátování titulních stran. Šablona pokraˇcuje samotnou definicí formátování titulních stran za použití k tomuto úˇcelu vytvoˇrených, výše uvedených, pˇríkazu. ˚ Dále pˇríkazem \pagestyle{empty} vypínáme cˇ íslování stran do doby, než jej zase zapneme pˇríkazem \pagestyle{myheadings} na
32 místˇe, odkud chceme cˇ íslování zase zapnout, v našem pˇrípadˇe je to pˇred pˇríkaz \section{Úvod}. Speciálním pˇrípadem, co se týˇce cˇ íslování stran, je obsah práce, který i pˇres výše uvedená nastavení strany dále cˇ ísluje. Abychom i toto odstranili, použijeme dva pˇríkazy, ve tˇrídˇe diploma.cls je který hým do
\addtocontents{toc}\protect\thispagestyle{empty},
to
odstraní z
nich
zdrojového
cˇ ísla je
všech
stran
obsahu
\thispagestyle{empty} souboru
za
pˇríkaz
kromˇe a
poslední,
umist’uje
\tableofcontents.
se
drupˇrímo
Sekvencí
\renewcommand{\baselinestretch}{1.5} se nastavuje rˇ ádkování jak už je popsáno výše. Následující cˇ ást šablony upravuje formátování nadpisu˚ jednotlivých cˇ ástí (v hloubce \section až \subparagraph). Další cˇ ást pˇrenastavuje defaultní anglické názvy na cˇ eské, týká se to cˇ ástí Obsah (puvodnˇ ˚ e Contents), Seznam obrázku˚ (puvodnˇ ˚ e List of figures), Seznam tabulek (puvodnˇ ˚ e List of tables), Pˇrílohy (puvodnˇ ˚ e Appendices) a Seznam zdroju˚ a použité lieratury (puvodnˇ ˚ e References). V poslední cˇ ásti se nastavuje hloubka cˇ íslování kapitol na maximum pˇríkazem \setcounter{secnumdepth}{5}, hloubka vysázeného obsahu také na maximum pˇríkazem \setcounter{tocdepth}{5}, dále jsou to nastavení prevence tzv. vdov a sirotku, ˚ což jsou osamocené první, respektive poslední rˇ ádky odstavcu˚ na stránkách. Starají se o to nastavené vysoké hodnotu parametru˚ \widowpenalty a \clubpenalty. Celá šablona konˇcí pˇríkazem \endinput.
4.2
Struktura šablony Ukazka.tex Šablona Ukazka.tex je vzorový zdrojový soubor pro práci se tˇrí-
dou diploma.cls. Je zde tˇreba zduraznit, ˚ že pro správnou funkci tˇrídy diploma.cls je nezbytné dodržovat pravidla stanovená v Ukazka.tex, ale zárovenˇ je možno používat všechny standardní pˇríkazy LATEXu. Ukazka.tex zaˇcíná klasicky urˇcením tˇrídy dokumentu, v pˇrípadˇe
použití
tˇrídy
diploma.cls
bude
deklarace
vypadat
takto:
33 \documentclass[bc/ing/phd]{diploma}27 . Dále nastavíme kódování dokumentu pomocí \usepackage[utf8]{inputenc}. V další cˇ ásti následuje ˇeský naˇcítání údaju˚ potˇrebných k vytvoˇrení titulních stran, jsou to: \Title{C název práce}, \eTitle{Anglický název práce}, \Leader{tituly, jméno a pˇ ríjmení vedoucího/školitele práce}, obor studenta},
\Author{Jméno studenta}
a
\Obor{Studijní \Rok{Rok sepsání
práce}. Tímto konˇcí preambule dokumentu a zaˇcíná tˇelo opˇet klasicky pˇríkazem
\begin{document},
bezprostˇrednˇe
následovaný
pˇríkazem
\MakeTitlePages pro vysázení titulních stran a poté již následují cˇ ásti práce zadané v Metodickém pokynu. V práci bude zajisté tˇreba vysázet urˇcité seznamy, Obsah práce vysázíme pˇríkazem \tableofcontents, Seznam obrázku˚ pˇríkazem \listoffigures28 , Seznam použitých pramenu˚ a literatury pomocí prostˇredí thebibliography, kdy se jednotlivé položky pˇridávají pˇríkazem \bibitem (podobnˇe jako u prostˇredí itemize a enumerate)29 .
4.3
Zkušenosti nabyté pˇri tvorbˇe šablon V této cˇ ásti budou popsány a vysvˇetleny nˇekteré problémy a pˇrekážky,
na které jsme pˇri tvorbˇe šablon pro potˇreby Obchodnˇe podnikatelské fakulty v Karvné narazili. Patrnˇe nejvˇetším problémem, se kterým jsme se museli potýkat, bylo dˇelení cˇ eských slov na konci rˇ ádku. ˚ I po zavolání cˇ eské volby balíˇcku babel, která obsahuje mimo jiné šablony dˇelení cˇ eských slov, pˇríkazem \RequirePackage[czech]{babel} v šablonˇe diploma.cls nebyl LATEX schopen slova dˇelit správnˇe. Po hlubším prozkoumání problematiky jsme do27
Tˇrída diploma.cls musí být umístˇena ve stejném adresáˇri jako zpracovávaný soubor s pˇrí-
ponou tex 28 Za pˇredpokladu použití sazby obrázku˚ v plouvoucím prostˇredí figure tak, jako v souboru Ukazka.tex 29 Pˇresný zápis bibliografie v Ukazka.tex
34 šli k závˇeru, že LATEX není implicitnˇe schopen dˇelit slova, která používají jakoukoli diakritiku, což se pozdˇeji potvrdilo pˇri testu dˇelení slov bez diakritiky. Situace byla vyˇrešena zavedením jiného kódování fontu˚ pˇríkazem \RequirePackage[T1]{fontenc}30 . Druhým opatˇrením, které jsme provedli, bylo zavedení pˇríkazu \sloppy v preambuli zdrojového souboru, jenž LATEXu povoluje sázení širších mezer než je nastaveno implicitnˇe, což v praxi znamená, že pokud narazí na slovo, které není schopen správnˇe rozdˇelit, nebude jej sázet tak, že bude pˇresahovat“ za okraj stránky (což LATEX s nerodˇelenýmí slovy dˇelal), ale ” zvˇetší mezery na rˇ ádku a dané slovo pˇresune na rˇ ádek nižší. Jedním z dalších vážnˇejších problému, ˚ s nimiž jsme se setkali, bylo vkládání obrázku˚ do textu. Zde pˇred námi vyvstaly dvˇe pˇrekážky: 1. Samotné vkládání obrázku˚ do textu prostˇrednictvím balíˇcku graphicx 2. Správné umist’ování plovoucích objektu, ˚ jimiž jsou obrázky vložené pomocí prostˇredí figure LATEX umi po zavedení balíˇcku graphicx pracovat s nˇekolika formáty obrázku. ˚ Zde záleží na tom, jaký výstupní formát si vybereme. Pokud bude naše volba PostScriptový dokument ve formátu Device Independent (pˇrípona souboru .dvi) umí LATEX pracovat pouze s PostScriptovými soubory, tedy s obrázky s pˇríponou obrázek.eps. Pokud si vybereme možnost výstupu do Adobe Portable Document Format (pˇrípona souboru .pdf) je už nabídka podporovaných souboru˚ o poznání vˇetší – LATEX v tomto pˇrípadˇe nemá problém zobrazovat obrázky ve formátu jpg a png, samozˇrejmˇe je také možno vkládat soubory ve formátu pdf. Pro umíst’ování obrázku˚ do dokumentu jsme zvolili prostˇredí figure a to z toho duvodu, ˚ že je velice snadné následnˇe vytvoˇrit seznam použitých obrázku˚ (za využití pˇríkazu \caption)31 . LATEX mˇel ovšem jisté problémy s umístˇením 30
Problematika je blíže popsána v cˇ láncích dostupných na webu, v seznamu pramenu˚ a litera-
tury klíˇce [17] a [18] 31 Pˇresná deklarace umist’ování obrázku˚ do prostˇredí figure a tvorba seznamu obrázku˚ v šablonˇe Ukazka.tex
35 plovoucího objektu figure do dokumentu; implicitnˇe má LATEX nastaveno, že bude sám rozhodovat o nejlepším možném umístˇení plovoucích objektu˚ do dokumentu. To ovšem znamenalo, že obrázky sázel, nˇekdy až nesmyslnˇe, do jiných kapitol nebo na zcela prázdné stránky. Uživatel muže ˚ LATEXu navrhnout nejlepší umístˇení ruˇcnˇe zavedením parametru˚ [htb] (here, top, bottom v poˇradí, jak chceme mít obrázky nejlépe umístˇeny) v deklaraci zaˇcátku prostˇredí figure, napˇríklad tedy takto:
\begin{figure}[htb]
cˇ ímž jsme LATEXu nastavili, že má pokusit vysázet obrázky nejprve na aktuální místo na stránce, poté do horní cˇ ásti strany a jako poslední možnost do spodní cˇ ásti strany. Nˇekdy ovšem selže i toto ruˇcní nastavení, v takovém pˇrípadˇe je možno použít jistých donucovacích“ prostˇredku. ˚ To znamená, že namísto ” voleb [htb] použijeme jedinou a to takto: [h!] (pˇri této volbˇe LATEX obrázek umístí co možná nejblíže aktualnímu místu na stránce, ale automaticky nastavuje obtékání textu). Poslední možností vložení obrázku je pomocí balíˇcku float, který umožnuje ˇ použití parametru [H], jenž nastaví umístˇení obrázku pˇresnˇe na aktuální místo na stranˇe. Ostatní pˇrekážky, na nˇež jsme v prubˇ ˚ ehu prací narazili, byly rázu jednoduššího, proto není zapotˇrebí se o nich dále rozepisovat.
36
Závˇer Prvním cílem této práce bylo popsat typografický systém TEX, tak, aby se jeho základní možnosti a výhody staly srozumitelnými v první rˇ adˇe pro zaˇcáteˇcníky, kteˇrí by s TEXem v budoucnu chtˇeli zaˇcít pracovat. Cílem druhým, prakticky zamˇerˇ eným, pak bylo vytvoˇrení v praxi využitelných šablon. Tˇrída diploma.cls a vzorový zdrojový soubor Ukazka.tex ke zpracování LATEXem jsou pˇripraveny k sazbˇe závˇereˇcných prací na Obchodnˇe podnikatelské fakultˇe v Karviné. Pˇri jejich tvorbˇe byl kladen maximální duraz, ˚ aby formátování v tˇechto šablonách použité bylo pokud možno co nejvíce v souladu s Metodickým pokynem pro úpravy, zveˇrejnování ˇ a ukládání závˇereˇcných prací posluchaˇcu˚ Slezské Univerzity v Opavˇe, Obchodnˇe podnikatelské fakulty v Karviné, což se podle našeho názoru povedlo v nejvyšší možné míˇre. Vˇerˇ íme, že výsledek naší práce bude ze strany zájemcu˚ o tuto problematiku vˇrele pˇrijat a šablony námi vytvoˇrené pˇrinesou studentum ˚ na Obchodnˇe podnikatelské fakulty ulehˇcení jejich práce.
37
Seznam použitých pramenu˚ a literatury [1] KOPKA, Helmut, DALY, Patrick W. LATEX: Podrobný pruvodce. ˚ Brno: Computer Press, 2004. 576 s. ISBN 80-722-6973-9. [2] LAMPORT, Leslie. LATEX: A Document Preparation System. Reading, Massachusetts, Addison–Wesley, 1994. 272 s. ISBN 0-201-52983-1. ˇ [3] OLŠÁK, Petr. Typografický systém TEX. Ceskoslovenské sdružení uživatelu˚ TEXu, 1995. 270 s. ISBN 80-901950-0-8. [4] GOOSSENS, Michel, MITTELBACH, Frank, SAMARIN, Alexander. The LATEX Companion. Reading, Massachusetts, Addison–Wesley, 1993. 528 s. ISBN 0-201-54199-8. [5] KNUTH, Donald E. The TeXbook: Computers & Typesetting. Reading, Massachusetts, Addison–Wesley, 1991. 494 s. ISBN 0-201-13448-9. ˇ [6] MATOUCH, Petr. Instalace TEXu pro Windows: Podrobný návod. Ceské vysoké uˇcení technické V Praze, Fakulta elektrotechnická, Katedra rˇ ídící techniky, 2003. 11s. [7] GOOSSENS, Michel, RAHTZ, Sebastian, MITTELBACH, Frank. The LATEX Graphics Companion: Illustrating documents with TEX and PostScript. Reading, Massachusetts, Addison–Wesley, 1996. 554 s. ISBN 0-201-85469-4. [8] OLŠÁK, Petr. TEXbook naruby. Brno, Konvoj, 2001. 468 s. ISBN 80-7302-007-6 [9] SOPUCH, Pavel. LaTeX v kostce [online]. 2001. Dostupný z WWW:
. [10] KOSEK, Jiˇrí. Co je to TEX
[online]. 1999. Dostupný z WWW:
. ˇ [11] ŠTASTNÝ, Jakub. TEX pro zaˇcáteˇcníky: instalace [online]. 2008. Dostupný z WWW: .
38 ˇ [12] ŠTASTNÝ, Jakub. Uˇcíme se psát dokumenty v LATEXu I [online]. 2008. Dostupný z WWW: . ˇ [13] ŠTASTNÝ, Jakub. Uˇcíme se psát dokumenty v LATEXu II [online]. 2008. Dostupný z WWW: . ˇ [14] ŠTASTNÝ, Jakub. ConTeXt: Seznámení s typografickým systémem [online]. 2007. Dostupný z WWW: . [15] COOMBS, James H., RENEAR, Allen H., DEROSE, Steven. Markup Systems and the Future of Scholarly Text Processing [online]. Dostupný z WWW: . [16] ZIJM, Donald J. The History of Markup Languages [online].Dostupný z WWW: <www.luminoussolutions.com/data/history_of_markup.pdf> [17] HUDEC, Tomáš, ŠKARVADA, Libor. Nˇeco nefunguje, jak by mˇelo [online]. 2004. Dostupný z WWW: . [18] HUDEC, 2004.
Tomáš,
Dostupný
ŠKARVADA, z
WWW:
Libor.
TEXové
drobnosti
[online].
doc/doc/czechslovak/cstug/csfaq/sectD.html#Q-ECfonts>
39
Seznam obrázku˚ 1
Souhlas s licencí MiKTEXu
15
2
Umístˇení instalace MiKTEXu
16
3
Nastavení velikosti papíru a doinstalace balíˇcku˚
16
4
Spuštˇení samotné instalace
17
5
Spuštˇení Synaptic Package Manager
18
6
Balíˇcky potˇrebné k instalaci TEXu
19
7
Spuštˇení programu Terminál
20
40
Pˇrílohy Jedinou pˇrílohou této bakaláˇrské práce je CD, které obsahuje vytvoˇrené šablony diploma.cls, Ukazka.tex a návod k jejich správnému použití.