%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Math typesetting with LaTeX % $Id: math.tex 182 2008-11-04 09:43:36Z oetiker $ % % Changes by Stefan M. Moser: 2008/10/22 % % -Section 2: "Single Equations": added comment about preference of % equation* over \[ % -Replaced (almost) all examples with \[ by equation* % -New section 4: "Single Equations that are Too Long: multline" % -New section 5: "Multiple Equations" % -Section 6: "Arrays and Matrices": made a full section and added % some material % -Section 9: "Theorems, Lemmas, ...": added a subsection about proofs % with new material % % Other Changes: % -in lshort.sty: % *example environment adapted: changed in three places % \textwidth by \linewidth. This is necessary for % example-environment within a itemize-list. % *added \RequirePackage[retainorgcmds]{IEEEtrantools} % % THINGS TO DO: % -adapt typesetting of new sections to rest of lshort, including all % the usual commands used so far. In particular, I guess we have to % get rid of the \verb-commands everywhere % -include index-commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Sazba matematických vzorců} \begin{intro} Jsme už připraveni, abychom v~této kapitole mohli předvést hlavní sílu \TeX u: matematickou sazbu. Ale upozorňuji, že nepůjdeme příliš do hloubky. Věci vysvětlené v~této kapitole vám sice většinou budou stačit, ale je možné, že nevyřeší některé konkrétní věci, které byste s~matematickou sazbou potřebovali udělat. Je ale velmi pravděpodobné, že váš problém řeší \AmS-\LaTeX. \end{intro} \section{Kolekce \texorpdfstring{\AmS}{AMS}-\LaTeX{}} Chcete-li sázet (pokročilou) \index{matematika}matematiku, měli byste použít \AmS-\LaTeX{}. \AmS-\LaTeX{} je kolekcí balíků a~tříd pro matematickou sazbu, z~nichž my zde většinou budeme používat balík \pai{amsmath}. \AmS-\LaTeX{} je spravován \emph{\index{Americká matematická společnost}Americkou matematickou společností} a~je široce používán pro sazbu matematiky. Samotný \LaTeX{} sice poskytuje některé základní rysy a~prostředí pro sazbu matematiky, ale jsou omezené (nebo naopak: \AmS-\LaTeX{} je \emph{neomezený}) a~v~některých případech nekonzistentní. \AmS-\LaTeX{} je součástí vyžadované distribuce a~skutečně je obsažen ve všech současných \LaTeX ových distribucích.\footnote{Pokud ve vaší distribuci chybí, obraťte se na \CTANalt|tex-archive/macros/latex/required/amslatex|.} V~této kapitole budeme vždy předpokládat, že \pai{amsmath} byl nahrán v~preambuli vašeho dokumentu (pomocí \verb|\usepackage{amsmath}|). \section{Jednoduché rovnice} Jsou dvě možnosti, jak sázet matematické \wi{vzorce}: v~rámci textu odstavce (\emph{\wi{styl text}}), nebo na samostatném řádku (\textit{\wi{styl display}}). \index{vzorce}Vzorce v~\emph{textovém stylu} uvádíme mezi \index{$@\texttt{\$}} %$ znaky \texttt{\$} a~\texttt{\$}: \begin{example} Sečti $a$ na druhou a~$b$ na druhou a~získej tak $c$ na druhou. Nebo, matematicky řečeno: $a^2 + b^2 = c^2$. \end{example} \begin{example} \TeX{} se vyslovuje jako $\tau\varepsilon\chi$.\\[5pt] 100~m$^{3}$ vody.\\[5pt] Toto vychází z~mého $\heartsuit$. \end{example} Chcete-li, aby vaše větší rovnice byly vysázeny odděleně od zbytku odstavce, je lepší zobrazit je ve stylu display spíš než \uv{rozsekat} kvůli nim odstavec. Toho dosáhnete tím, že tyto rovnice uvedete mezi \verb|\begin{|\ei{equation}\verb|}| a~\verb|\end{equation}|.% \footnote{Jedná se o~příkaz definovaný v~\textsf{amsmath}. Pokud byste náhodou k~tomuto balíku neměli přístup, můžete místo něj použít \LaTeX ové prostředí \ei{displaymath}.} Nyní si můžete označit (\ci{label}) číslo rovnice a~odkázat se na ně v~jiném místě textu pomocí příkazu \ci{eqref}. Chcete-li rovnici pojmenovat explicitně, můžete místo \ci{label} použít \ci{tag} (\ci{tag} ale nemůžete kombinovat s~\ci{eqref}). \begin{example} Sečti $a$ na druhou a~$b$ na druhou a~získej tak $c$ na druhou. Nebo, matematicky řečeno: \begin{equation} a^2 + b^2 = c^2 \end{equation} Einstein říká, že \begin{equation} E = mc^2 \label{clever} \end{equation} Nikdy ale neřekl, že \begin{equation} 1 + 1 = 3 \tag{lež} \end{equation} Toto je odkaz na \eqref{clever}. \end{example} Nechete-li, aby \LaTeX{} rovnice čísloval, použijte \uv{hvězdičkovanou} verzi příkazu, \ei{equation*}, nebo ještě jednodušeji, uveďte rovnici mezi \ci{[} a~\ci{]}:\footnote{\index{equation!\textsf{amsmath}} \index{equation!\LaTeX{}}Opět se jedná o~definice z~\textsf{amsmath}. Pokud tento balík nemáte k~dispozici, použijte místo něj \LaTeX ové prostředí \texttt{equation}. Stejná jména příkazů objevující se jak v~\textsf{amsmath} tak v~\LaTeX u trochu matou, ale zase takový problém to není, protože každý stejně používá \textsf{amsmath}. Obyčejně je nejlepší nahrát tento balík hned na začátku dokumentu, protože když se rozhodnete přidat ho až později, může \LaTeX ová sazba nečíslovaných \texttt{rovnic} kolidovat s~\AmS-\LaTeX ovou sazbou číslovaných \texttt{rovnic}.} \begin{example} Sečti $a$ na druhou a~$b$ na druhou a~získej tak $c$ na druhou. Nebo, matematicky řečeno: \begin{equation*} a^2 + b^2 = c^2 \end{equation*} nebo to samé stručněji: \[ a^2 + b^2 = c^2 \] \end{example} Pokud ale váš dokument obsahuje mnoho rovnic a~budete je všechny sázet pomocí \ci{[} a~\ci{]}, \LaTeX ový zdrojový kód vašeho dokumentu bude nepřehledný. Proto v~takovém případě doporučujeme používat \ei{equation}, resp. \ei{equation*}. Všimněte si, jak se liší styl sazby rovnic v~\index{styl text}textovém stylu a~ve \index{styl display}stylu display: \begin{example} Toto je textový styl: $\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}$. A~toto je styl display: \begin{equation} \lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6} \end{equation} \end{example} Vysoké nebo hluboké matematické vzorce v~textovém stylu uzavírejte do \ci{smash}. \LaTeX{} pak bude ignorovat výšku a~hloubku těchto výrazů a~rovnoměrné řádkování dokumentu zůstane zachováno. \begin{example} Matematický vzorec $d_{o_{l_u}}$ následovaný vzorcem $n^{a^{h^{o^{r^u}}}}$. Naproti tomu \uv{smashed} výraz \smash{$d_{o_{l_u}}$} následovaný výrazem \smash{$n^{a^{h^{o^{r^u}}}}$}. \end{example} \subsection{Matematický mód} Rozdíly jsou i~mezi \emph{\index{matematický mód}matematickým módem} a~\emph{\index{textový mód}textovým módem}. V~\emph{matematickém módu} např.: \begin{enumerate} \item \index{mezery!v matemetickém módu} Většina mezer a~řádkových zlomů nemá žádný efekt, protože všechny mezery jsou odvozeny z~matematických výrazů nebo je třeba je uvést pomocí speciálních příkazů, např. \ci{,}, \ci{quad} nebo \ci{qquad} (k~tomuto se ještě vrátíme, v~sekci~\ref{sec:math-spacing}). \item Nejsou povoleny prázdné řádky. Na vzorec připadá jen jeden odstavec. \item Každé písmeno je považováno za jméno proměnné a~jako takové je vysázeno. Chcete-li uvnitř vzorce vysázet normální text (normální vzpřímený font a~normální mezerování), musíte ho uvést pomocí příkazu \verb|\text{...}|, viz také sekci \ref{sec:fontsz} na straně \pageref{sec:fontsz}. \end{enumerate} \begin{example} $\forall x \in \mathbf{R}: \qquad x^{2} \geq 0$ \end{example} \begin{example} $x^{2} \geq 0\qquad \text{for all }x\in\mathbf{R}$ \end{example} Matematici jsou někdy velmi úzkostliví ohledně toho, které symboly jsou použity: podle konvencí by bylo správné použít font \wi{Blackboard Bold}, \index{tučné symboly} pomocí \ci{mathbb} z~balíku \pai{amssymb}.\footnote{Balíček \pai{amssymb} není součástí kolekce \AmS-\LaTeX, ale přesto je pravděpodobné, že je přítomen ve vaší \LaTeX ové distribuci. Pokud přítomen není, můžete ho získat na \texttt{CTAN:/fonts/amsfonts/latex/}. } \ifx\mathbb\undefined\else Předchozí příklad tedy můžeme vylepšit do následující formy: \begin{example} $x^{2} \geq 0\qquad \text{for all } x \in \mathbb{R}$ \end{example} \fi Více matematických fontů je uvedeno v~tabulce~\ref{mathalpha} na straně~\pageref{mathalpha} a~v~tabulce~\ref{mathfonts} na straně~\pageref{mathfonts}. \section{Stavební bloky matematických vzorců} V~této sekci popíšeme nejdůležitější příkazy použité v~matematické sazbě. Většina z~nich nevyžaduje \textsf{amsmath} (na výjimky upozorníme), ale nahrajte tento balík do svého dokumentu i~tak. \textbf{Malá \wi{řecká písmena}} se vkládají jako \verb|\alpha|, \verb|\beta|, \verb|\gamma|, \ldots, velká písmena pak jako \verb|\Gamma|, \verb|\Delta|, \ldots\footnote{Speciální vkládání velkého Alpha, Beta a~jiných není v~\LaTeXe{} definováno, protože tato písmena vypadají stejně jako normální latinkové A, B, atd. Po zavedení nového matematického kódování zde dojde ke změně.} Seznam řeckých písmen je uveden v~tabulce~\ref{greekletters} na straně~\pageref{greekletters}. \begin{example} $\lambda,\xi,\pi,\theta, \mu,\Phi,\Omega,\Delta$ \end{example} \textbf{Exponenty a~indexy} lze vytvořit pomocí\index{exponent}\index{index} znaků \verb|^|\index{^@{\me\char'136}} a~\verb|_|\index{_@{\me\char'137}}. Většina příkazů matematického módu se vztahuje jen na následující znak, takže pokud chcete, aby měl příkaz platnost na více znaků, musíte tyto znaky seskupit pomocí složených závorek: \verb|{...}|. Mnoho dalších binárních relací, např. $\subseteq$ a~$\perp$, je uvedeno v~tabulce~\ref{binaryrel} na straně \pageref{binaryrel}. \begin{example} $p^3_{ij} \qquad m_\text{Knuth} \\[5pt] a^x+y \neq a^{x+y}\qquad e^{x^2} \neq {e^x}^2$ \end{example} Znak pro \textbf{\index{odmocnina}odmocninu} vložíme pomocí \ci{sqrt}; $n$-tou odmocninu získáme pomocí \verb|\sqrt[|$n$\verb|]|. Velikost symbolu odmocniny určí \LaTeX{} automaticky. Pokud chceme použít tento symbol samotný, můžeme psát \verb|\surd|. Další druhy šipek, např. $\hookrightarrow$ a~$\rightleftharpoons$, jsou uvedeny v~tabulce~\ref{tab:arrows} na straně~\pageref{tab:arrows}. \begin{example} $\sqrt{x} \Leftrightarrow x^{1/2} \quad \sqrt[3]{2} \quad \sqrt{x^{2} + \sqrt{y}} \quad \surd[x^2 + y^2]$ \end{example} \index{tečky!tři} \index{vertikální!tečky} \index{horizontální!tečky} Operaci násobení většinou explicitně vyznačujeme jen v~případě, že zpře\-hlední vzorec (ve kterém se násobení nachází). Místo obyčejné tečky bychom pro násobení měli použít příkaz \ci{cdot}, který vysází jednu vycentrovanou tečku. Příkaz \ci{cdots} vysází tři vycentrované tečky a~\ci{ldots} také tři vycentrované tečky, ale umístěné na účaří. K~dispozici máte také \ci{vdots} pro vertikální a~\ci{ddots} pro \wi{diagonální tečky}. \begin{example} $\Psi = v_1 \cdot v_2 \cdot \ldots \qquad n! = 1 \cdot 2 \cdots (n-1) \cdot n$ \end{example} Další příklad je uveden v~sekci~\ref{sec:arraymat} Příkazy \ci{overline} a~\ci{underline} vytvoří \textbf{horizontální linky} přímo nad, resp. pod výrazem: \index{horizontální!linka} \index{linka!horizontální} \begin{example} $0{,}\overline{3} = \underline{\underline{1/3}}$ \end{example} Dlouhé \textbf{horizontální svorky} nad a~pod výrazem vytvoříme pomocí příkazů \ci{overbrace}, resp. \ci{underbrace}: \index{horizontální!svorka} \index{svorka!horizontální} \begin{example} $\underbrace{\overbrace{a+b+c}^6 \cdot \overbrace{d+e+f}^9} _\text{smysl života} = 42$ \end{example} \index{matematické!akcenty} Pro přidání matematických akcentů (např. \textbf{malých šipek} nebo \textbf{\index{tilda}tildy}) ke jménům proměnných se hodí příkazy uvedené v~tabulce~\ref{mathacc} na straně~\pageref{mathacc}. % Svorky a~tildy pokrývající několik znaků se vygenerují pomocí \ci{widetilde} a~\ci{widehat}. Všimněte si rozdílu mezi \ci{hat} a~\ci{widehat} a~umístění \ci{bar} u~proměnné s~indexem. Znakem \wi{apostrof} \verb|'|\index{'@{\me\char'047}} získáme \index{derivace}derivaci: % a dash is -- \begin{example} $f(x) = x^2 \qquad f'(x) = 2x \qquad f''(x) = 2\\[5pt] \hat{XY} \quad \widehat{XY} \quad \bar{x_0} \quad \bar{x}_0$ \end{example} \textbf{Vektory}\index{vektory} často specifikujeme přidáním malých \index{šipka}šipek nad jména proměnných pomocí příkazu \ci{vec}. Příkazy \ci{overrightarrow} a~\ci{overleftarrow} jsou užitečné pro vyznačení vektoru z~$A$ do $B$: \begin{example} $\vec{a} \qquad \vec{AB} \qquad \overrightarrow{AB}$ \end{example} Jména funkcí jako \texttt{log} se často sází vzpřímeným písmem (tedy ne italikou, která je v~matematickém módu používána implicitně), \LaTeX{} proto nabízí následující příkazy, kterými můžete vysázet názvy nejčastěji používaných funkcí: \index{matematické!funkce} \begin{tabular}{llllll} \ci{arccos} & \ci{cos} & \ci{csc} & \ci{exp} & \ci{ker} & \ci{limsup} \\ \ci{arcsin} & \ci{cosh} & \ci{deg} & \ci{gcd} & \ci{lg} & \ci{ln} \\ \ci{arctan} & \ci{cot} & \ci{det} & \ci{hom} & \ci{lim} & \ci{log} \\ \ci{arg} & \ci{coth} & \ci{dim} & \ci{inf} & \ci{liminf} & \ci{max} \\ \ci{sinh} & \ci{sup} & \ci{tan} & \ci{tanh}& \ci{min} & \ci{Pr} \\ \ci{sec} & \ci{sin} \\ \end{tabular} \begin{example} \begin{equation*} \lim_{x \rightarrow 0} \frac{\sin x}{x}=1 \end{equation*} \end{example} Pro funkce, které v~seznamu nejsou uvedeny, je potřeba použít příkaz \ci{DeclareMathOperator}. Tento příkaz má i~hvězdičkovanou verzi pro funkce s~limitami. \ci{DeclareMathOperator} funguje jen v~preambuli dokumentu, zakomentované řádky v~následujícím příkladu je tedy potřeba uvést tam. \begin{example} %\DeclareMathOperator % {\argh}{argh} %\DeclareMathOperator % *{\nut}{Nut} \begin{equation*} 3\argh = 2\nut_{x=1} \end{equation*} \end{example} \index{funkce modulo}Funkci modulo můžete vysázet buď příkazem \ci{bmod} (binární operátor \uv{$a \bmod b$}) nebo příkazem \ci{pmod} (výrazy typu \uv{$x\equiv a~\pmod{b}$}): \begin{example} $a\bmod b \\ x\equiv a \pmod{b}$ \end{example} \index{zlomek}Zlomek se vysází pomocí příkazu \ci{frac}\verb|{...}{...}|. V~textovém stylu \LaTeX{} zlomky \uv{zhustí}, aby se do řádků lépe vlezly. Zhuštění ve stylu display můžete explicitně zařídit pomocí příkazu \ci{tfrac}. Naopak, pomocí příkazu \ci{dfrac} můžete v~textovém stylu zobrazit zlomek nezhuštěný. Pro krátké \uv{zlomkové materiály} často nejlépe vypadá, když zlomek jen naznačíme pomocí znaku lomítko ($1/2$): \begin{example} Ve stylu display: \begin{equation*} 3/8 \qquad \frac{3}{8} \qquad \tfrac{3}{8} \end{equation*} \end{example} \begin{example} V~textovém stylu: $1\frac{1}{2}$~hodiny \quad $1\dfrac{1}{2}$~hodiny \end{example} Zde použijeme příkaz \ci{partial} pro \wi{parciální derivace}: \begin{example} \begin{equation*} \sqrt{\frac{x^2}{k+1}}\qquad x^\frac{2}{k+1}\qquad \frac{\partial^2f} {\partial x^2} \end{equation*} \end{example} \index{binomické koeficienty}Binomické koeficienty nebo podobné struktury můžete vysázet pomocí příkazu \ci{binom} definovaného v~\pai{amsmath}: \begin{example} Pascalovo pravidlo říká, že \begin{equation*} \binom{n}{k} =\binom{n-1}{k} + \binom{n-1}{k-1} \end{equation*} \end{example} U~\index{binární relace}binárních relací může být výhodné umístit symboly nad sebe. Příkaz \ci{stackrel}\verb|{#1}{#2}| umístí symbol uvedený jako \verb|#1| (velikostí písma stejnou jako pro horní indexy) nad symbol uvedený jako \verb|#2|, jehož pozice zůstává \uv{normální}. \begin{example} \begin{equation*} f_n(x) \stackrel{*}{\approx} 1 \end{equation*} \end{example} \index{symbol integrálu}Symbol integrálu vygenerujeme pomocí \ci{int}, \wi{symbol sumy} pomocí \ci{sum} a~\wi{symbol součinu} pomocí \ci{prod}. Horní a~dolní limity se specifikují pomocí~\verb|^| a~\verb|_|, stejně jako u~horních a~dolních indexů: \begin{example} \begin{equation*} \sum_{i=1}^n \qquad \int_0^{\frac{\pi}{2}} \qquad \prod_\epsilon \end{equation*} \end{example} Příkaz \ci{substack} balíku \pai{amsmath} umožňuje přesněji specifikovat umístění indexů u~složitých výrazů: \begin{example} \begin{equation*} \sum^n_{\substack{0 0. \end{array} \right. \end{equation*} \end{example} Stejnou věc můžeme jednodušeji vysázet pomocí prostředí \ei{cases} též z~balíku \textsf{amsmath}: \begin{example} \begin{equation*} |x| = \begin{cases} -x & \text{if } x < 0,\\ 0 & \text{if } x = 0,\\ x & \text{if } x > 0. \end{cases} \end{equation*} \end{example} Pomocí \ei{array} můžeme vysázet i~matice\index{matrix}, ale \pai{amsmath} poskytuje lepší možnost -- několik verzí prostředí \ei{matrix}. K~dispozici je šest verzí tohoto prostředí, které se liší v~použitých oddělovačích: \ei{matrix} (žádný oddělovač), \ei{pmatrix} ($($), \ei{bmatrix} ($[$), \ei{Bmatrix} ($\{$), \ei{vmatrix} ($\vert$) a~\ei{Vmatrix} ($\Vert$). Na rozdíl od \ei{array} není třeba zadávat počet sloupců, jejich maximální počet je konfigurovatelný, implicitně deset. \begin{example} \begin{equation*} \begin{matrix} 1 & 2 \\ 3 & 4 \end{matrix} \qquad \begin{bmatrix} p_{11} & p_{12} & \ldots & p_{1n} \\ p_{21} & p_{22} & \ldots & p_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ p_{m1} & p_{m2} & \ldots & p_{mn} \end{bmatrix} \end{equation*} \end{example} \section{Mezery v~matematickém módu} \label{sec:math-spacing} \index{matematické mezery} Jestliže nejsme spokojeni s~mezerami, jaké \LaTeX{} použil při vysázení matematického vzorce, můžeme je upravit vložením speciálních \uv{mezerových} příkazů: \ci{,} pro $\frac{3}{18}\:\textrm{quad}$ (\demowidth{0.166em}), \ci{:} pro $\frac{4}{18}\: \textrm{quad}$ (\demowidth{0.222em}) a~\ci{;} pro $\frac{5}{18}\: \textrm{quad}$ (\demowidth{0.277em}). %Backspace Zpětné lomítko následované mezerou, \verb*|\ |, vygeneruje mezeru střední velikosti zhruba velikosti mezislovní mezery. Příkazy \ci{quad} (\demowidth{1em}) a~\ci{qquad} (\demowidth{2em}) vygenerují mezery větší. Velikost \ci{quad} je rovna šířce písmene `M' aktivního fontu. \verb|\!|\cih{"!} vygeneruje zápornou mezeru $-\frac{3}{18}\:\textrm{quad}$ ($-$\demowidth{0.166em}). Všimněte si, že `d' označující diferenciál se tradičně sází vzpřímeně: \begin{example} \begin{equation*} \int_1^2 \ln x \mathrm{d}x \qquad \int_1^2 \ln x \,\mathrm{d}x \end{equation*} \end{example} V~následujícím příkladu definujeme nový příkaz \ci{ud}, který vygeneruje ``$\,\mathrm{d}$'' (všimněte si mezery \demowidth{0.166em} před $\text{d}$), abychom si ušetřili psaní. Příkaz \ci{newcommand} se umisťuje obvykle do preambule dokumentu. % More on % \ci{newcommand} in section~\ref{} on page \pageref{}. To Do: Add label and % reference to "Customising LaTeX" -> "New Commands, Environments and Packages" % -> "New Commands". \begin{example} \newcommand{\ud}{\,\mathrm{d}} \begin{equation*} \int_a^b f(x)\ud x \end{equation*} \end{example} Chcete-li vysázet vícenásobné integrály, zjistíte, že mezery mezi symboly jednotlivých integrálů jsou příliš široké. Můžete je buď upravit pomocí \civ{"!}{!}, nebo použít příkazy \ci{iint}, \ci{iiint}, \ci{iiiint} nebo \ci{idotsint} definované v~balíku \pai{amsmath}. \begin{example} \newcommand{\ud}{\,\mathrm{d}} \begin{IEEEeqnarray*}{c} \int\int f(x)g(y) \ud x \ud y \\ \int\!\!\!\int f(x)g(y) \ud x \ud y \\ \iint f(x)g(y) \ud x \ud y \end{IEEEeqnarray*} \end{example} Další informace najdete v~dokumentu \texttt{testmath.tex} (distribuovaném spolu s~\AmS-\LaTeX em) nebo kapitole osm knihy \companion{}. \subsection{Neviditelné výrazy} Při vertikálním zarovnávání textu pomocí \verb|^| a~\verb|_| občas potřebujeme upravit horizontální mezery implicitně \LaTeX em použité. K~tomu se hodí příkaz \ci{phantom}, pomocí kterého vložíme mezeru, která má stejné rozměry jako by byly rozměry příslušného textu uvedeného jako parametr příkazu. Typické použití je ukázáno v~následujícím příkladu: \begin{example} \begin{equation*} {}^{14}_{6}\text{C} \qquad \text{versus} \qquad {}^{14}_{\phantom{1}6}\text{C} \end{equation*} \end{example} Poznámka: Pokud sázíte větší množství chemických výrazů (např. izotopů z~předchozího příkladu), můžete použít balík \pai{mhchem}. \section{Hrátky s~matematickými fonty}\label{sec:fontsz} Různé matematické fonty jsou uvedeny v~tabulce~\ref{mathalpha} na straně \pageref{mathalpha}. \begin{example} $\Re \qquad \mathcal{R} \qquad \mathfrak{R} \qquad \mathbb{R} \qquad $ \end{example} Poslední dva fonty vyžadují \pai{amssymb} nebo \pai{amsfonts}. Občas potřebujete \LaTeX u zadat správnou velikost fontu. V~matematickém módu se to dělá pomocí následujících čtyř příkazů: \begin{flushleft} \ci{displaystyle}~($\displaystyle 123$), \ci{textstyle}~($\textstyle 123$), \ci{scriptstyle}~($\scriptstyle 123$) a~\ci{scriptscriptstyle}~($\scriptscriptstyle 123$). \end{flushleft} Jestliže je $\sum$ uvedeno jako součást zlomku, bude příslušný symbol vysázen v~textovém stylu, což můžete změnit, např. pomocí \ci{displaystyle}. \begin{example} \begin{equation*} P = \frac{\displaystyle{ \sum_{i=1}^n(x_i-x) (y_i-y)}} {\displaystyle{\left[ \sum_{i=1}^n(x_i-x)^2 \sum_{i=1}^n(y_i-y)^2 \right]^{1/2}}} \end{equation*} \end{example} Poznámka: Explicitní měnění stylů může ovlivnit zobrazení velkých operátorů a~limit. % This is not a math accent, and no maths book would be set this way. % mathop gets the spacing right. \subsection{Tučné symboly} \index{tučné symboly} Vysázení tučných symbolů v~\LaTeX u je docela obtížné. Pravděpodobně to byl záměr, protože amatérští sazeči je používají zbytečně často. Příkazem \verb|\mathbf| sice můžeme nastavit tučné písmo, ale jen pro vzpřímené písmo a~ne pro italiku, se kterou při sazbě matematiky pracujeme především. Navíc se nezmění tučnost malých řeckých písmen. Jinou možností je použít příkaz \ci{boldmath}. Je nutné ho uvést \emph{mimo matematický mód}. Příkaz \ci{boldmath} funguje i~pro symboly: \begin{example} $\mu, M \qquad \mathbf{\mu}, \mathbf{M}$ \qquad \boldmath{$\mu, M$} \end{example} Balíky \pai{amsbsy} (součást \pai{amsmath}) a~\pai{bm} (kolekce balíků \texttt{tools}) obsahují příkaz \ci{boldsymbol}, zde jedna ukázka: \begin{example} $\mu, M \qquad \boldsymbol{\mu}, \boldsymbol{M}$ \end{example} \section{Věty, lemmata, \ldots} Při tvorbě matematických dokumentů pravděpodobně budete potřebovat způsob, jak vysázet lemmata, definice, axiomy a~podobné struktury. \begin{lscommand} \ci{newtheorem}\verb|{|\emph{name}\verb|}[|\emph{counter}\verb|]{|% \emph{text}\verb|}[|\emph{section}\verb|]| \end{lscommand} Argument \emph{name} je krátké jméno, které identifikuje daný \emph{teorém}. Argument \emph{text} je skutečné jméno teorému, které bude vysázeno. Argumenty v~hranatých závorkách jsou nepovinné. Oba specifikují číslování, které se pro teorém použije. Argumentem \emph{counter} můžete specifikovat jméno (\emph{name}) dříve deklarovaného teorému. Nový teorém pak bude číslován ve stejné posloupnosti. Argument \emph{section} umožňuje specifikovat jednotku, o~kterou budou čísla teorémů zvětšována. Příkaz \ci{newtheorem} uvedený v~preambuli vašeho dokumentu je \LaTeX em proveden a~vy potom v~dokumentu můžete tento příkaz používat. \begin{code} \verb|\begin{|\emph{name}\verb|}[|\emph{text}\verb|]|\\ Toto je text mé zajímavé věty.\\ \verb|\end{|\emph{name}\verb|}| \end{code} Balík \pai{amsthm} poskytuje příkaz \ci{theoremstyle}\verb|{|\emph{style}\verb|}|, pomocí kterého můžete vybrat jeden ze tří předdefinovaných stylů: \texttt{definition} (titulek teorému tučným písmem, tělo teorému normálním -- vzpřímeným -- písmem), \texttt{plain} (titulek tučným, tělo italikou) nebo \texttt{remark} (titulek italikou, tělo vzpřímeným písmem). Balík \pai{amsthm} je součástí \AmS-\LaTeX u. Dost už teorie. Následující příklady by měly vyjasnit všechny pochybnosti ohledně použití prostředí \verb|\newtheorem|. % actually define things \theoremstyle{definition} \newtheorem{law}{Právo} \theoremstyle{plain} \newtheorem{jury}[law]{Porota} \theoremstyle{remark} \newtheorem*{marg}{Margaret} Nejdříve nadefinujeme teorémy: \begin{verbatim} \theoremstyle{definition} \newtheorem{law}{Právo} \theoremstyle{plain} \newtheorem{jury}[law]{Porota} \theoremstyle{remark} \newtheorem*{marg}{Margaret} \end{verbatim} \begin{example} \begin{law} \label{law:box} Neskrývejte se v~lavici svědků! \end{law} \begin{jury}[12 soudců] Mohl jste to být vy! Dejte si pozor a~dodržujte zákon~\ref{law:box}.\end{jury} \begin{marg}Ne, ne, ne!\end{marg} \end{example} Teorém \uv{Porota} používá stejný čítač jako teorém \uv{Právo}, takže číslo tohoto čítače budou zvyšovat všechna použití jak věty \uv{Porota}, tak věty \uv{Právo}. Argument v~hranatých závorkách specifikuje titulek teorému. \begingroup \renewcommand{\thesection}{\thechapter\arabic{section}} \begin{example} \newtheorem {mur}{Murphy}[section] \begin{mur} Jestliže se něco dá udělat dvěma nebo více způsoby a~jeden z~nich vede ke katastrofě, někdo si tento způsob zvolí.\end{mur} \end{example} \endgroup ``Murphyho'' teorému je přiděleno číslo, které se vztahuje k~číslu aktuální sekce. Je možno použít i~jinou \uv{jednotku}, tedy místo sekce použít např. kapitolu nebo podsekci. Jestliže si chcete teorémy přizpůsobit do posledního detailu, můžete použít balík \pai{ntheorem}. \subsection{Důkazy a~symbol \uv{konec důkazu}} \label{sec:putting-qed-right} Balík \pai{amsthm} obsahuje i~definici prostředí \ei{proof}. \begin{example} \begin{proof} Triviální, použijte \begin{equation*} E=mc^2. \end{equation*} \end{proof} \end{example} Příkazem \ci{qedhere} můžete symbol \uv{konec důkazu} posunout -- užitečné v~případě, kdy by jinak tento symbol byl sám vysázen na novém řádku. \begin{example} \begin{proof} Triviální, použijte \begin{equation*} E=mc^2. \qedhere \end{equation*} \end{proof} \end{example} Bohužel ale tato úprava nebude fungovat pro \texttt{IEEEeqnarray}: \begin{example} \begin{proof} Toto je důkaz, který končí soustavou rovnic: \begin{IEEEeqnarray*}{rCl} a & = & b + c \\ & = & d + e. \qedhere \end{IEEEeqnarray*} \end{proof} \end{example} \noindent Důvodem je vnitřní struktura \texttt{IEEEeqnarray}: k~oběma okrajům soustavy rovnic je připojen neviditelný sloupec obsahující natahovací mezery. Tím \texttt{IEEEeqnarray} zajistí, že soustava bude horizontálně vycentrovaná. Příkaz \ci{qedhere} by bylo potřeba umístit \emph{vně} této natahovací mezery, ale to nejde, protože oba \uv{neviditelné sloupce} jsou uživateli nepřístupné. Máme ale jednoduchou možnost nápravy: natahovací sloupce nadefinujeme sami! \begin{example} \begin{proof} Toto je důkaz, který končí soustavou rovnic: \begin{IEEEeqnarray*}{+rCl+x*} a & = & b + c \\ & = & d + e. & \qedhere \end{IEEEeqnarray*} \end{proof} \end{example} \noindent Všimněte si, že \verb=+= v~\verb={+rCl+x*}= značí natahovací mezery, jednu nalevo od rovnic, kterou, pokud není specifikována, určí \texttt{IEEEeqnarray} automaticky!, a~druhou napravo. Napravo, \emph{za} natahovací sloupec, umístíme prázdný sloupec, \verb=x=. Ten budeme potřebovat jen na posledním řádku, na kterém do tohoto sloupce umístíme příkaz \ci{qedhere}. Konečně, specifikujeme \verb=*=, což značí nulovou mezeru, která zabrání, aby \texttt{IEEEeqnarray} přidalo další natahovací mezeru \verb=+=! S~číslováním rovnic máme podobný problém. Když porovnáte \begin{example} \begin{proof} Toto je důkaz, který končí číslovanou rovnicí: \begin{equation} a = b + c. \end{equation} \end{proof} \end{example} \noindent s~následujícím příkladem% \begin{example} \begin{proof} Toto je důkaz, který končí číslovanou rovnicí: \begin{equation} a = b + c. \qedhere \end{equation} \end{proof} \end{example} \noindent všimnete si, že v~druhé verzi je (korektně) $\Box$ mnohem blíže k~rovnici než v~první verzi. Podobně, správný způsob vložení symbolu \uv{konec důkazu} na konec soustavy rovnic je tento: \begin{example} \begin{proof} Toto je důkaz, který končí soustavou rovnic: \begin{IEEEeqnarray}{+rCl+x*} a & = & b + c \\ & = & d + e. \\ &&& \qedhere\nonumber \end{IEEEeqnarray} \end{proof} \end{example} \noindent Na rozdíl od (nesprávného způsobu): \begin{example} \begin{proof} Toto je důkaz, který končí soustavou rovnic: \begin{IEEEeqnarray}{rCl} a & = & b + c \\ & = & d + e. \end{IEEEeqnarray} \end{proof} \end{example} % % Local Variables: % TeX-master: "lshort" % mode: latex % mode: flyspell % End: