%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Math typesetting with LaTeX % $Id: matikka.tex,v 1.2 2005/04/05 08:05:09 hellgren Exp $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Matemaattisten kaavojen ladonta} \begin{intro} Nyt se alkaa! Tässä luvussa käydään kiinni \TeX:n päävahvuuteen: matematiikan ladontaan. Varoituksena kuitenkin, että tämä luku raapaisee vasta pintaa. Tässä selitetyt asiat riittävät useimmille, eikä pidä hätääntyä vaikka täältä ei löytyisikään ratkaisuja omaan työhösi liittyvän matematiikan ladontaan. Ongelmaan on ratkaisu todennäköisesti \AmS-\LaTeX:ssa.\footnote{\emph{American Mathematical Society} on tehnyt kattavan lisäyksen {\LaTeX}-makroihin. Monet tämän luvun esimerkeistä käyttävät näitä lisämakroja, jotka kuuluvat kaikkiin ajan tasalla oleviin {\TeX}-järjestelmiin. Tarvittaessa ne löytyvät osoitteesta \CTANref|macros/latex/required/amslatex|.} \end{intro} \section{Yleistä} \LaTeX:ssa on erityinen toimintotila \index{matematiikka} matematiikan ladonnalle. Matematiikkaa voidaan latoa joko samalle riville tekstin sekaan tai erikseen omalle rivilleen. Matemaattinen teksti lisätään \ci{(}:n ja \ci{)}:n väliin, \index{$@\texttt{\$}} \texttt{\$}:n ja \texttt{\$}:n väliin tai \verb|\begin{|\ei{math}\verb|}|:n ja \verb|\end{math}|:n väliin.\index{kaavat} \begin{example} Laskemalla yhteen $a$:n neliö ja $b$:n neliö saadaan $c$:n neliö. Tai matemaattisemmin sanottuna: $c^{2}=a^{2}+b^{2}$ \end{example} \begin{example} \TeX{} lausutaan $\tau\epsilon\chi$.\\[6pt] 100~m$^{3}$ vettä\\[6pt] Tämä tulee $\heartsuit$:stä. \end{example} On suositeltavampaa esittää matemaattiset yhtälöt ja kaavat omalla rivillään, eikä muun tekstin seassa. Tämä tarkoittaa, että ne pitäisi kirjoittaa \ci{[}:n ja \ci{]}:n väliin tai \verb|\begin{|\ei{displaymath}\verb|}|:n ja \verb|\end{displaymath}|:n väliin. \begin{example} Laskemalla yhteen $a$:n ja $b$:n neliöt saadaan $c$:n neliö. Tai matemaattisemmin sanottuna: \begin{displaymath} c^{2}=a^{2}+b^{2} \end{displaymath} tai lyhyemmin: \[a+b=c\] \end{example} {\LaTeX}:n \ei{equation}-ympäristöä voidaan käyttää yhtälöjen numerointiin. Yhtälön numero voidaan silloin merkitä \ci{label}:lla ja siihen voidaan viitata muualla tekstissä makrolla \ci{ref} tai \ci{eqref}: \begin{example} \begin{equation} \label{eq:eps} \epsilon > 0 \end{equation} Yhtälöstä (\ref{eq:eps}) saadaan \ldots Samoin yhtälöstä \eqref{eq:eps}. \end{example} On huomattava, että ilmaisut ladotaan eri tavalla silloin kun ne tulevat omalle rivilleen: \begin{example} $\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}$ \end{example} \begin{example} \begin{displaymath} \lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6} \end{displaymath} \end{example} \emph{Matematiikkatilan} ja \emph{tekstitilan} välillä on eroa. Esimerkiksi \emph{matematiikkatilassa}: \begin{enumerate} \item Useimmat välilyönnit ja rivinvaihdot menettävät merkityksensä, sillä kaikki välilyönnit johdetaan loogisesti matemaattisista ilmaisuista tai ne pitää määritellä erityisesti komennoilla \ci{,}, \ci{quad} tai \ci{qquad}. \item Tyhjiä rivejä ei sallita. Kaavan pitää mahtua samaan kappaleeseen. \item Jokaista kirjainta käsitellään muuttujan nimenä ja ne ladotaan sen mukaisesti. Jos halutaan latoa normaalia tekstiä kaavan sisään (normaalia pystyä tekstiä normaalein välistyksin) on teksti lisättävä \verb|\textrm{...}|-komennnon sisään (katso myös kohtaa \ref{sec:fontsz} sivulla \pageref{sec:fontsz}). \end{enumerate} \begin{example} \begin{equation} \forall x \in \mathbf{R}: \qquad x^{2} \geq 0 \end{equation} \end{example} \begin{example} \begin{equation} x^{2} \geq 0\qquad \textrm{kaikille }x\in\mathbf{R} \end{equation} \end{example} % % Add AMSSYB Package ... Blackboard bold .... R for realnumbers % Matemaatikot voivat olla hyvin pikkutarkkoja käytetyistä symboleista: perinteisesti tässä käytettäisiin '\wi{liitutaululihavointi}a',\index{lihavoidut symbolit} joka saadaan käyttöön \ci{mathbb}-komennolla \pai{amsfonts}- tai \pai{amssymb}-pakkauksesta. \ifx\mathbb\undefined\else Viimeisestä esimerkistä tulee \begin{example} \begin{displaymath} x^{2} \geq 0\qquad \textrm{for all }x\in\mathbb{R} \end{displaymath} \end{example} \fi \section{Ryhmittely matematiikkatilassa} Useimmat matemaattiset komennnot vaikuttavat vain seuraavaan merkkiin. Jos vaikutus halutaan ulottaa useampaan merkkiin, on ne ryhmiteltävä yhteen käyttämällä aaltosulkeita: \verb|{...}|. \begin{example} \begin{equation} a^x+y \neq a^{x+y} \end{equation} \end{example} \section{Matemaattisten kaavojen rakentaminen} Tässä osiossa kerrotaan matemaattisen ladonnan tärkeimmät komennot. Osi\-os\-sa \ref{symbols}, sivulla~\pageref{symbols} on yksityiskohtainen luettelo komennoista, joilla ladotaan matemaattisia symboleja. \textbf{Pienet \wi{kreikkalaiset kirjaimet}} kirjoitetaan muodossa \verb|\alpha|, \verb|\beta|, \verb|\gamma|, \ldots, isot kirjaimet kirjoitetaan muodossa \verb|\Gamma|, \verb|\Delta|, \ldots\footnote{\LaTeXe{} ei määrittele isoa Alfaa, sillä se näyttää samalta kuin normaali antiikva A. Kunhan uusi matemaattinen merkistökoodaus on valmis, asiat muuttuvat tältä osin.} \begin{example} $\lambda,\xi,\pi,\mu,\Phi,\Omega$ \end{example} \textbf{Eksponentit ja alaindeksit} voidaan määritellä käyttämällä\index{eksponentti} \index{alaindeksi} \verb|^|\index{^@\verb"|^"|}- ja \verb|_|\index{_@\verb"|_"|}-merkkiä \begin{example} $a_{1}$ \qquad $x^{2}$ \qquad $e^{-\alpha t}$ \qquad $a^{3}_{ij}$\\ $e^{x^2} \neq {e^x}^2$ \end{example} \textbf{Neliöjuuri}\index{neliöjuuri} kirjoitetaan \ci{sqrt}, $n$:s juuri saadaan kirjoittamalla \verb|\sqrt[|$n$\verb|]|. Juuren koon \LaTeX{} määrittelee automaattisesti. Jos pelkkä juuren merkki tarvitaan, käytä komentoa \verb|\surd|. \begin{example} $\sqrt{x}$ \qquad $\sqrt{ x^{2}+\sqrt{y} }$ \qquad $\sqrt[3]{2}$\\[3pt] $\surd[x^2 + y^2]$ \end{example} Komennot \ci{overline} ja \ci{underline} piirtävät vastaavasti ilmaisun ylä- tai alapuolelle \textbf{vaakaviivan}. \index{vaakaviiva} \begin{example} $\overline{m+n}$ \end{example} Komennot \ci{overbrace} ja \ci{underbrace} piirtävät ilmaisun ylä- tai alapuolelle pitkän \textbf{vaakasulkeen} \index{vaakasulje} \begin{example} $\underbrace{ a+b+\cdots+z }_{26}$ \end{example} \index{matemaattiset!aksentit} Matemaattisten aksenttien, kuten pienten nuolien tai \verb|~|-merkkien, lisäämiseksi muuttujiin voidaan käyttää taulukossa~\ref{mathacc}, sivulla~\pageref{mathacc}, olevia komentoja. Laajat hatut ja \verb|~|:t, jotka ulottuvat usean merkin yli, saadaan aikaan komennoilla \ci{widetilde} ja \ci{widehat}. \verb|'|\index{'@\verb"|'"|}-symboli tekee $'$:n. % a dash is -- \begin{example} \begin{displaymath} y=x^{2}\qquad y'=2x\qquad y''=2 \end{displaymath} \end{example} \textbf{Vektorit}\index{vektorit} määritellään usein lisäämällä pieni \wi{nuoli} muuttujan päälle. Tämä tehdään \ci{vec}-komennolla. \ci{overrightarrow} ja \ci{overleftarrow} ovat avuksi määriteltäessä $A$:sta $B$:hen ulottuvaa vektoria. \begin{example} \begin{displaymath} \vec a\quad\overrightarrow{AB} \end{displaymath} \end{example} Yleensä kertolaskun pistesymbolia ei ladota näkyviin. Joskus kuitenkin sitä käytetään helpottamaan kaavan ryhmityksen hahmottamista. Siinä tapauksessa käytetään komentoa \ci{cdot} \begin{example} \begin{displaymath} v = {\sigma}_1 \cdot {\sigma}_2 {\tau}_1 \cdot {\tau}_2 \end{displaymath} \end{example} Logaritmien ja muiden vastaavien functioiden nimet ladotaan usein pystyllä kirjasimella eikä kursiivilla kuten muuttujat. Tästä syystä \LaTeX{} tarjoaa seuraavat komennot tärkeimpien funktioiden nimien latomiseksi:\index{matemaattiset!funktiot} \begin{tabular}{lllllll} \ci{arccos} & \ci{cos} & \ci{csc} & \ci{exp} & \ci{ker} & \ci{limsup} & \ci{min} \\ \ci{arcsin} & \ci{cosh} & \ci{deg} & \ci{gcd} & \ci{lg} & \ci{ln} & \ci{Pr} \\ \ci{arctan} & \ci{cot} & \ci{det} & \ci{hom} & \ci{lim} & \ci{log} & \ci{sec} \\ \ci{arg} & \ci{coth} & \ci{dim} & \ci{inf} & \ci{liminf} & \ci{max} & \ci{sin} \\ \ci{sinh} & \ci{sup} & \ci{tan} & \ci{tanh}\\ \end{tabular} \begin{example} \[\lim_{x \rightarrow 0} \frac{\sin x}{x}=1\] \end{example} Modulolle\index{modulo} on kaksi komentoa: \ci{bmod} binäärioperaattorille ''$a \bmod b$'' ja \ci{pmod} ilmaisuille ''$x\equiv a \pmod{b}$''. \begin{example} $a\bmod b$\\ $x\equiv a \pmod{b}$ \end{example} \textbf{Murtoluvut}\index{murtoluvut} ladotaan komennolla \ci{frac}\verb|{...}{...}|. Usein kauttaviivaa käyttävä muoto $1/2$ on parempi, koska se näyttää paremmalta pienemmässä tilassa. \begin{example} $1\frac{1}{2}$~hours \begin{displaymath} \frac{ x^{2} }{ k+1 }\qquad x^{ \frac{2}{k+1} }\qquad x^{ 1/2 } \end{displaymath} \end{example} Binomikertoimien tai vastaavien rakenteiden latomiseksi voidaan käyttää \pai{amsmath}-makrojen komentoa \ci{binom}. \begin{example} \begin{displaymath} \binom{n}{k}\qquad\mathrm{C}_n^k \end{displaymath} \end{example} Binäärirelaatioita ajatellen voi olla hyvä, että symboleita voidaan ladota päällekkäin. \ci{stackrel} sijoittaa ensimmäisessä argumentissa annetun symbolin yläindeksin kokoisena jälkimmäisen yläpuolelle. \begin{example} \begin{displaymath} \int f_N(x) \stackrel{!}{=} 1 \end{displaymath} \end{example} \textbf{Integraali-operaattori}\index{integraali-operaattori} saadaan käskyllä \ci{int}, \textbf{\wi{summa-operaattori}} käskyllä \ci{sum} ja \textbf{\wi{tulo-operaattori}} käskyllä \ci{prod}. Ylä- ja alarajat määritellään komennoilla \verb|^| ja \verb|_| kuten ylä- ja alaindeksit. \footnote{\AmS-\LaTeX:ssa voidaan käyttää lisäksi monirivisiä ylä- ja alaindeksejä} \begin{example} \begin{displaymath} \sum_{i=1}^{n} \qquad \int_{0}^{\frac{\pi}{2}} \qquad \end{displaymath} \end{example} Mutkikkaiden kaavojen indeksien sijoitteluun \pai{amsmath} tarjoaa kaksi työkalua: \ci{substack}-komennon ja \ei{subarray}-ympäristön: \begin{example} \begin{displaymath} \sum_{\substack{0c$}\\ b+x & \textrm{aamulla}\\ l & \textrm{pitkin päivää} \end{array} \right. \end{displaymath} \end{example} Myös \ei{array}-ympäristössä voidaan piirtää viivoja samalla tavoin kuin \verb|tabular|-ympäristössä, esim. matriisin sisällön jakamiseksi: \begin{example} \begin{displaymath} \left(\begin{array}{c|c} 1 & 2 \\ \hline 3 & 4 \end{array}\right) \end{displaymath} \end{example} Useamman rivin mittaisille kaavoille ja yhtälöille\index{yhtälöt} voidaan \texttt{equation}:n sijasta käyttää ympäristöjä \ei{eqnarray} ja \verb|eqnarray*|. \texttt{eqnarray}:ssa joka rivi saa yhtälön numeron. \verb|eqnarray*| ei numeroi mitään. \texttt{eqnarray} ja \verb|eqnarray*| toimivat samoin kuin kolmisarakkeinen taulukko, joka on muotoa \verb|{rcl}|, jossa keskimmäistä saraketta voidaan käyttää yhtäsuuruusmerkkiin tai erisuuruusmerkkiin. Tai muuhun sopivaan merkkiin. \verb|\\|-komento katkaisee rivin. \begin{example} \begin{eqnarray} f(x) & = & \cos x \\ f'(x) & = & -\sin x \\ \int_{0}^{x} f(y)dy & = & \sin x \end{eqnarray} \end{example} \noindent Huomaa, että yhtäsuuruusmerkin ympärillä olevat välit ovat melko suuret. Sitä voidaan vähentää asettamalla \verb|\setlength\arraycolsep{2pt}|, kuten seuraavassa esimerkissä. \index{pitkät yhtälöt} \textbf{Pitkiä yhtälöitä} ei jaeta automaattisesti sopiviin osiin. Kirjoittajan täytyy määritellä missä ne katkaistaan ja miten paljon pitää sisentää. Kaksi yleisintä tapaa tehdä tämä esitellään seuraavaksi. \begin{example} {\setlength\arraycolsep{2pt} \begin{eqnarray} \sin x & = & x -\frac{x^{3}}{3!} +\frac{x^{5}}{5!}-{} \nonumber\\ & & {}-\frac{x^{7}}{7!}+{}\cdots \end{eqnarray}} \end{example} \pagebreak[1] \begin{example} \begin{eqnarray} \lefteqn{ \cos x = 1 -\frac{x^{2}}{2!} +{} } \nonumber\\ & & {}+\frac{x^{4}}{4!} -\frac{x^{6}}{6!}+{}\cdots \end{eqnarray} \end{example} %\enlargethispage{\baselineskip} \noindent \ci{nonumber}-komento estää \LaTeX:ia numeroimasta tätä yhtälöä. Voi olla vaikeaa saada pystyyn tasattuja yhtälöitä näkymään oikein näillä keinoin; \pai{amsmath}-makropaketti tarjoaa tehokkaampia tapoja (katso ympäristöjä \verb|align|, \verb|flalign|, \verb|gather|, \verb|multline| ja \verb|split|). \section{Haamut} Haamuja ei voi nähdä, mutta ne kuitekin askarruttavat monien mieltä. \LaTeX{} ei eroa tässä suhteessa. Haamuja voidaan käyttää mielenkiintoisten välistystemppujen tekemiseen. Kun tekstiä tasataan pystysuunnassa \verb|^|- ja \verb|_|-komentoja käytettäessä, \LaTeX{} on joskus vähän liiankin avulias. \ci{phantom}-komennolla voidaan varata tilaa merkeille, jotka eivät tule näkyviin lopputuloksessa. Parasta kun vilkaistaan seuraavaa esimerkkiä: \begin{example} \begin{displaymath} {}^{12}_{\phantom{1}6}\textrm{C} \qquad \textrm{versus} \qquad {}^{12}_{6}\textrm{C} \end{displaymath} \end{example} \begin{example} \begin{displaymath} \Gamma_{ij}^{\phantom{ij}k} \qquad \textrm{versus} \qquad \Gamma_{ij}^{k} \end{displaymath} \end{example} \section{Matematiikan kirjasinkoko}\label{sec:fontsz} \index{matematiikan kirjasinkoko} Matematiikkatilassa \TeX{} valitsee kirjasimen koon kontekstin mukaan. Jos osa yhtälöstä halutaan latoa antiikvalla, ei pidä käyttää \verb|\textrm|-komentoa, sillä kirjasimen koon vaihtava mekanismi ei toimi, koska \verb|\textrm| siirtyy väliaikaisesti takaisin tekstitilaan. Koonvaihtomekanismin toiminnan kannalta pitäisi käyttää \verb|\mathrm|-käskyä. On kuitenkin huomattava, että \ci{mathrm} toimii ainoastaan lyhyillä kohteilla. Välilyönnit ja kirjainten aksentit eivät edelleenkään toimi.\footnote{\AmS-\LaTeX:ssa \ci{textrm}-komento toimii koon vaihdon kanssa.} \begin{example} \begin{equation} 2^{\textrm{nd}} \quad 2^{\mathrm{nd}} \end{equation} \end{example} Toisinaan \LaTeX:lle täytyy kuitenkin kertoa kirjasimen oikea koko. Matematiikkatilassa kirjasinkoko asetetaan neljällä komennolla: \begin{flushleft} \ci{displaystyle}~($\displaystyle 123$), \ci{textstyle}~($\textstyle 123$), \ci{scriptstyle}~($\scriptstyle 123$) ja \ci{scriptscriptstyle}~($\scriptscriptstyle 123$). \end{flushleft} Tyylin vaihtaminen vaikuttaa myös rajoittimien esittämiseen. \begin{example} \begin{displaymath} \mathop{\mathrm{corr}}(X,Y)= \frac{\displaystyle \sum_{i=1}^n(x_i-\overline x) (y_i-\overline y)} {\displaystyle\biggl[ \sum_{i=1}^n(x_i-\overline x)^2 \sum_{i=1}^n(y_i-\overline y)^2 \biggr]^{1/2}} \end{displaymath} \end{example} % This is not a math accent, and no maths book would be set this way. % mathop gets the spacing right. \noindent Tämä on eräs niistä esimerkeistä, joissa tarvitaan suurempia sulkeita kuin \verb|\left[ \right]|:n tarjoamat. \section{Teoreemat, lait, \ldots} Matemaattisia dokumentteja kirjoitettaessa tarvitaan todennäköisesti keino latoa lemmoja, määritelmiä, aksioomeja ja vastaavia rakenteita. \LaTeX:ssa tätä tukee komento \begin{lscommand} \ci{newtheorem}\verb|{|\emph{nimi}\verb|}[|\emph{laskuri}\verb|]{|% \emph{teksti}\verb|}[|\emph{osio}\verb|]| \end{lscommand} Argumentti \emph{nimi} on lyhyt tunniste teoreemalle. \emph{teksti}-argumentilla, määritellään teoreeman varsinainen nimi, joka tulostuu lopulliseen dokumenttiin. Hakasulkeissa olevat argumentit ovat vaihtoehtoisia. Niitä kumpaakin käytetään määrittelemään teoreemassa käytettyä numerointia. \emph{laskuri}"-argumentilla määritellään aikaisemmin määritellyn teoreeman \emph{nimi}. Uusi teoreema numeroidaan sitten saman sarjan mukaan. \emph{osio}-argumentilla voidaan määritellä osiointiyksikkö, minkä mukaan teoreema numeroidaan. Kun dokumentin esittelyosassa on suoritettu \ci{newtheorem}-komento, voidaan dokumentissa käyttää seuraavaa käskyä. \begin{code} \verb|\begin{|\emph{nimi}\verb|}[|\emph{teksti}\verb|]|\\ Tämä on mielenkiintoinen teoreemani\\ \verb|\end{|\emph{nimi}\verb|}| \end{code} Tämä teoriapuolesta. Seuraavat esimerkit toivottavasti poistavat viimeisetkin epäilyt ja tekevät selväksi, että \verb|\newtheorem|-ympäristö on ymmärtämisen kannalta liian mutkikas. \begin{example} % määritelmiä dokumentin % esittelyosaan \newtheorem{laki}{Laki} \newtheorem{jury}[laki]{Jury} %itse dokumentti \begin{laki} \label{laki:box} Alä piiloudu todistajanaitioon \end{laki} \begin{jury}[Kaksitoista] Se voisit olla sinä! Siispä varo ja katso lakia \ref{laki:box} \end{jury} \begin{laki}Ei, ei, ei, ei\end{laki} \end{example} Jury-teoreema käyttää samaa laskuria kuin Laki-teoreema. Niinpä se saa numeroinnin samasta sarjasta kuin muut ''Lait''. Hakasulkeissa olevaa argumenttia käytetään määrittelemään teoreeman otsikkoa tai vastaavaa. \begin{example} \flushleft \newtheorem{mur}{Murphy}[section] \begin{mur} Jos on kaksi tai useampi tapaa tehdä jotain, ja yksi näistä tavoista voi johtaa katastrofiin, niin joku käyttää sitä tapaa.\end{mur} \end{example} Murphyn teoreema saa numeron joka on yhteydessä osion numeroon. Tässä voidaan käyttää myös muita yksiköitä, esimerkiksi lukua tai alaosiota. \section{Lihavoidut symbolit} \index{lihavoidut symbolit} \LaTeX:ssa on hyvin vaikeaa saada symboleja lihavoitua; tämä on tehty ilmeisesti tarkoituksella, sillä amatöörilatojilla on tapana käyttää niitä liikaa. Kirjasimenvaihtokäsky \verb|\mathbf| antaa lihavoituja kirjaimia, mutta nämä ovat pystyjä antiikvakirjaimia, kun taas matemaattiset symbolit ladotaan normaalisti kursiivilla. On olemassa myös \ci{boldmath}-komento, mutta \emph{tätä voidaan käyttää vain matematiikkatilan ulkopuolella}. Se toimii myös symboleille. \begin{example} \begin{displaymath} \mu, M \qquad \mathbf{M} \qquad \mbox{\boldmath $\mu, M$} \end{displaymath} \end{example} \noindent Huomaa, että myös pilkku on lihavoitu, mikä voi olla tarkoituskin. \pai{amsbsy}-makrot (jotka kuuluvat osana \pai{amsmath}-pakettiin) tekevät tästä helpomman tehtävän, sillä siinä on mukana komento \ci{boldsymbol}. \ifx\boldsymbol\undefined\else \begin{example} \begin{displaymath} \mu, M \qquad \boldsymbol{\mu}, \boldsymbol{M} \end{displaymath} \end{example} \fi %%% Local Variables: %%% mode: latex %%% TeX-master: "lyhyt2e" %%% End: