NMSA230 - Softwarové prostředky
pro matematiku a stochastiku

Zimný semester 2017/2018 | Cvičenie 3 | Ut 20/11/18



Program tretieho cvičenia NMSA 230
  • Oboznámiť sa s TeX-om a LaTeX-om a osvojiť si základný princíp ich fungovania a vytvárania jednoduchých dokumentov.
  • Oboznámiť sa so základnými nástrojmi (preddefinované makrá), ktoré sú v LaTeX-u určené špecíálne k sádzaniu a formátovaniu jednoduchých aj komplexných dokumentov s obsahom štrukturovaného a netrivialného matematického textu.
  • Oboznámiť sa s niektorými užitočnými nástrojmi potrebnými k štandardnej estetickej úprave pripravovaného dokumentu.


LaTeX | Stručný úvod a základy


Všeobecné informácie
  • LaTeX je komplexný systém určený k príprave a tvorbe dokumentov, ktoré vyžadujú netriviálnu sadzbu väčšinou zložitého a komplexného textu. Z tohto dôvodu sa najčastejšie využíva pri tvorbe rozsiahlejších dokumentov technického, resp. vedeckého zamerania.
    Bez akýchkovek problémov ale zvládne aj jednoduchý, trviálný text.
  • LaTeX je sofistikované, ale tzv. “user-friendly” rozšírenie programu TeX, ktorého autorom je bývalý profesor Stanford University, Donald Knuth. Okrem samotného nástroja na sádzanie textu (TeX-u), ponúka LaTeX aj rôzne rozšírenia a makra, ktoré slúžia k zjednodušeniu práce pri tvorbe konkrétnych dokumentov.
  • LaTeX nie je textový editor, je to efektívný nástroj na priamu sadzbu textu: ponúka množstvo rôzných funkcií pre plnohodnotnú prípravu dokumentov rôzneho technického, vedeckého ale aj neodborného, resp. všeobecného zamerania.
  • Existuje množstvo rôznych distribúcii TeX-u: TeX Live, MiKTeX, MacTeX, TeXworks, a ďalšie.
  • Pre plnohodnotnú prácu s LaTeX-om je potrebný editor, v ktorom je potrebné dokument pripraviť. Podobne ako TeX-ových distribúcii, aj LaTeX-ových editorov je na výber niekoľko : TeX Maker, TeX Studio, TeXnic Center, WinEdt, TeXworks, WinEdt a mnohé ďalšie.
  • Pre užívateľov je k dispozícii široká technická podpora, rôzne online diskusie a fóra. Najzámejšie združenia uživateľov LaTeX-u sú TUG | TeX Users Group a CSTUG | Československé sdružení uživatelů TeX/u.
Donald Ervin Knuth (1938)

Užitočné materiály pre prácu s LaTeX-om
  • Tobias Oetiker a kol.: Ne příliš stručný úvod do systému LaTeX 2ε. (PDF súbor)
  • Kolektív AF UPOL: Drsný úvod do LaTeX-u. (PDF súbor)
  • Warbrick, J.: Essential LaTeX ++ (PDF súbor)

  • Olšák, P.: Typografický systém TeX, Konvoj, 1995.
  • Knuth, D.: Computer and Typesetting Series, Vol. A: The TeX Book, Addison Wesley, 1986.
  • Knuth, D.: Computer and Typesetting Series, Vol. B: TeX The Program, Addison Wesley, 1986.


1. Vytváranie jednoduchých dokumentov

Dokument pripravený v LaTeX-u ma dve hlavné časti: preambulu a samotné telo dokumentu. V preambule sa špecifikuje konkrétny typ dokumentu, ktorý bude následovať (napr. article, report, book, letter, minimal, slides, beamer atď.). V preambule sú tiež uvedené potrebné nastavenia, ktoré ovplivňujú celkový vzhľad vypracovaného dokumentu (napr. jazykové kódovanie, formátovanie stránky, typ stránkovania a pod.), deklarujú sa tu rôzné parametre, uživateľsky definované príkazy, a mnoho ďalších nastavení.

Začiatok každého LaTeX-ového dokumentu (preambuly) začína príkazom:

\documentclass[options]{class}

