Typografie, počítačová sazba, LATEX Programování F1400 + F1400a podzimní semestr 2020 Maxwellovy rovnice Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Co každý tiskařský učeň zná Typografická jednotka: bod (pt) Didotův francouzský měrný systém: cicero = 12 Didot pt Didot pt = 1 12 cicero = 1 72 Fr.inch = 0,37594 mm 2660 Didot pt = 1 m Americký měrný systém a bod v TEXu: pica = 12 pt pt = 1 72,27 in = 0,35146 mm Měrný systém v DTP (Adobe v PostScriptu): DTP point = 1 72 in = 0,35278 mm Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Historie sazby, písma Historie písma: od 4. tis. př. n. l; hieroglyfy, klínové písmo, . . . ; kámen, hliněné destičky, . . . , papyrus, papír Psaní zleva doprava a zprava doleva; dříve též vertikálně Gutenberg – vynález knihtisku v roce 1448 Písma: latinka (anglická: 26 písmen, národní abecedy: česká a francouzská 42, německá 29, . . . ), řecká abeceda, azbuka, písmo arabské, hebrejské, čínské, japonské (3 systémy), . . . Speciální znaky a symboly: interpunkce, matematická sazba, fyzikální symboly, šachy, . . . Speciální abecedy: runy, fantasy a sci-fi literatura Krása a kvalita tisku: Ruční zápis a knihtisk (ruční či strojová sazba, mistři sazeči): dokonalé. Počítačová sazba a textové procesory – zpočátku katastrofa, nyní . . . ? Programování F1400 + F1400a Typografie, počítačová sazba, LATEX D. E. Knuth a TEX prof. Donald Ervin Knuth (*1938); MIT, Stanfordova univerzita Monografie The Art of Computer Programming (Umění programování), od roku 1962 1978: TEX: počítačový systém pro sazbu (nejen matematických) textů, který se kvalitou vyrovná profesionální ruční sazbě Neexistence počítačových písem (fontů) zdarma → program METAFONT a fonty Computer Modern 1982: programy přepsány, vznik série knih Computers & Typesetting A–E (The TEXbook, The METAFONTbook, . . . ) Literate programming – literární programování, zdrojový kód plus dokumentace Verze TEXu 3 → 3.14159265 → π, METAFONT 2.7182818 → e Programování F1400 + F1400a Typografie, počítačová sazba, LATEX TEX a LATEX Překladač (program, compiler) a jeho značkovací jazyk (markup language) s makry pro počítačovou sazbu plainTEX: základní makra TEXu LATEX (nyní označován LATEX2e): nadstavba maker pro pohodlnější zápis Ukázka kódu pro nejjednodušší dokument: TEX Hello, world! \bye LATEX \documentclass{article} \begin{document} Hello world! \end{document} Zdrojový kód dokumentu: hlavička (záhlaví) obsahuje definice stylů a maker a odkazy na předpřipravané knihovny, pak následuje vlastní text Poznámka: Dokumenty psané ve starším LATEXu (až do verze 2.09) začínají příkazem \documentstyle Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Překlad dokumentu v LATEXu – příkazová řádka, GUI V textovém editoru připravíme soubor se jménem např. hello.tex Převod tex → Device Independent → PostScript: Zadáme příkaz latex hello nebo latex hello.tex → vznikne hello.dvi (device independent), hello.aux (auxiliary, pomocný); hello.log (logovací) aj. dvi soubor můžeme prohlížet, tisknout nebo převést na postscriptový soubor dvips hello a ten tisknout nebo převést na pdf ps2pdf hello.ps hello.pdf Převod tex → PDF: Příkaz pdflatex hello nebo pdflatex hello.tex → vznikne hello.pdf a aux, log aj. soubory Usnadnění práce: Používáme více vhodně rozmístěných oken na monitoru (textový editor, příkazový řádek, prohlížeč) . . . anebo nějaké LaTeXové GUI (TexWorks, TexMaker, TexStudio, . . . ) WYSIWYG = What You See Is What You Get, versus WYSIWYNG = What You See Is What You Never Get, versus WYSIWYM = What You See Is What You Mean Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Kódování vícejazyčných dokumentů Nabodeníčka a pangramy: The quick brown fox jumps over a lazy dog. Příliš žluťoučký kůň úpěl ďábelské ódy. Portez ce vieux whisky au juge blond qui fume. Dès Noël où un zéphyr haï me vêt de glaçons würmiens je dîne d’exquis rôtis de bœuf au kir à l’aÿ d’âge mûr & cætera ! Jednobajtové kódování (encoding; cp = codepage): 7 bitů: ASCII tabulka 8 bitů: ISO Latin 1 (ISO 8859-1); ISO Latin 2 (ISO 8859-2), cp852 (DOS, OS/2, MSW DOS box), cp1250 (MSW) Vícebajtové kódování Unicode (UCS, The Universal Character Set): UTF-8, UTF-16, UTF-32 Linux, Mac OS X: celý systém je v Unicode; MSW: nutnost používat textové editory a aplikace, které Unicode umí TEX již od začátku umí nabodeníčka všech evropských jazyků: é: \’e, é: \‘e, ë: \"e, ě:\v e, ê: \ˆe, ı: \i, í: \’\i, ç: \c{c}, å: \aa, Å: \AA, ˙o: \.o, õ: \õ, ő: \H{o}, ø: \o, ł: \l, å: \aa, . . . Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Použití LATEXu – angličtina vs čeština O něco delší ukázka anglického textu: \documentclass[a4paper,10pt]{article} % 10pt, 11pt, 12pt \usepackage[margin=25mm]{geometry} % nastaveni tiskoveho zrcadla \begin{document} Hello world! \end{document} % cokoliv za timto prikazem bude ignorovano Ukázka českého textu: \documentclass[a4paper,11pt]{report} \usepackage[utf8x]{inputenc} % tento text je v kodovani UTF-8 \usepackage[T1]{fontenc} % kodovani znaku ve vyst. dokumentu \usepackage[czech]{babel} % text je psan cesky \usepackage[margin=20mm]{geometry} % \def\uv#1{\clqq#1\crqq} % pomucka pro ceske uvozovky \begin{document} Ahoj světe! Já jsem dokument napsaný v~\LaTeX{}u. Můžeme použít příkaz pro \uv{české uvozovky} nebo uvozovky „v~Unicode“, zatímco ‘‘English quotes’’ se vysází snadněji. \end{document} Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Použití LATEXu – rodina písem a její řezy a velikosti Řezy písma: Patkové (antikva), bezpatkové, kurzíva, skloněné, psací stroj. Tučná antikva, bezpatkově, kurzíva, skloněné. Velikosti písma: huge, LARGE, Large, large, normalsize, small, scriptsize, tiny A takhle se to zapíše: Normální {\bf tučný dlouhý text}, \textbf{tučné slovo} anebo taktéž {\it dlouhý text v kurzívě (italice)\/} anebo raději \textit{slovo v kurzívě s italickou korekcí} a tak dále, jako třeba \textsl{skloněné} nebo \texttt{psací stroj (typewriter)}. Můžete též použít \emph{zvýrazněné slovo (emphasize)}. Poznámka ke zkratkám: bf=bold face, it=italika, sl=slanted, tt=typewriter. {Pokud chcete měnit velikost písma, pak pomocí \huge huge, \LARGE LARGE, \Large Large, \large large, \normalsize normalsize, \small small, \scriptsize scriptsize, \tiny tiny.} Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Použití LATEXu – struktura dokumentu Pomineme-li záhlaví a begin+end document, pak vnitřek dokumentu může být: \tableofcontents % na tomto miste se vysazi obsah dokumentu \section{Úvod} \subsection{Pohádky pro malé děti} \label{kap-pohadky} Večer se pouští pohádky. Třeba Krteček, Bob a Bobek, Kluk z plakátu, Sazínek, Maxipes Fík, Mach a Šebestová. Před usnutím se povídají pohádky. Třeba o~dracích, o~bratrech na cestách, o~princeznách, o~čertech. \subsection{Pohádky pro velké děti} \label{kap-scifi} Nejoblíbenějšími jsou sci-fi, fantasy a horory. Vše v jednom obsahují večerní televizní noviny. \section{Závěr} Kapitoly \ref{kap-pohadky} a \ref{kap-scifi} na straně \pageref{kap-pohadky} obsahují stručný seznam pohádek pro malé i velké lidi. Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Použití LATEXu – výčtová prostředí (environments) Výčtová prostředí enumerate a itemize: \begin{enumerate} \begin{itemize} \item hruška jablko \item koláče frgály \item turistika lyžování \item kopaná nohejbal \item fyzika matika \item školka univerzita \end{enumerate} \end{itemize} Výčty se zvýrazněním první položky: \begin{description} \item[one] 1, abc \item[two] 2, def \item[three] 3, ghi \end{description} enumerate 1 hruška jablko 2 turistika lyžování 3 fyzika matika itemize koláče frgály kopaná nohejbal školka univerzita description one 1, abc two 2, def three 3, ghi Vnořením těchto prostředí do sebe docílíme vnořených odrážek. Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Použití LATEXu – prostředí pro zarovnání textu Prostředí pro zarovnání center, flushleft, flushright: \begin{center} Tady je nějaký text \\ který je občas odřádkován \\[1ex] i s nějakým \\[4mm] posunutím \end{center} flushleft Tady je nějaký text který je občas odřádkován i s nějakým posunutím center Tady je nějaký text který je občas odřádkován i s nějakým posunutím flushright Tady je nějaký text který je občas odřádkován i s nějakým posunutím Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Použití LATEXu – prostředí pro doslovný text Dlouhý doslovný text pomocí prostředí verbatim: zdroják \begin{verbatim} Tady je doslovný text znaky & plus + - * / \ % for (k=1; k<=5; k++) x = 2*k + 1; \end{verbatim} výsledek Tady je doslovný text znaky & plus + - * / \ % for (k=1; k<=5; k++) x = 2*k + 1; Krátký doslovný text lze psát jako \verb|k_1 = 3*j + 5%2| případně jako \texttt{file\_name\_1.txt} Balíček fancyvrb (tj. \usepackage{fancyvrb}): očíslování řádků a zarámování, např. \begin{Verbatim}[numbers=left,frame=single]...\end{Verbatim} Pro výpisy programů lze též použít balíček listings. Programování F1400 + F1400a Typografie, počítačová sazba, LATEX Tiskové zrcadlo Formát A4: 210 mm × 297 mm, další formáty škálované √ 2 Letter: 8,5 × 11 palců, tj. 215,9 × 279,4 mm (poměr 1,29) \usepackage[a4paper,margin=2cm]{geometry} \usepackage[a4paper,text={10cm,20cm},centering]{geometry} Přímá změna parametrů a tiskové zrcadlo: \textwidth=16cm \textheight=22cm \oddsidemargin=-0.54cm \evensidemargin=-0.54cm \topmargin=-1cm ... Pro schéma tiskového zrcadla: \usepackage{layout} ... \layout{} Programování F1400 + F1400a Typografie, počítačová sazba, LATEX