•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Základy počítačové sazby v systému LATEX Roman Plch Ústav matematiky a statistiky PřF MU 19. září 2016 •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Vznik a historie TEXu • 1977, „Mathematics books and journals do not look as beautifull as they used to“, Donald Ervin Knuth, profesor Stanfordské univerzity. • 1978, první verze • 1980, založena organizace sdružující uživatele TEXu, TUG (TeX Users Group) • 1990, vzniká CSTUG • 1992, zmrazení dalšího vývoje • Dnes už Knuth TEX dále nevyvíjí, ale pouze opravuje chyby, o kterých se dozví (a kterých je dnes však už velice málo). Aktuální verze je 3,14159. •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Co je TEX? • sázecí autorský systém • programovatelný, t.j. s vlastním makrojazykem (byl v něm například pro zábavu implementován interpret jazyka BASIC) • dávkový: ze vstupu $c=\sqrt{a^2+b^2}$ dostaneme c = √ a2 + b2 • portabilní (od Atari či dvoudisketového PC XT po Cray) • stabilní ($256 za nalezení chyby) • dobře dokumentovaný (vyšel knižně) • volně šiřitelný • s výstupem na zařízení nezávislým •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Co TEX není • editor • program na grafiku (na to slouží komplementární program METAFONT přibližně stejné velikosti) • WYSIWYG (nadstavby jako LyX existují) • rychle naučitelný •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Algoritmy • Řádkový zlom – TEX načte do paměti celý obsah odstavce jako jednu linku a několikrát se ho pokusí nalámat. Bere přitom v potaz mnoho proměnných a typografických pravidel. Matematicky řečeno hledá hledá minimum jakési „cenové“ funkce. • Dělení slov – TEX může současně pracovat s maximálně 256 jazyky. Má uloženy tabulky se vzory dělení slov. Algoritmus pro dělení slov navrhl Frank M. Liang. • Stránkový zlom – vzhledem k exponenciální složitosti algoritmu optimalizujícího vzhled celého dokumentu TEX optimalizuje vzhled jediné strany. Nastavením parametrů lze určit vhodnost zlomu v tom kterém místě. • Matematická sazba – Knuth věnoval sazbě matematiky mimořádnou pozornost. Propracovanost matematické sazby nemá obdoby v žádném jiném (ani komerčním) systému. •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit TEX jako takový obsahuje zhruba 300 základních značkovacích příkazů. Pomocí makrojazyka, který je součástí TEXu, můžeme vytvářet nové sázecí příkazy. Takto vznikla také spousta více či méně známých formátů TEXu: • plainTEX Tento formát naprogramoval sám autor TEXu Donald Knuth. PlainTEX rozšiřuje počet příkazů, které může uživatel použít, na devět set. Vyžaduje schopnost programátorského myšlení, protože většinu maker si musí uživatel vytvořit a odladit sám. • LATEX Je nadstavbou TEXu vytvořenou panem Leslie Lamportem. Byl vytvořen zejména proto, aby zjednodušil sazbu dokumentů v TEXu a zpřístupnil tak jinak poněkud složitý jazyk běžnému uživateli. • AMS-TEX Formát napsaný původně pro Americkou Matematickou společnost. •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Tvorba dokumentu •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit • Editorem vytváříme zdrojový dokument .tex. (Na Windows např. PSPAD: http://www.pspad.com/). Případně použijeme integrované prostředí, např. Texmaker – http://www.xm1math.net/ texmaker/ nebo TeXworks – http://www.tug.org/texworks/, obě jsou multiplatformní. Pro kratší dokumenty je možné vyzkoušet i některou online instalaci – např. na https://www.writelatex.com/. • Zdrojový dokument zpracujeme TEXem – přitom se načítá soubor zvaný formát (.fmt) – předzpracovaná sbírka TEXových maker k rychlému natažení. Další nezbytností jsou písma. Samotný TEX se však nestará o to, jak takové písmeno vypadá. Proto TEX nenačítá samotná písmena, ale pouze informaci o šířkách a výškách písmen, ligaturách, sklonu a dalších hodnotách. Tato souhrnná informace o písmu se nazývá metrika. V případě TEXu má příponu .tfm. • Po skončení práce TEXu získáme (kromě pomocných souborů) soubor DVI (DeVice Independent). Je to soubor, který popisuje, kam se TEX rozhodl umístit texty. Kromě toho může obsahovat speciální značky pro výstupní zařízení, jejichž pomocí se do TEXu implementují barvy, podpora obrázků a další. Tento soubor si již můžeme prohlédnout DVI prohlížečem. • Často jej však použijeme pro převod do jiného výstupního formátu – PostScriptu (pomocí programu dvips). •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Minimální kostra dokumentu \documentclass[12pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[czech]{babel} \begin{document} TĚLO DOKUMENTU \end{document} •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit • Postscript (PS): Jazyk PostScript byl navržen firmou Adobe v roce 1985 jako jazyk pro popis stránek. Díky svým rozsáhlým možnostem se však brzy stal i formátem používaným k přenosu obrázků mezi aplikacemi. • zapouzdřený PostScript (Encapsulated PostScript – EPS): Od normálního strukturovaného PostScriptu se příliš neliší – jediný zásadní rozdíl je v tom, že neobsahuje žádné příkazy pro nastavení zařízení či souřadného systému a nemanipuluje s interpretem tak, aby to ovlivnilo zpracování ostatních částí dokumentu. Některé PostScriptové příkazy tedy formát EPS zcela zakazuje, jiné omezuje. Aplikace pro EPS připraví prostředí (souřadný systém) tak, aby byl obrázek ve správné poloze a velikosti. K tomu jí napomáhá informace o ohraničujícím rámu (Bounding Box), která se nachází ve strukturovaných komentářích každého EPS souboru. • Portable Document Format (PDF): Interpretace postscriptového kódu je poměrně složitá a relativně pomalá. PostScript je navíc textový formát, což zvyšuje velikost souborů. Formát PDF přebral ideu popisu stránky, ovšem vyřadil všechny programovací konstrukce. Naproti tomu přidal podporu komprese celého kódu, kryptografie, náhledů stran, hypertextových odkazů, appletů, barevných profilů ICC aj. •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Zdroje informací, software • Instalace TeXlive přes internet: http://www.tug.org/texlive/ acquire-netinstall.html • CSTUG: http://www.cstug.cz/ • Archív CTAN: http://www.ctan.org/ • Kurs LATEXu: https://www.math.muni.cz/~plch/index.php?page= main/vyuka/M5751/M5751&lang=CZ • Ghostview, Ghostscript: http://www.cs.wisc.edu/~ghost/index.html • Adobe Reader: http://www.adobe.com/products/acrobat/readstep2.html •First •Prev •Next •Last •Go Back •Full Screen •Close •Quit Literatura [1] Beran V.: Aktualizovaný typografický manuál, nakladatelství Manuál, 2003. [2] Čechová L., Plch R.: Sázíme v LATEXu diplomovou práci z matematiky, skriptum MU Brno, 2003. [3] Goossens M., Rahtz S., Mittelbach F.: The LATEX Companion, AddisonWesley, 1994. [4] Goossens M., Rahtz S., Mittelbach F.: The LATEX Graphics Companion, Addison-Wesley, 1997. [5] Grätzer G.: Math into LATEX, Third Edition, Birkhäuser Boston, 2000. [6] Kočer M.: Ne příliš stručný úvod do systému LATEX2e, dostupné online na http://www.penguin.cz/~kocer/texty/ lshort2e/lshort2e-cz.pdf, 1998. [7] Rybička J.: LATEX pro začátečníky, 3. vydání, KONVOJ, Brno, 2003. [8] Satrapa P.: LATEX pro pragmatiky, dostupné online na http://www.nti. tul.cz/~satrapa/docs/latex/, 2011.