Co by uživatel L A TEXu

Podobné dokumenty
Základy počítačové sazby v systému

DTP v systému LATEX.

First Prev Next Last Go Back Full Screen Close Quit. Roman Plch katedra matematiky PřF MU. 3. května 2005

Šablona klíčové aktivity III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

. Seznámení se systémem TEX. Zpracování textů na počítači. Ing. Pavel Haluza, Ph.D. ústav informatiky PEF MENDELU v Brně haluza@mendelu.

Typografické programy (1) WYSIWYG

Typografické programy (1) WYSIWYG

DTP - LATEX Uvodn ı semin aˇr Jiˇr ı Pech PˇrF JU ˇ Cesk e Bud ˇejovice 1. cviˇcen ı Jiˇr ı Pech DTP - LATEX Uvodn ı semin aˇr

(Nepříliš) stručně o systémech TEX a L A TEX

Ruční úprava dělení v TeXu (1)

Velmi stručný úvod do LATEXu

Střední škola průmyslová a umělecká, Opava, příspěvková organizace, Praskova 399/8, Opava, IČO: Projekt: OP VK 1.5

Lidé komunikují prostřednictvím dokumentů připravovaných elektronicky.

První setkání s TEXem Petr Olšák

Principy odstavcové sazby

Úvod do TEXu 9. Hlubší pohled do TEXu a L A TEXu. NFSS volba fontů. 23. dubna 2007

Typografický systém T E X

DTP1. (příprava textu pomocí počítače) Kapitola 5 / LATEX

Lidé komunikují prostřednictvím dokumentů připravovaných elektronicky.

Pythagorova věta

Fakulta elektrotechnická

SOUŘADNICE BODU, VZDÁLENOST BODŮ

Základy informatiky. 04 Úvod do systému LaTeX. Převzato z: Rychlý úvod do systému LaTeX, Daniela Szturcová

J. Přichystal, J. Rybička

Odstavcová sazba Zpracování textů na počítači

DTP1. (příprava textu pomocí počítače) Kapitola 8 / Speciální sazba. Petr Lobaz,

TEX pro pragmatiky TEX plaintex CSplain OPmac Petr Olšák

Velikosti písma Přirozená velikost písma (tzv. design size ) je 25 pt. Tato velikost vychází z následující písmové osnovy:

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

DTP1. (příprava textu pomocí počítače) Kapitola 7 / Speciální sazba

Pythagorova věta a pythagorejské trojúhelníky-ondřej Zeman Asi 600 př.n.l

LaTeX Martin Popel, 23. března 2011,Odborné vyjadřování a styl

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

10)(- 5) 2 = 11) 5 12)3,42 2 = 13)380 2 = 14)4, = 15) = 16)0, = 17)48,69 2 = 18) 25, 23 10) 12) ) )

Příprava dokumentů textovým procesorem II.

Milníky vývoje vědy a kultury. vynález písma vynález knihtisku počítačová sazba

v rámci grantu G0142

Toto je text knihy v klikací verzi ve formátu PDF. Jsou zde použity náhradní fonty ve snížené kvalitě. Proto nedoporučuji z tohoto formátu tisknout.

Základy sazby dokumentů v systému

M - Pythagorova věta, Eukleidovy věty

Základy informatiky. Úvod do systému LaTeX. Zpracoval: Ing. Pavel Děrgel PhD. Datum:

Styl dipp.sty (verze 1.4) pro sazbu

Úvod do programování. Lekce 1

Toto je text knihy v klikací verzi ve formátu PDF. Další informace o knize naleznete na adrese

Vzdělávací oblast: Matematika a její aplikace Vzdělávací obor: Matematický kroužek pro nadané žáky ročník 9.

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

taková makra dělají a jiní, kteří jejich výtvory musejí číst) a jednak strojového potenciálu (mám na mysli strojový čas a pamě počítačů).

Základní škola Karviná Nové Město tř. Družby 1383

DTP - LAT E XPomlčky, mezery, prostředí a odkazy

TEX pro pragmatiky TEX plaintex CSplain OPmac Petr Olšák

