Tomáš Kalvoda, publikován 19. 12. 2015, editován 05. 10. 2021

V nových diskuzích na MARASTu lze sázet matematické symboly a výrazy pomocí syntaxe programu LaTeX/TeX. V tomto příspěvku stručně shrneme základní možnosti takovéto sazby.

Co je to $\LaTeX$?

Historie programu TeX pro digitální sazbu textu, nejen bohatého na matematické výrazy, započala v roce 1978. Autorem tohoto software je profesor matematiky Donald Knuth, který je známý také díky monografii The Art of Computer Programming.

Nad TeXem existuje mnoho nadstaveb, které přidávají další možnosti nebo se snaží uživateli usnadnit práci. Mezi těmito nadstavbami, v podstatě soubory maker, je asi nejznámější LaTeX. Poslední stabilní verze TeXu vyšla v lednu roku 2014 a má číslo 3.14159265. V dnešní době si sazbu matematicky bohatých článků nelze bez TeXu/LaTeXu představit.

TeX i LaTeX je dostupný pro všechny rozšířené operační systémy. K dispozici jsou následující "distribuce":

Na webu k sazbě LaTeXu slouží Javascriptová knihovna MathJax. Tuto knihovnu používáme i zde na MARASTu. Renderování matematických formulí neprobíhá u uživatele ale na CDN serverech MathJaxu. Knihovna nabízí řadu možností (zobrazení LaTeX kódu, změnu renderovacího "back-endu"). Stačí kliknout pravým tlačítkem na libovolnou matematickou formuli v prohlížeči a prohlédnout si možnosti v menu.

Na závěr tohoto úvodu upozorňujeme čtenáře, že tento text neslouží jako úvod do TeXu či LaTeXu, ale pouze jako úvod do jeho matematické notace s cílem umožnit čtenáři snadno psát komentáře obsahující matematické formule zde na MARASTu. Pokud se zaujatý čtenář chce dozvědět o LaTeXu více, doporučujume mu úvodní a přehlednou wikiknížku.

Základní matematická prostředí

Základními matematickými prostředími jsou řádkové rovnice (*inline equation*) a samostatné rovnice (*equation*). Od textu je odděluje symbol $ v případě řádkového prostředí, resp. \[ a \] v případě samostatné rovnice. Alternativně se často používá k oddělování matematických symbolů \( ... \), resp. $$ ... $$.

Dále v LaTeXu existuje celá řada dalších prostředí (nejen matematických) pro psaní například automaticky číslovaných rovnic, zarovnaných rovnic atp. Těmito prostředími se v tomto krátkém textu nebudeme zabývat.

Sčítání, násobení a dělení

Sčítání je přímočaré, výraz $4+a$ jednoduše zapíšeme tak, jak bychom očekávali, tedy $4+a$. Násobení v algebraických výrazech často není potřeba explicitně zvýrazňovat píšeme $3x$ (tj. $3x$), ale občas chceme násobení zdůraznit a pak můžeme použít příkaz \cdot, výraz $3 \cdot x$ zapíšeme jako $3 \cdot x$.

Zlomky zapisujeme pomocí příkazu \frac{}{}. První argument je pro čitatel, druhý pro jmenovatel. Příkaz můžeme řetězit dle libosti. Například složený zlomek $$ \frac{\frac{1}{a} + \frac{c}{3}}{\frac{b}{3}} $$ zapíšeme následovně:

\frac{\frac{1}{a} + \frac{c}{3}}{\frac{b}{3}}

Závorky

Závorky můžeme zapisovat jednoduše pomocí ( a ). Například $(a+b) \cdot c$ bylo vysázeno příkazem $(a+b) \cdot c$. Někdy je potřeba kontrolovat velikost závorek. K tomu můžeme použít příkazy