V hranatých zátvorkach sú uvedené nastavenia ako veľkosť písma (10pt, 12pt, …), typ stránky (a4paper, a5paper, b5paper, letterpaper, …), spôsob stránkovania (oneside, twoside), orientácia stránky (landscape, portrait) a niekoľko ďalších. V zložených zátvorkách je uvedený typ dokumentu (napr. article, report, book, letter, minimal, slides, beamer atď.).

Zvolený typ konkrétneho dokumentu následne umožuje používanie rôzných preddefinovaných makier. Napr. použitie typu book umožnuje definovať (používať) kapitoly alebo podkapitoly. Tomu zodpovedá aj príslušne čislovanie strán, kapitol, podkapitol, a podobne.

Konkrétne nastavenie môže vyzerať napr. takto:

\documentclass[a4paper, twoside, 10pt]{article}

Za príkazom \documentclass{} následuje preambula, teda zoznam potrebných nastavení a dodatočných rozšírení (tzv. packages). Dôležité je najmä jazykové nastavenie, ktoré umožni používať českú/slovenskú diakritiku, alebo nastavenie príslušného kódovania (najbežnejším a asi aj najviac doporučeným kódovaním je UTF8).

\usepackage[czech]{babel}
\usepackage[utf8]{inputenc}

Vyššie uvedené deklaruje, že bude nasledovať český text v kódovani UTF8. Nastavenie jazyka je dôležité hlavne preto, aby LaTeX použil správnu knižnicu slov, čo umožní napr. správne delenie slov na konci riadkov, formátovanie textu, či správny tvar úvodzoviek. V prípade vytvárania slovenského textu je možne zvolit príslušný parameter s hodnotou slovak. Detaultné nastavenie (t.j. dokument bez uvedeného jazyka) je angličtina, t.j. hodnota parametru english.

Potrebné balíčky sa inicializujú príkazom \usepackage{} - napr. nástroje potrebné na písanie korektného a estetického matematického textu sú obsiahnuté v balíčkoch amsmath a amsfonts a načítame ich pomocou dvojice príkazov spoločne pomocou príkazu:

\usepackage{amsmath}
\usepackage{amsfonts}

alebo aj spoločne, pomocou jedného príkazu v tvare

\usepackage{amsmath, amsfonts}



Do preambuly je možné uviesť aj komplexnejšie nastavenia (definícia a zmena počiatočných hodnôt rôznych počítadiel - napr. počítadlo, ktoré čísluje strany, obrázky, tabuľky a pod.), alebo definovať vlastné príkazy (resp. modifikovať už príkazy existujúce).

Preambula končí príkazom \begin{document}, ktorý zároveň definuje začiatok druhej časti LaTeX-ového dokumentu - samotného obsahu vytváraného dokumentu. Koniec druhej časti a taktiež celkový záver vytvaraného
dokumentu je označený príkazom \end{document}. Čokoľvek, čo následuje za týmto príkazom, je pri spracovaní dokumentu (kompilácii) LaTeX-om ignorované.

\begin{document}
...
... text dokumentu
...
\end{document}



V LaTeX je k dispozícii obrovské množstvo dodatočných baličkov (packages), ktoré je možne pri vytváraní dokumentu využívať. každý využívaný balíček je ale potrebné explicitne špecifikovať v preambule dokumentu. Jednotlivé balíčky možu slúžiť k formátovnaniu textu (napr. geometry), k práci s obrázkami a grafmi (napr. graphics, subfigure), alebo tabulkami (napr. subfloat).

Podrobný zoznam LaTeXových balíčkov je na adrese: https://ctan.org/pkg?lang=en



Užitočné





2. Formátovanie matematického textu

Matematické výrazy sa v LaTeX-u vkládajú do vhodného prostredia - konkrétne špecifikovanej časti textu, ktorá je definovaná konkretnou dvojicou príkazov. K dispozícii je niekoľko základných prostredí, napr:

\begin{displaymath}
...
\end{displaymath}
\begin{equation}
...
\end{equation}
\begin{equation*}
...
\end{equation*}
\begin{align}
...
\end{align}
\begin{align*}
...
\end{align*}

A mnoho iných prostredí, ku ktorým môže užívateľ definovať vlastné prostredia. V samotnom texte je možné krátke matematické výrazy uviesť aj v prostredí, ktoré je vymedzené pomocou párových znakov $ alebo $$.