TVORBA TEXTOVÉHO DOKUMENTU PROSTŘEDKY, PŘENOSITELNOST

LATEX pro učitele matematiky (snadno a rychle)

V (c) = (30 2c)(50 2c)c = 1500c 160c 2 + 4c 3. V (c) = 24c 320.

Pokyny pro vypracování maturitních prací 2014

Můj první dokument v LYXu

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

CVIČNÝ TEST 35. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Projekt IMPLEMENTACE ŠVP. pořadí početních operací, dělitelnost, společný dělitel a násobek, základní početní operace

Povrchy, objemy. Krychle = = = + =2 = 2 = 2 = 2 = 2 =( 2) + = ( 2) + = 2+ =3 = 3 = 3 = 3 = 3

DTP1. Matematická sazba. Matematická sazba. (příprava textu pomocí počítače) Kapitola 6 / Speciální sazba

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

DTP1. (příprava textu pomocí počítače) Kapitola 6 / Speciální sazba

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

XML versus TEX jemné porovnání. Martin Tůma 31. srpna 2004

WORD 2007 grafický manuál

CVIČNÝ TEST 12. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 19 IV. Záznamový list 21

Požadované dovednosti v ovládání textového procesoru Microsoft Word 2013 pro předměty VA1 a VT1

Obsahy. Trojúhelník = + + 2

Principy odstavcové sazby

Teorie sférické trigonometrie

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Využití Pythagorovy věty III

ANOTACE vytvořených/inovovaných materiálů

Lekce 01 Úvod do algoritmizace

Zobrazte si svazy a uspořádané množiny! Jan Outrata

NPRG030 Programování I, 2010/11

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý

VISUAL BASIC. Přehled témat

Slovní úlohy vedoucí na kvadratické rovnice

Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Kateřina Raichová. Materiál je publikován pod licencí Creative Commons.

CTUslides jednoduché slídy

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Trojúhelníky. a jejich různé středy. Součet vnitřních úhlů trojúhelníku = 180 neboli π radiánů.

Sazba zdrojových kódů (balíček listings)

Obsahy kurzů MS Office

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

FORMÁLNÍ NÁLEŽITOSTI PRÁCE TOMÁŠ LÁZNA ZÁŘÍ 2015

LaTeX Martin Popel, 28. března 2012, Odborné vyjadřování a styl

Inovace výuky prostřednictvím šablon pro SŠ

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

CZ 1.07/1.1.32/

Dokumentační systém MDef

Typografická příručka s přihlédnutím k TEXu

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Transkript:

Co by uživatel L A TEXu měl vědět o (Plain)TEXu Vladimír LUKEŠ Seminář NTC/KME Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 1 / 29

Přehled TEX sázecí systém Úskalí L A TEXu Jak TEX pracuje Shrnutí Literatura V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 2 / 29

Historie TEX sázecí systém, který naprogramoval v 70. letech 20. století profesor Donald Knuth v roce 1989 vydána verze 3.0, dále se pouze opravují chyby a provádějí drobné aktualizace aktuální verze: 3.1415926 (březen 2008) za nalezení chyby v programu odměna $327,68 dokumentovaný zdrojový kód T EXu uložen v jediném souboru tex.web, cca 1 MiB METAFONT systém pro návrh písem, aktuální verze 2.718 základní systém TEX pracuje s přibližně 300 příkazy (primitivy) rozšíření PlainTEX (Knuth) dalších cca 600 příkazů mnoho dalších rozšířeních A MSTEX, AMSL A TEX American Mathematical Society L ATEX Leslie Lamport ConT EXt http://en.wikipedia.org/wiki/tex, http://www.root.cz/clanky/tex-jako-jazyk/ V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 3 / 29