( \big( \Big( \bigg( \Bigg(

které budou mít za výsledek následující škálu závorek: $$ ( \big( \Big( \bigg( \Bigg( .$$ Uzavírací závorky příslušné velikosti se zapisují pomocí stejných příkazů.

Další možností je použít příkazy \left a \right, které automaticky nastaví velikost závorek (někdy ale ne tak, jak by uživatel chtěl). Například $$ \left( a + \frac{4 + \left( 1 + \frac{1}{2} \right)}{3} \right) $$ bylo vysázeno příkazem

\left( a + \frac{4 + \left( 1 + \frac{1}{2} \right)}{3} \right)

Složené závorky v LaTeXu označují bloky, tedy kód chápaný jako jeden "symbol". Proto pro vlastní složené závorky existuje speciální příkaz, kód $\{ \}$ má za výsledek $\{ \}$. Ostré závorky používané k označování uzavřených intervalů zapisujeme pomocí speciálních příkazů \langle a \rangle. Výsledkem je $\langle$ a $\rangle$. Hranaté závorky lze použít přímo. Velikost všech typů závorek lze kontrolovat pomocí výše uvedených příkazů. Například $\big\langle\Big\}$ se zobrazí jako $\big\langle\Big\}$.

Zde v diskuzích na MARASTu si musíme dávat pozor při sazbě složených závorek a psát je pomocí dvojitého lomítka, tedy \}, jinak nedojde k jejich vysázení kvůli Markdown parseru.

Horní a dolní indexy

Kde bychom byli bez horních a dolních indexů? K jejich zápisu se v LaTeXu používá stříška ^ (horní index) a podtržítko _ (dolní index). Například kód $$a_k = 2^k$$ bude mít za výsledek rovnici $$ a_k = 2^k. $$ Pokud index obsahuje více symbolů, je nutné celý výraz, který v indexu má být, označit jako blok. Výraz pro složenou funkci $$ 2^{\sin(\cos(x))} $$ zapíšeme následovně:

2^{\sin(\cos(x))}

Elementární funkce

Funkce jsou v LaTeXu sázeny neskoseným fontem, například sinus v rovnici uvidíme jako $\sin$, $\sin$. Porovnejte rozdíl s výrazem $sin$ ($sin$), který by byl zkušeným okem interpretován jako součin tří proměnných $s$, $i$ a $n$. Podobně jednoduše zapamatovatelné příkazy jako pro sinus existují i pro další známé elementární funkce: $\cos$ (\cos), $\ln$ (\ln), $\log$ (\log), $\exp$ (\exp), $\tan$ (\tan) a $\arctan$ (\arctan).

V českých krajích se k značení funkcí tangens a arkus tangens častěji používají zkratky $\mathrm{tg}$ a $\mathrm{arctg}$, které ručně vysázíme příkazy \mathrm{tg} a \mathrm{arctg}. Příkaz \mathrm{} vysází svůj argument v nezkoseném fontu (*math roman*).

Některé funkce mají speciální značení, například druhá odmocnina $\sqrt{3}$ se zapisuje pomocí příkazu \sqrt{3}. Trochu nekonzistentně můžeme pomocí nepovinného parametru udat i další odmocniny, například $k$-tou odmocninu: $\sqrt[k]{x}$ (\sqrt[k]{x}).

Součty a produkty

Symbol pro součet, sumu, sázíme příkazem \sum. Horní a dolní meze sumy zadáváme pomocí horního a dolního indexu. Například tedy součet prvních několika členů geometrické posloupnosti, $$ \sum_{k=1}^n q^k, $$ vytvoříme pomocí \sum_{k=1}^n q^k. Podobně produkty (součiny) sázíme pomocí příkazu \prod.

Množiny

Uveďme jen ty nejzákladnější operace, se kterými si ve většině případů vystačíme. Při práci s množinami se neobejdeme bez průniku $\cap$ (\cap), sjednocení $\cup$ (\cup) a rozdílu množin $\setminus$ (\setminus).

Dále máme symboly pro zápis podmnožin $\subset$ (\subset) a prázdnou množinu $\emptyset$ (\emptyset).

Základní číselné množiny se značí dvojitým fontem. Máme přirozená čísla $\mathbb{N}$ (\mathbb{N}), celá čísla $\mathbb{Z}$ (\mathbb{Z}), racionální čísla $\mathbb{Q}$ (\mathbb{Q}), reálná čísla $\mathbb{R}$ (\mathbb{R}) a komplexní čísla $\mathbb{C}$ (\mathbb{C}).

Logické symboly

K dispozici máme konjunkci $\wedge$ (\wedge), disjunkci $\vee$ (\vee) a celou řadu různorodých šipek, uveďme aspoň dvě nejdůležitější: pro implikaci $\Rightarrow$ (\Rightarrow) a ekvivalenci $\Leftrightarrow$ (\Leftrightarrow).

Matice a vektory

K zápisu matice lze použít prostředí pmatrix. V něm sloupce oddělujeme symboly & a řádky \\. Například výsledku \[ \begin{pmatrix} a & b & c \\ d & e & f \end{pmatrix} \] odpovídá kód

\begin{pmatrix}
  a & b & c \\
  d & e & f
\end{pmatrix}

Občas je potřeba oddělit matici soustavy a pravou stranu svislou čarou. K tomu lze buď modifikovat výše uvedené prostředí (to ale na webu úplně snadno nejde), nebo použít kombinaci prostředí array a vlastních závorek: Například výsledku \[ \left(\begin{array}{cc|c} a & b & c \\ d & e & f \end{array}\right) \] odpovídá kód

\left(\begin{array}{cc|c}
  a & b & c \\
  d & e & f
\end{array}\right)

Vektory lze přirozeně zapisovat v řádku $(1,2,3)$ pomocí (1,2,3), nebo jako jednosloupcové matice pomocí pmatrix.

Derivace a integrace

Derivaci funkce $f$ označujeme čárkou, tedy $f'$ (f'). Čárky můžeme opakovat, druhou derivaci $f''$ tedy zapíšeme jako f''. Z dříve uvedeného by už mělo být jasné, jak zapsat vyšší derivace: padesátou derivaci $f^{(50)}$ zapíšeme f^{(50)}.

Pro symbol integrálu slouží příkaz \int. Případné meze udáváme pomocí dolního a horního indexu. Například tedy $$ \int_0^\pi \sin(x) \,\mathrm{d}x $$ jsme zapsali

\int_0^\pi \sin(x) \,\mathrm{d}x

Symbol $\mathrm{d}$ je zvykem sázet neskoseným fontem (nejde o proměnnou) a oddělený od integrandu malou mezerou (příkaz \,).

Diskuze

Štěpán Starosta
Štěpán Starosta před téměř 9 roky

Jaké LaTeXové balíčky jsou dostupné? $\widehat{(\ddot\smile)}$


Tomáš Kalvoda
Tomáš Kalvoda před téměř 9 roky

MathJax podporuje různá "rozšíření". Například pro AMS symboly atp. Dají se případně povolit...