IB102 LATEX nápověda Pozn.: Některé příkazy vyžadují externí balíčky, které najdete v poznámkách. Pokud ale budete používat šablonu ib102.cls, tak tam jsou balíčky již vloženy. Sazbu domácích úkolů můžete dělat na www.overleaf.com, kde najdete i obsáhlejší návod na LATEX. Základy LATEXu Odstavce a řádkování nový paragraf prázdný řádek zalomení řádku \\ zalomení strany \newpage Formátování textu tučně \textbf{text} kurzíva \textit{text} podtržení \underline{text} Výčty nečíslovaný výčet \begin{itemize} \item první položka \item druhá položka \end{itemize} číslovaný výčet \begin{enumerate} \item první položka \item druhá položka \end{enumerate} Obrázky vložení obrázku \includegraphics{ cesta k obrázku }1 Sazba matematiky Matematické módy matematika v textu $ matematika $ rovnice na řádek \[ rovnice \] Indexy horní index aˆn aˆ{n + m} dolní index a_n a_{n + m} Řecké znaky α β γ ρ σ δ ε Σ Γ \alpha \beta \gamma \rho \sigma \delta \eps2 \Sigma \Gamma Binární operátory × ⊗ ⊕ ∪ ∩ \times \otimes \oplus \cup \cap Logické operátory ∧ ∨ ¬ =⇒ ⇐⇒ \land \lor \lnot \implies \Longleftrightarrow Relační operátory ⊂ ⊃ ⊆ ⊇ \subset \supset \subseteq \supseteq Jazyky a abeceda {a, b, c} \set{a, b, c}3 ∅ \emptyset · \cdot co−{a} \co\set{a} {an bn | n ∈ N0} \set{ a^n b^n \mid n \in \mathbb{N}_0 } 1Vyžaduje balíček graphicx. Ostatní ∈ \in důkaz \begin{proof} ...\end{proof} N \mathbb{N} L \mathcal{L} w neobsahuje a w \text{ neobsahuje } a Sazba konečných automatů Příklad sazby konečného automatu: qε qa qab p a b b aa b a \begin{tikzpicture}[>=latex,>=stealth',auto,node distance=2cm,semithick,initial text=]→ \node[state,initial] (q) {$q_\varepsilon$}; \node[state] (qa) [right of = q] {$q_a$}; \node[state,accepting] (qab) [right of = qa] {$q_{ab}$};→ \node[state] (p) [below of = qa] {$p$}; \path[->, shorten >=1pt] (q) edge node {$a$} (qa) (qa) edge node {$b$} (qab) (q) edge node {$b$} (p) (p) edge [bend right] node {$a$} (qa) (qa) edge [bend right] node{$a$} (p) (p) edge node {$b$} (qab) (qab) edge [loop above] node {$a$} (qab) ; \end{tikzpicture} Automaty sázíme v prostředí tikzpicture – balíček TikZ a jeho knihovny calc, arrows, automata, positioning. Stavy automatu definujeme pomocí \node[atributy] (jméno) [pozice] {popisek}, kde počáteční stavy označíme pomocí atributu initial a akceptující stavy pomocí accepting. Pozici definujeme vůči již nadefinovanému stavu. Pozice může být right, left, above, below nebo jejich kombinace. Přechody automatu definujeme pomocí (poˇcáteˇcní stav) edge [zakˇrivení] node popisek (koncový stav). Definice přechodu začínáme pomocí \path a zakončujeme středníkem. Pro přechod do sebe sama musíme nastavit zakřivení na loop a směr, odkud má smyčka vycházet. 2Definováno v IB102 stylu, jinak \varepsilon. 3Definováno v IB102 stylu, jinak \{a, b, c\} 1 Tabulky a q0 (q0, , R) (q0, , R) (q0, a, L) qA (qA, , R) (qA, , R) (q0, a, L) \begin{tabular}{| c | c c c |} \hline & $\rhd$ & $\sqcup$ & $a$ \\ \hline $q_0$ & $(q_0, \rhd, R)$ & $(q_0, \sqcup, R)$ & $(q_0, a, L)$ \\→ $q_A$ & $(q_A, \rhd, R)$ & $(q_A, \sqcup, R)$ & $(q_0, a, L)$ \\→ \hline \end{tabular} Pro sazbu tabulek se využívá prostředí tabular, kterému definujete jako parametry počty sloupců a jejich zarovnání a případně oddělující čáry mezi sloupci. Z příkladu {| c | c c c |} popisuje 4 vycentrované sloupce. Místo c se může použít l nebo r pro zarovnání celého sloupce doleva nebo doprava. Příkaz \hline definuje horizontální čáru. Tabulku zapisujeme po řádcích tak, že jednotlivé buňky oddělujeme pomocí & a řádky pomocí dvou zpětných lomí- tek. Sazba gramatik P = {S → ε | A, A → a | aA | bA, B → b | aB | bB}. \begin{align*} P = \set{&S \rightarrow \varepsilon \mid A, \\ &A \rightarrow a \mid aA \mid bA, \\ &B \rightarrow b \mid aB \mid bB}. \end{align*} Prostředí align2 slouží pro zarovnání matematických výrazů podle operátorů. Zarovnává se v místě určeném &. Užitečné příklady (co−{b}+ · {ε}+ ) \ {b}+ $(\co{\set{ b }^+} \cdot \set{ \varepsilon }^+) \setminus \set{ b }^+$→ L = ai bj ck | i, j, k ≥ 0, pokud i = 1, pak j = k \[L = \left\{a^ib^jc^k \mid i,j,k \geq 0 \text{, pokud } i=1\text{, pak } j = k \right\}\]→ 2Nachází se v balíku amsmath. x = ak , y = al , z = an−k−l bn \begin{align*} x &= a^k, \\ y &= a^l, \\ z &= a^{n-k-l}b^n \end{align*} A = (Q, Σ, Γ, δ, qε, ⊥, {qacc}) \[ \mathcal{A} = (Q, \Sigma, \Gamma, \delta, q_\varepsilon, \bot, \set{q_{acc}} ) \]→ δ(qi, a, ⊥) = {(qi, A⊥)} δ(qi, a, A) = {(qi, AA)} \begin{align*} \delta(q_i, a, \bot) &= \set{ (q_i, A\bot) } \\ \delta(q_i, a, A) &= \set{ (q_i, AA) } \\ \end{align*} (q, automat, S) ε 1 (q, automat, XSY ) \[ (q, automat, S) \turnstile{\varepsilon}{1} (q, automat, XSY) \turnstile{}{} \]→ Kde vzít LATEX, jak ho editovat? Buď nainstalovat (na Linuxu z distribučního balíku, na Windows můžete nainstalovat například texlive z www.tug.org/texlive/acquire-netinstall.html), nebo používat www.overleaf.com. Pokud máte lokální instalaci, k editování můžete používat buď libovolný textový editor a překládat na příkazové řádce příkazem pdflatex, nebo můžete využít specializovaný editor, například Texmaker (www.xm1math.net/texmaker/index.html). Každopádně budete potřebovat mít soubor se šablonou (ib102.cls) ve stejné složce jako vaše řešení. V případě dotazů použijte příslušné diskusní fórum. 2