Sazba nejen matematiky v LATEXu Programování F1400 + F1400a doc. RNDr. Petr Mikulík, Ph.D. podzimní semestr 2020 Maxwellovy rovnice H O H C H H H H 1 e4 e5 2 Nf3 Nc6 3 d4 3. . . eXd4 4 Bb5 a6 8 rZblkans 7 ZpopZpop 6 pZnZ0Z0Z 5 ZBZ0Z0Z0 4 0Z0oPZ0Z 3 Z0Z0ZNZ0 2 POPZ0OPO 1 SNAQJ0ZRa b c d e f g h Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Pravidla (českého) pravopisu a typografie Chyby nebo překlepy? Příklady typických chyb: My bychom, vy byste nebo my by chom, vy by jste, . . . Správně je „viz definice“ a nikoliv „viz. definice“. Pravidla českého pravopisu: papírová kniha nebo na webu např. www.pravidla.cz. Internetová jazyková příručka Ústavu pro jazyk český AVČR prirucka.ujc.cas.cz . . . aneb ČKD (Často kladené otázky) neboli FAQ (Frequently Asked Questions). Procenta Roztok má koncentraci 5 %, tudíž je 5procentní nebo pětiprocentní. Správně: Svah nebo pivo je 12procentní nebo dvanáctiprocentní Chybně: 12ti procentní, 12-ti procentní, 12-tiprocentní, apod. Podobně osmi či 8, jednoho a dvou, ale nikoliv 8-mi, 1-noho, 2ou apod. Interpunkce: Mezera před dvojtečkou, středníkem, vykřičníkem apod. se píše pouze ve francouzštině, c’est la vie : Ve španělštině ¡Pero qué buena idea! ¿Cuántas horas hay? se píše použitím znaků Unicode ¡ ¿ nebo !‘ ?‘ Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Pravidla (českého) pravopisu a typografie: spojovník, pomlčka, . . . Spojovník, rozdělovník, pomlčka: - vs – vs — (- vs – vs –-) Brno-Žabovřesky, Frýdek-Místek; česko-řecký slovník; . . . Zákon Gay-Lussacův, ale zákon Boyleův–Mariottův Pomlčka ve větě: v kontinentální Evropě běž – tam versus široká v angličtině britské go — here a americké go—here Pomlčka v číselném rozsahu: 12–34 nm, 1 nm – 10 mm, ale lépe 1 nm až 10 mm. Uvozovky: “anglické”, „české“, « francouzské », »chorvatské« ‘‘anglické’’, \uv{české}, "<\,francouzské\,">, ">chorvatské"< Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Pravidla (českého) pravopisu a typografie: mezery Mezery mezi slovy: Tvrdá (nezlomitelná) pružná mezera: 1 mm, K. Hora . . . 1~mm, K.~Hora Měkká (zlomitelná) pružná mezera: pátek sobota, pátek sobota Úzká mezera, široká mezera quad mezera, qquad mezera . . . úzká\,mezera, široká\;mezera, \quad \qquad Mezera se zadanou šířkou: \hskip10mm, \hskip3.5ex, \hspace{10mm} Tvrdá pružná mezera mezi jednopísmennou předložkou a následujícím slovem – nezbytnost u českých textů: v~lese, u~řeky, str.~4, obr.~7 Automatické ovlnkování jednopísmenných předložek (proveďte nejpozději při finálních úpravách textu): program vlna ⇒ příkazová řádka: vlna ahoj.tex Mezery mezi větami: Kontinentální Evropa používá \frenchspacing – mezera za větou stejné šířky jako mezi slovy, angličtina širší mezera za tečkou Italická korekce (mezera mezi textem psaným kurzívou a poté antikvou): gól lala vs gól lala ⇒ {\it gól} lala vs \textit{gól} lala Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Pravidla (českého) pravopisu a typografie: vertikální mezery Vertikální rozteč odstavců: TEX spolkne vícenásobné mezery a prázdné řádky a sám rozhodne o vhodné velikosti prázdného místa. Rozteč odstavců se nastaví globálně pomocí např. \parskip=10mm Odsazení odstavců se nastaví globálně pomocí \parindent=10mm. Chceme-li odskok prvního odstavce na začátku kapitoly, pak použijte \usepackage{indentfirst} Prázdné vertikální místo můžeme vynutit pomocí \smallskip, \medskip či \bigskip, nebo \hskip=30mm či \vspace{30mm} Odřádkování (uvnitř odstavců, též v tabulkách, vzorcích a maticích) se provede pomocí \\, případně i s vynucenou následující vertikální mezerou pomocí \\[10mm] Novou stránku vynutíme pomocí \newpage, případně \clearpage či \cleardoublepage v dokumentu s mnoha obrázky v jedné kapitole Programování F1400 + F1400a Sazba nejen matematiky v LATEXu LATEX – poznámky ve zdrojáku, aktivní znaky Krátké poznámky nebo nepoužité řádky označíme pomocí znakem %. Cokoliv za tímto znakem bude ignorováno. Např.: $0+1=1$ je správně % ověřil jsem to i na kalkulačce % 0+0=0 ... tohle sem asi ani nebudu psát Delší text můžeme zapoznámkovat „trikem“ s podmínkou if: \iffalse $1 + 1 = 3$ tohle ještě přepočítat, je to asi špatně. A tenhle řádek TeX taky nečte. \fi Veškerý text za \end{document} se ignoruje – takže si na konec souboru můžeme napsat jakékoliv poznámky či ponechat nepoužitý text Aktivní znaky, které přepínají režimy TEXu nebo mají speciální význam, tiskneme takto: % jako \%, $ jako \$, & jako \&, _ jako \_, ˆ jako \^, \ jako \textbackslash nebo $\backslash$ Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Sazba vzorců a rovnic Dolary $...$ pro vzorce, prostředí equation a displaymath pro rovnice: Zdroják Vzorec $y=\sqrt{x^2+y^2-4}$ na řádku nebo (ne)číslovaná rovnice \begin{equation} y = \sqrt{x^2+y^2-4} \end{equation} Číslování potlačíme pomocí \nonumber uvnitř nebo použitím prostředí displaymath místo equation. Rozdělení dlouhé rovnice na 2 řádky: \begin{equation} \begin{split} \sum_{n=1}^{\infty} \frac{1}{2^n} & = 1 + \frac12 + \frac14 + \dots \\ & = 1 + 1 = 2 \end{split} \end{equation} Výsledek Vzorec y = � x2 + y2 − 4 na řádku nebo (ne)číslovaná rovnice y = � x2 + y2 − 4 (1) Číslování potlačíme pomocí \nonumber uvnitř nebo použitím prostředí displaymath místo equation. Rozdělení dlouhé rovnice na 2 řádky: ∞ � n=1 1 2n = 1 + 1 2 + 1 4 + . . . = 1 + 1 = 2 (2) Uvnitř rovnice nesmí být prázdný řádek (ten v TEXu značí nový odstavec, což zde nemá smysl); můžete však místo prázdného řádku použít řádek s poznámkou. Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Sazba vzorců a rovnic Prostředí eqnarray a split, zarovnání pomocí ampersandu(ů) &: Zdroják Více rovnic pomocí prostředí eqnarray nebo split \begin{eqnarray} \int_1^\infty x \, dx &=& a \\ \int_1^2 x^2 \, dx &=& b \end{eqnarray} nebo \begin{align} \int_1^\infty x \, dx &= a \\ \int_1^2 x^2 \, dx &= b \end{align} Výsledek Více rovnic pomocí prostředí eqnarray nebo split � ∞ 1 x dx = a (3) � 2 1 x2 dx = b (4) nebo � ∞ 1 x dx = a (5) � 2 1 x2 dx = b (6) Chcete-li opísmenkovat rovnice, např. (2a), (2b), pak okolo rovnice přidejte \begin{subequations} ... \end{subequations} Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Různé matematické symboly Řecká písmena: α β γ δ µ ξ . . . Γ Δ . . . \alpha \beta \gamma \delta \mu \xi \dots \Gamma \Delta \dots Tučné symboly: α + β $\boldsymbol{\alpha + \beta}$ Balíček amsmath: spousta dalších běžných matematických symbolů a definic, ještě další v balíčku amsfonts (např. \mathbb). Něco složitějšího: ∀ x �= 0 ∈ Z ∃! y : y = −x \forall\ x \not=0 \in \mathbb{Z} \ \exists!\ y: y=-x Závorky – přímo zadaná velikost:� 1 + � 2 + � 3 + � 4 + x � + 5 � + 6 � + 7 � \Bigg\{ \bigg[ \Big( \big( \big) \Big) \bigg] \Bigg\} Závorky – automaticky rostoucí:� 1 + � a b + � 3 + � 4 + a b � + a5 b2 � + 6 � + x3 2 y4 2 � \left\{ \left[ \left( \left( \right) \right) \right] \right\} Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Sumy, integrály, derivace Sumy a integrály se zapisují pomocí příkazů sum, int, iint, iiint. Ve vzorci na řádku pak vypadají třeba takto: �125 n=0 1 2n a � ∞ 0 x dx, zatímco v samostatné rovnici můžeme umisťovat indexy vedle nebo nad velký symbol podle citu či množství volného místa, a to pomocí voleb \limits a \nolimits: 125� n=0 1 2n �125 n=0 1 2n � ∞ 0 x dx ∞� 0 x dx ∞� −∞ xy dx dy \sum_{n=0}^{125} \frac{1}{2^n} \sum\nolimits_{n=0}^{125} \frac{1}{2^n} \int_0^\infty x \, dx \int\limits_0^\infty x \, dx \iint_{-\infty}^\infty xy \, dx \, dy Derivace vysázíme zlomkem \frac a použijeme písmeno d nebo \mathrm{d} pro totální diferenciál nebo \partial pro parciální derivace: df (x) dx dL(�r, t) dt ∂f (x, y) ∂x + ∂f (x, y) ∂y Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Vektory a matice Sazba vektorů: �a nebo a ⇒ \vec a \boldsymbol{a} Vektorový a skalární součin: \times a \cdot ⇒ (�x × �y) · �z Pouze na mechanickém psacím stroji se používá „x“ místo „ד, a proto na počítači 1600 × 1200 nebo plocha 6 × 4 m2 Sazba matic: ^A nebo A nebo A ⇒ \hat{A} \boldsymbol{A} \cal{A} Matice vysázíme pomocí prostředí matrix, pmatrix, vmatrix, bmatrix, smallmatrix aj. (viz též prostředí array pro sazby tabulek v matematickém režimu):� x y � � � � � � 1 2 4 −2 � � � � � � 1 2 3 a + b c − d e � \begin{pmatrix} \begin{vmatrix} \begin{bmatrix} x \\ 1 & 2 \\ 1 & 2 & 3 \\ y 4 & -2 a+b & c-d & e \end{pmatrix} \end{vmatrix} \end{bmatrix} Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Fyzikální symboly Čísla a jednotky: a = (9,81 ± 0,12) m.s−2, a ≈ 9,8 $a = (9,81 \pm 0,12)~\rm m.s^{-2}$ $a \approx 9,8$ Stupeň Celsia 39,8 ◦C (39,8\,$^\circ$C) nebo 39,8 °C (39,8\,\textdegree C) Ångstrom Å (\AA) mikrometr µm ($\mu$m) nebo lépe řeckou antikvou µm (\textmu m), viz balíček textcomp Kvantovka: � (\hbar), |�a|Ψ|b�|2 (|\langle a|\Psi|b \rangle|^2) a nikoliv | < a|Ψ|b > |2 Astronomie – balíčky wasysym a marvosym: Slunce � Merkur � Venuše ♀ Země ♁ Mars ♂ Měsíc ����� � Zvěrokruh � � � � � � � � � � � � \astrosun \mercury \venus \earth \mars \leftmoon \Leftcircle \fullmoon \Rightcircle \rightmoon \newmoon \Zodiac{1} \Zodiac{2} \Zodiac{3} ... \Zodiac{12} Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Chemické symboly 1 Prvky se píší antikvou, nikoliv kurzívou Běžný LATEX: Prvky: Si nebo HCl a nikoliv Si nebo HCl ($Si$, $HCl$) Sloučeniny: H2SO4 ($\rm H_2SO_4$) a nikoliv H2SO4 ($H_2SO_4$) Balíček mhchem: \usepackage[version=4]{mhchem} H2O \ce{H2O} 2 H2O \ce{2H2O} (NH4)2S \ce{(NH4)2S} KCr(SO4)2 · 12 H2O \ce{KCr(SO4)2*12H2O} Izotopy: 227 90Th+ \ce{^{227}_{90}Th+} Vazby: A–B––C–––D \ce{A\bond{-} B\bond{=} C\bond{#} D} nebo \ce{A\bond{1} B\bond{2} C\bond{3} D} Reakce: H+ + OH– �−−−� H2O \ce{H+ + OH- <=>> H2O} Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Chemické symboly 2 Balíček chemfig: oxid uhličitý O C O \chemfig{O=C=O} voda H O H \chemfig{H-[:37.775]O-[:-37.775]H} metan C H H H H \chemfig{C(-[:0]H)(-[:90]H)(-[:180]H)(-[:270]H)} benzen \chemfig{*6(=-=-=-)} Něco složitějšího R2 OH R1 \chemfig{*6(-(-R^2)=-(-)=(-OH)-(-R^1)=)} Domeček C O O CC C C (hezčí domeček nebo prasátko za domácí úlohu) Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Další symboly Balíčky textcomp, wasy a marvosym: Symboly měn: € £ £ $ $ ¥ \texteuro \textsterling \pounds \textdollar \$ \textyen Počítače: � � � � � \Email \Telefon \Keyboard \ComputerMouse \Printer Bezpečnost: � � � � \Radioactivity \Biohazard \Laserbeam \Stopsign A další. . . � � � � � � � � � Ukázka mnoha dalších viz comprehensive-latex-symbols.{tex,pdf} Programování F1400 + F1400a Sazba nejen matematiky v LATEXu Šachy Balíček skak: sázení šachových partií včetně výpočtu rozestavení figur: 1 e4 e5 2 Nf3 Nc6 3 d4 8 rZblkans 7 opopZpop 6 0ZnZ0Z0Z 5 Z0Z0o0Z0 4 0Z0OPZ0Z 3 Z0Z0ZNZ0 2 POPZ0OPO 1 SNAQJBZRa b c d e f g h 3. . . eXd4 4 Bb5 a6 8 rZblkans 7 ZpopZpop 6 pZnZ0Z0Z 5 ZBZ0Z0Z0 4 0Z0oPZ0Z 3 Z0Z0ZNZ0 2 POPZ0OPO 1 SNAQJ0ZRa b c d e f g h \newgame \mainline{1.e4 e5} \mainline{2.Nf3 Nc6 3.d4} \showboard \mainline{3...e5xd4} \mainline{4.Bb5 a6} \showboard Programování F1400 + F1400a Sazba nejen matematiky v LATEXu