Napr., nasledujúci príkaz vygeneruje v LaTeX-u předpis pre hustotu rozdelenia náhodnej veličiny s príslušnými parametrami strednej hodnoty \(\mu\) a rozptylu \(\sigma^2\)

\begin{displaymath}
f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{\frac{-(x - \mu)^2}{2\sigma^2}\right\}
\end{displaymath}

Vo finálnom (skompilovanom) PDF dokumente sa namiesto zdrojového kodu objaví nasledujúci tvar hustoty:

\(f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{\frac{-(x - \mu)^2}{2\sigma^2}\right\}\).



Užitočné


V LaTeX-u je defaultne naprogramovaných množstvo užitočných príkazov, ktoré sú potrebné pri plnohodnotnej formulácii matematického textu. Jednotlivé príkazy sú často intuitivné a ich použitie v texte je priamočiare.

Pomerne rozsiahlý a viac-menej celkom komplexný zoznam rôznych matematických funkcii v LaTeX-u: Special Symbols in LaTeX

Stručna ukážka:

  • Grécke písmena: \(\alpha\), \(\beta\), \(\gamma\), \(\rho\), \(\sigma\), \(\delta\), \(\epsilon\) a ďalšie …

    \alpha \beta \gamma \rho \sigma \delta \epsilon
    
  • Binárne operátory: \(+\), \(-\), \(*\), \(/\), \(\times\), \(\otimes\), \(\oplus\), \(\cup\), \(\cap\) a ďalšie …

    + - * / \times \otimes \oplus \cup \cap
    
  • Množinové/relačné operátory: \(<\), \(>\), \(\leq\), \(\geq\), \(\subset\), \(\supset\), \(\subseteq\), \(\supseteq\) a ďalšie …

    < > \leq \geq \subset \supset \subseteq \supseteq
    
  • Operátory a funkcie: \(\int\), \(\oint\), \(\sum\), \(\prod\), \(\log\), \(\exp\) a ďalšie …

    \int \oint \sum \prod \log \exp
    
  • Šípky a zátvorky: \(\leftarrow\), \(\Leftarrow\), \(\Longleftarrow\), \(\leftrightarrow\), \(\big[\), \(\big]\), \(\Big[\), \(\Big]\), \(\{\), \(\}\) a ďalšie …

    \leftarrow \Leftarrow \Longleftarrow \leftrightarrow \big[ \big] \Big[ \Big] \{ \}
    



  • Komplexnejšie matematické rovnice je nutné sádzať v LaTeX-u s patričným rozmyslením a využívať k tomu hlavne prostredie \begin{align} \end{align}, alebo \begin{array} \end{array} (prípadne ich hviezdičkové varianty). Pre prechod do nového riadku a formátovanie vrámci riadku je možné používať príkazy \\', '\\[2cm]\\, \newline, \vskip1cm, \hskip1cm, \quad, \qquad, alebo znak & (pozri príslušný help k daným príkazom).



Domáca úloha

(Deadline: 4. cvičenie | Po: 03.12.2018)

Pomocou LaTeX-u vytvorte jednoduchý PDF súbor (dokument), ktorý bude obsahovať:

  • titulnú stránu s vaším menom a priezvisko, vaše študentské číslo (ISIC karta), alebo dátum narodenia a tiež názov datového súboru, ktorý ste si zvolili k vypracovaniu zadania prvej a druhej domácej úlohy;
  • samostatnú časť/kapitolu/sekciu so stručným popisom vami zvoleného datového súboru (zoznam sledovaných premenných, jejich popis a interpretace);
  • samostatnú časť/kapitolu/sekciu, ktorá bude obsahovať základné popisné štatistiky/charakteristiky, ktoré ste v danom datovom súbore pro jednotlivé proměnné spočítali;
  • samostatnú časť/kapitolu/sekciu, v ktorej pomocou matematických výrazov vyjadrite, ako sa uvedené popisné štatistiky formálne počítajú (formulovanie a formátovanie matematického textu v LaTeX-u);

Výsledný PDF súbor nie je momentálne nutné zasielať na emial cvičiaceho. Na záver semestru odošlete a na jeho základe Vám bude udelený zápočet.