Proč se někomu může L A TEX nelíbit L A TEX byl původně napsán Lesliem Lamportem, dnes více verzí, např. L A TEX2.09, L A TEX2e, L A TEX3. Původní myšlenka byla vytvořit nadstavbu TEXu, která by odstínila složitost základního formátu. Některá úskalí L A TEXu: TEX nebyl primárně vytvořen pro nadstavby, není možné odstínit nižší úroveň a ošetřit chyby - není nic jako L A TEX error, vždy pouze TEX error Příklady z hlediska uživatele L A TEXu nesmyslné chování některých příkazů, např. \vspace, plovoucí objekty,... mnoho stylů, které se stále vyvíjí a mění nestálost verzí (nová verze každý půlrok) složitost a nepřehlednost maker L A TEXu, k zajištění univerzálnosti potřeba složitý kód, značný problém zjistit, jak konkrétní sazba probíhá, nelze jednoduše upravit dle přání uživatele V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 4 / 29

Proč se někomu může L A TEX nelíbit některé věci v L A TEXu komplikované: L A TEX PlainTEX a \frac{a}{b} {a \over b} b \left(\begin{array}{c} n\\k ( \end{array}\right) {n \choose k} n k) \setlength{\textwidth}{20cm} \hsize=20cm a + b = c [Eq 1 ] [Eq 2 ] a b = d PlainTEX: \eqno [{\rm Eq} 1] a \leqno [{\rm Eq} 2] L A TEX: nevím jak (jednoduše) v rámci samotného L A TEXu V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 5 / 29

Práce TEXu Input procesor načítá vstupní soubor a převádí různá kódovaní (např. znak pro konec řádku: UNIX=LF, DOS=CR+LF, APPLE=CR \endlinechar) Token procesor vytváří posloupnost tokenů = řídící sekvence nebo jednotlivé znaky {\it pokus ABC} { 1 it p 11 o 11 k 11 u 11 s 11 10 A 11 B 11 C 11 } 2 využívána změna kategorie znaku @, v souborech stylů a formátů kategorie 11 (písmeno), jinak kategorie 12 (ostatní znaky) makra s @ v názvu pro uživatele nepřístupná Expand procesor načítá tokeny a provádí případnou expanzi Hlavní procesor provádí hlavní řídící sekvence nebo sází jednotlivé znaky V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 6 / 29

Expand procesor TEX = makrojazyk postupné procházení souboru a pracovávání definic maker a jejich expanze. makro základní programovací struktura TEXu definice maker: \def\a{abc\b} \def\b{abc} \A expanze na ABC\B expanze na ABCabc \def\b{123} \A expanze na ABC\B expanze na ABC123 V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 7 / 29

Expand procesor definice maker s parametry: \def\sekce #1,#2,{% \bigskip\noindent{\bf \romannumeral #2\hskip5mm #1}% \par\nobreak}... \sekce Toto je název sekce, 23. Tato sekce \dots xxiii Toto je název sekce Tato sekce... V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 8 / 29

Expand procesor definice \def \edef \def při definici neprobíhá expanze \def\a {\the\pageno} \A makro s tělem \the\pageno \edef při definici probíhá expanze \edef\b {\the\pageno} \B makro s tělem 1 \def\celkem{} \def\naber #1 {\edef\celkem{\celkem #1}}... \naber Kočka \naber Leze \naber Dírou \celkem KočkaLezeDírou V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 9 / 29

Hlavní procesor hlavní procesor řídí vlastní činnost TEXu pracuje vždy v jednom z následujících módů: hlavní vertikální mód (stránka) vnitřní vertikální mód (\vbox) odstavcový horizontální mód (odstavec) vnitřní horizontální mód (\hbox) vnitřní matematický mód ($... $) display matematický mód ($$... $$) V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 10 / 29

Hlavní procesor vnitřní módy Vnitřní vertikální (\vbox) a horizontální mód (\hbox) \Vbox{ \Hbox{Text} \Vbox{\Hbox{abc\lower6.3pt\Vbox{\Hbox{123}\Hbox{xyz}}} \Hbox{ijk}}} Text 123 abc xyz ijk V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 11 / 29

Hlavní procesor boxy Boxy box základní prvek sazby; skupina znaků, řádek odstavce, odstavec, tabulka, stránka boxy se vkládají do horizontálních/vertikálních seznamů každý box má šířku, výšku, hloubku boxy se vkládají do sazby s ohledem na účaří (baseline), možno ovlivnit pomocí \raise a \lower V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 12 / 29

Hlavní procesor boxy \def\mojelogotexu{% T\kern-0.2em\lower0.8ex\hbox{E}\kern-0.2emX} \mojelogotexu T E X \def\obvod #1{\vbox{\hrule \hbox{\vrule #1\vrule}\hrule}} \obvod{toto je text} Toto je text V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 13 / 29

Hlavní procesor odstavcový mód Odstavcový mód zpracování horizontálního seznamu a rozlámání do jednotlivých řádek odstavce vstup do odstavcového módu z vertikálního módu: \indent, \noindent nebo sazba znaku sazba odstavce: vložení odstavcové zarážky (\parindent) otevření horizontálního seznamu expanze \everypar... ukončení odstavcového módu (\par) V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 14 / 29

Hlavní procesor odstavcový mód algoritmus řádkového zlomu několika-průchodový nevhodná místa zlomu penalizována \penalty10000 (\nobreak) absolutně nevhodný zlom \penalty-10000 (\break) vynucený zlom hledání globálního řešení optimalizačního problému na všech řádcích přihlédnuto k pravidlům a tabulce dělení slov, možno definovat výjimky pomocí \hyphenation např.: \hyphenation{arachno-fobie a da-lší ji-ná slo-va} využity pružné mezery V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 15 / 29

Hlavní procesor odstavcový mód Pružné mezery mezera pevná část + roztažení/stažení \hbox to \hsize{a\hskip 1cm plus 1fil B \hskip 2mm plus 3fil C} Příklady: \hskip 1cm \hskip 3mm plus.5mm \hskip 10pt plus 5pt minus 3pt \hskip 50pt plus 1.2fil \hfill = \hskip 0pt plus 1fill V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 16 / 29

Hlavní procesor odstavcový mód využití \everypar: \def\zvetsiznak#1{{\huge #1}} \everypar={\zvetsiznak} \parindent=0pt Obsah čtverce sestrojeného nad přeponou (nejdelší stranou) pravoúhlého rovinného trojúhelníka je roven součtu obsahů čtverců nad jeho odvěsnami (dvěma kratšími stranami). Věta zní: Obsah čtverce sestrojeného nad přeponou (nejdelší stranou) pravoúhlého rovinného trojúhelníka je roven součtu obsahů čtverců nad jeho odvěsnami (dvěma kratšími stranami). V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 17 / 29

Hlavní procesor odstavcový mód využití \par: \parindent=2em \def\par{\ifhmode~$\spadesuit$\fi\endgraf} Pythagorova věta popisuje vztah, který platí mezi délkami stran pravoúhlých trojúhelníků v rovině. Umožňuje dopočítat délku třetí strany takového trojúhelníka, pokud jsou známy délky dvou zbývajících stran. Věta zní: Obsah čtverce sestrojeného nad přeponou (nejdelší stranou) pravoúhlého rovinného trojúhelníka je roven součtu obsahů čtverců nad jeho odvěsnami (dvěma kratšími stranami). Formálně Pythagorovu větu vyjadřuje tato rovnice: a 2 + b 2 = c 2 V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 18 / 29

Hlavní procesor hlavní vertikální mód Hlavní vertikální mód zajišťuje se stejná vzdálenost účaří a řeší se kolize boxů (\lineskip, \baselineskip, \lineskiplimit) řádková osnova vložena počáteční mezera na stránce \topskip, algoritmus zajišťuje zahájení řádkové osnovy stránek ve stejné výšce vloženy mezery mezi odstavce \parskip kompletace stránky počítá cenu zlomu ve všech možných místech zlomu strany, najde nejlepší místo zlomu po nalezení místa zlomu vyvolán algoritmus uzavření strany vloží se záhlaví, zápatí, zvětšení čísla strany,... V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 19 / 29

Hlavní procesor matematický mód Matematický mód první průchod matematickým módem řeší logické uspořádání prvků, druhý průchod konvertuje obsah do horizontálního seznamu základním prvkem matematického seznamu je atom má tři části základ exponent index $ x^3$ základ x, exponent 2, index prázdný $ x j^{a+b^2}$ základ x, index j, exponent je seznam s atomy a, +, b různé typy atomů: operátor ( ), binární operátor ( ), relace ( ), závorky ( ), odmocnina ( x), atom s čarou nad (a + b), atom s čarou pod (a + b),... V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 20 / 29

Hlavní procesor matematický mód Textstyle a displaystyle \sum 0^\infty textstyle: $ $ displaystyle: $$ $$ 0 polohu indexů a exponentů možno ovlivnit pomocí \limits a \nolimits v textstyle a displaystyle použita jiná velikost symbolů 0 0 0 0 0 V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 21 / 29

Hlavní procesor matematický mód Textstyle, displaystyle, scriptstyle, scriptscriptstyle $ xyz + {a\over b} $ xyz + a b $ \displaystyle{xyz + {a\over b}} $ xyz + a b $ \scriptstyle{xyz + {a\over b}} $ xyz+ a b $ \scriptscriptstyle{xyz} $ xyz V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 22 / 29

Hlavní procesor matematický mód Vytvoření vlastního operátoru lze definovat vlastní operátory \mathop, \mathbin \def\limita{{\rm limita}} $$ \limita {x\to0} $$ limita x 0 \def\limita{\mathop{\rm limita}} $$ \limita {x\to0} $$ limita x 0 V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 23 / 29

Hlavní procesor matematický mód Vytvoření vlastního operátoru \def\ctver #1{\mathbin{% \mkern 2mu \vbox{\hrule\hbox to#1{\vrule height#1\hfil\vrule}\hrule}} \mkern 2mu} \def\ctverecek{\mathchoice {\ctver{5pt}} {\ctver{5pt}} {\ctver{3.5pt}} {\ctver{2.5pt}}} $$ \sum {j \ctverecek k} A \ctverecek B $$ A parametry \mathchoice: D, T, S, SS j k B V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 24 / 29

Shrnutí TEX velice propracovaný systém pro sazbu, automaticky řeší mnoho typografických požadavků velmi dobré algoritmy pro stránkový a řádkový zlom možnost ovlivnit téměř všechny parametry sazby TEX = programovací (makro)jazyk dostupno mnoho stylů a nadstaveb, např. AMSTEX, L A TEX, ConTEXt, TEX-XET orientální jazyky, interpret BASICu, sazba šachových partií, sazba not,... V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 25 / 29

Literatura Michael Boob. Jemný úvod do TEXu. CSTUG, Praha, 1993. Michel Goosens, Frank Mittelbach, Alexander Samarin: The L A TEX Companion. Addison-Wesley, 1994. Helmut Kopka, Patrick W. Daly: L A TEX Kompletní průvodce. Computer Press, 2004. Petr Olšák: Typografický systém TEX. CSTUG, Praha, 1995. Petr Olšák: TEXbook naruby. Konvoj, Brno, 2001. V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 26 / 29

L A TEX příklady V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 27 / 29

Příklad 1 \documentclass{article} \begin{document} \begin{tabular}{ c c } abc & 123 \\ xyz & 567 & 0 \end{tabular} \end{document}! Extra alignment tab has been changed to \cr. <recently read> \endtemplate l.7 xyz & 567 &? 0 V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 28 / 29

Příklad 2 $$ a^2 + b^2 = c^2, \qquad \mbox{obsah čtverce sestrojeného nad přeponou (nejdelší stranou) pravoúhlého rovinného trojúhelníka je roven součtu obsahů čtverců nad jeho odvěsnami (dvěma kratšími stranami).} $$ a 2 +b 2 = c 2, Obsah čtverce sestrojeného nad přeponou (nejdelší stranou) pravoú Overfull \hbox (423.36487pt too wide) detected at line 10 Zpět V. Lukeš (NTC, KME ZČU) 3. listopad 2009, Plzeň 29 / 29