diff options
author | Karl Berry <karl@freefriends.org> | 2005-12-29 00:27:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2005-12-29 00:27:37 +0000 |
commit | 552e8e81144b7da6e992c9a8350da1e4aa9460ef (patch) | |
tree | fea6c17016d19f845ae24ebbd5bac4f14d9454d9 /Master/texmf-doc/doc/finnish/lshort-finnish/src/grafiikka.tex | |
parent | c365d78bfcdeb6493a68e35e852244839c1c9ee4 (diff) |
doc/finnish
git-svn-id: svn://tug.org/texlive/trunk@17 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-doc/doc/finnish/lshort-finnish/src/grafiikka.tex')
-rw-r--r-- | Master/texmf-doc/doc/finnish/lshort-finnish/src/grafiikka.tex | 634 |
1 files changed, 634 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/finnish/lshort-finnish/src/grafiikka.tex b/Master/texmf-doc/doc/finnish/lshort-finnish/src/grafiikka.tex new file mode 100644 index 00000000000..a16ec8f47ae --- /dev/null +++ b/Master/texmf-doc/doc/finnish/lshort-finnish/src/grafiikka.tex @@ -0,0 +1,634 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setcounter{chapter}{4} +\newcommand{\graphicscompanion}{\emph{The \LaTeX{} Graphics Companion}~\cite{graphicscompanion}} +\newcommand{\hobby}{\emph{A User's Manual for MetaPost}~\cite{metapost}} +\newcommand{\hoenig}{\emph{\TeX{} Unbound}~\cite{unbound}} +\newcommand{\graphicsinlatex}{\emph{Graphics in \LaTeXe{}}~\cite{ursoswald}} + +\chapter{Grafiikan tuottaminen matematiikan tarpeisiin} + +\begin{intro} +Useimmat käyttävät {\LaTeX}:ia tekstin latomiseen. \LaTeX\ tarjoaa myös +rajallisen mahdollisuuden tuottaa grafiikkaa käskyjen avulla. +Rajoittuneita mahdollisuuksia lisäävät lukuisat {\LaTeX}-lisäykset. Tässä osassa opitaan +muutama niistä. +\end{intro} + +\section{Yleiskatsaus} + +{\LaTeX}:ssa voidaan määritellä kuvia \ei{picture}-ympäristöllä. +Yksityiskohtainen kuvaus löytyy ohjeesta \manual. Toisaalta menetelmässä +on pahoja puutteita. Kulmat, joissa vinoja viivoja voidaan esittää, sekä +ympyröiden säteet on rajattu tiettyihin arvoihin. Toisaalta taas {\LaTeX}:n +\ei{picture}-ympäristö sisältää \ci{qbezier}-komennon, jossa ''\texttt{q}'' +tarkoittaa neliötä (quadratic). Monet usein käytetyistä käyristä eli +ympyrät, ellipsit tai katenoidikäyrät voidaan esittää lähestulkoon tyydyttävästi +toisen asteen Bézier-käyrillä, vaikka tämä voi vaatia hieman matemaattista +vaivannäköä. Mikäli lisäksi käytetään Javan tapaista ohjelmointikieltä +\ci{qbezier}-blokkien luomiseksi {\LaTeX}-tiedostoista, tulee \ei{picture}-ympäristöstä +melko tehokas. + +Vaikka kuvien piirtäminen {\LaTeX}:ssa on hyvin rajoittunutta ja usein +hankalaa, on siihen kuitenkin hyvät syynsä. Näin tuotetut dokumentit +ovat tiedostokooltaan pieniä eikä ylimääräisiin grafiikkatiedostoihin +ole mitään tarvetta. + +{\LaTeX}:n graafisia ominaisuuksia voidaan parantaa käyttämällä pakkauksia +\pai{epic} ja \pai{eepic} (nämä on kuvattu teoksessa \companion) tai \pai{pstricks}, +jotka poistavat alkuperäisen \ei{picture}-ympäristön rajoituksia. + +Kaksi ensinmainittua makropakkausta parantavat \ei{picture}-ympäristöä, mutta +\pai{pstricks} sisältää aivan oman piirustusympäristön \ei{pspicture}. +\pai{pstricks}-pakkauksen voima on siinä, että se käyttää hyvin tarkkaan +PostScriptin ominaisuuksia. Lisäksi on vielä lukuisia erityisiin tarkoituksiin tehtyjä +makropakkauksia. Eräs niistä on \texorpdfstring{\Xy}{Xy}-pic, joka on kuvattu +tämän luvun lopussa. Teoksessa \graphicscompanion{} (jota ei pidä sekoittaa +teokseen \companion{}) on kuvattu yksityiskohtaisesti +useita näitä makropakkauksia. + +Ehkä tehokkain {\LaTeX}:iin liittyvä graafinen työkalu on \texttt{MetaPost}, joka +on Donald E. Knuthin \texttt{METAFONT}:n kaksoissisar. \texttt{MetaPost} käyttää +\texttt{METAFONT}:n hyvin tehokasta ja matemaattisesti sofistikoitua ohjelmointikieltä. +\texttt{METAFONT}:n bittikarttakuvien sijasta \texttt{MetaPost} tuottaa +PostScript-tiedostoja, joita voidaan liittää {\LaTeX}-dokumenttiin. Johdantona +voidaan käyttää teosta {\hobby} tai teoksesta \cite{ursoswald} löytyvää oppijaksoa. + +Teoksessa on \hoenig{} on hyvin perinpohjainen esitys {\LaTeX}:n ja {\TeX}:n graafisista +ominaisuuksista (sekä kirjasimista). + +\section{\texttt{picture}-ympäristö} +\secby{Urs Oswald}{osurs@bluewin.ch} + +\subsection{Peruskomennot} + +\ei{picture}-ympäristö\footnote{Kaiken huipuksi tämä kuvaympäristö toimii ilman mitään +erityisiä makropakkauksia.} otetaan käyttöön joko komennolla +\begin{lscommand} +\ci{begin}\verb|{picture}(|$x,y$\verb|)|\ldots\ci{end}\verb|{picture}| +\end{lscommand} +\noindent tai +\begin{lscommand} +\ci{begin}\verb|{picture}(|$x,y$\verb|)(|$x_0,y_0$\verb|)|\ldots\ci{end}\verb|{picture}| +\end{lscommand} +Numerot $x,\,y,\,x_0,\,y_0$ viittaavat \ci{unitlength}-muuttujaan, jolle voidaan asettaa +arvo milloin tahansa (ei kuitenkaan \ei{picture}-ympäristön sisällä) esimerkiksi komennolla + +\begin{lscommand} +\ci{setlength}\verb|{|\ci{unitlength}\verb|}{1.2cm}| +\end{lscommand} +Muuttujan \ci{unitlength} oletusarvo on \texttt{1pt}. Ensimmäinen pari, $(x,y)$, varaa +kuvalle nelikulmaisen tilan dokumentista. Toista paria, $(x_0,y_0)$, voidaan käyttää +tarvittaessa asettamaan mielivaltaiset koordinaatit nelikulmion vasemmasta alakulmasta. + +Useimmat piirustuskomennot ovat joko muotoa +\begin{lscommand} +\ci{put}\verb|(|$x,y$\verb|){|\emph{objekti}\verb|}| +\end{lscommand} +\noindent tai +\begin{lscommand} +\ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{objekti}\verb|}|\end{lscommand} +Bézier-käyrät ovat poikkeus. Ne piirretään komennolla +\begin{lscommand} +\ci{qbezier}\verb|(|$x_1,y_1$\verb|)(|$x_2,y_2$\verb|)(|$x_3,y_3$\verb|)| +\end{lscommand} + +\subsection{Suorat viivat} + +\begin{example} +\setlength{\unitlength}{5cm} +\begin{picture}(1,1) + \put(0,0){\line(0,1){1}} + \put(0,0){\line(1,0){1}} + \put(0,0){\line(1,1){1}} + \put(0,0){\line(1,2){.5}} + \put(0,0){\line(1,3){.3333}} + \put(0,0){\line(1,4){.25}} + \put(0,0){\line(1,5){.2}} + \put(0,0){\line(1,6){.1667}} + \put(0,0){\line(2,1){1}} + \put(0,0){\line(2,3){.6667}} + \put(0,0){\line(2,5){.4}} + \put(0,0){\line(3,1){1}} + \put(0,0){\line(3,2){1}} + \put(0,0){\line(3,4){.75}} + \put(0,0){\line(3,5){.6}} + \put(0,0){\line(4,1){1}} + \put(0,0){\line(4,3){1}} + \put(0,0){\line(4,5){.8}} + \put(0,0){\line(5,1){1}} + \put(0,0){\line(5,2){1}} + \put(0,0){\line(5,3){1}} + \put(0,0){\line(5,4){1}} + \put(0,0){\line(5,6){.8333}} + \put(0,0){\line(6,1){1}} + \put(0,0){\line(6,5){1}} +\end{picture} +\end{example} +Suorat viivat piirretään komennolla +\begin{lscommand} +\ci{put}\verb|(|$x,y$\verb|){|\ci{line}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}| +\end{lscommand} +Komennolla \ci{line} on kaksi parametria: +\begin{enumerate} + \item suuntavektori, + \item pituus. +\end{enumerate} +Suuntavektori koostuu kokonaisluvuista +\[ + -6,\,-5,\,\ldots,\,5,\,6, +\] +ja niiden on oltava lisäksi keskenään jaottomia (eli ei yhteistä jakajaa ykköstä lukuunottamatta). +Kuvassa esitetään kaikki 25 ensimmäisen kvadrantin mahdollista arvoa. Pituus riippuu +\ci{unitlength}-muuttujan arvosta. Pituusparametri on vaakaviivan tapauksessa vaakakoordinaatti, +muussa tapauksessa kyseessä on pystykordinaatti. + +\subsection{Nuolet} + +\begin{example} +\setlength{\unitlength}{1mm} +\begin{picture}(60,40) + \put(30,20){\vector(1,0){30}} + \put(30,20){\vector(4,1){20}} + \put(30,20){\vector(3,1){25}} + \put(30,20){\vector(2,1){30}} + \put(30,20){\vector(1,2){10}} + \thicklines + \put(30,20){\vector(-4,1){30}} + \put(30,20){\vector(-1,4){5}} + \thinlines + \put(30,20){\vector(-1,-1){5}} + \put(30,20){\vector(-1,-4){5}} +\end{picture} +\end{example} +Nuolet piirretään komennolla +\begin{lscommand} +\ci{put}\verb|(|$x,y$\verb|){|\ci{vector}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}| +\end{lscommand} +Nuolien suuntavektorit ovat jopa suorien suuntavektoreita rajoitutempia. +Niiden argumentteina voivat olla ainoastaan kokonaisluvut +\[ + -4,\,-3,\,\ldots,\,3,\,4. +\] +Argumenttien on lisäksi oltava keskenään jaottomia (ei yhteistä jakajaa ykköstä lukuunottamatta). On syytä +huomata komennon \ci{thicklines} vaikutus kahteen vasempaan yläkulmaan osoittavaan nuoleen. + +\subsection{Ympyrät} + +\begin{example} +\setlength{\unitlength}{1mm} +\begin{picture}(60, 40) + \put(20,30){\circle{1}} + \put(20,30){\circle{2}} + \put(20,30){\circle{4}} + \put(20,30){\circle{8}} + \put(20,30){\circle{16}} + \put(20,30){\circle{32}} + + \put(40,30){\circle{1}} + \put(40,30){\circle{2}} + \put(40,30){\circle{3}} + \put(40,30){\circle{4}} + \put(40,30){\circle{5}} + \put(40,30){\circle{6}} + \put(40,30){\circle{7}} + \put(40,30){\circle{8}} + \put(40,30){\circle{9}} + \put(40,30){\circle{10}} + \put(40,30){\circle{11}} + \put(40,30){\circle{12}} + \put(40,30){\circle{13}} + \put(40,30){\circle{14}} + + \put(15,10){\circle*{1}} + \put(20,10){\circle*{2}} + \put(25,10){\circle*{3}} + \put(30,10){\circle*{4}} + \put(35,10){\circle*{5}} +\end{picture} +\end{example} +Komento +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|){|\ci{circle}\verb|{|\emph{halkaisija}\verb|}}| +\end{lscommand} +\noindent piirtää ympyrän, jonka keskipiste on $(x,y)$ ja halkaisija (ei siis säde) +on \emph{halkaisija}. \ei{picture}-ympäristössä suurin mahdollinen halkaisija on +noin 14\,mm. Kaikki tätä pienemmät halkaisijat eivät kuitenkaan ole mahdollisia. +Komennolla \ci{circle*} piirretään täytettyjä ympyröitä. + +Aivan kuten suorien viivojen tapauksessa, voi olla tarpeen käyttää lisämakropakkauksia +\pai{eepic} tai \pai{pstricks}. Nämä on kuvattu perinpohjin teoksessa \graphicscompanion. + +Mikäli ylimääräisten laskelmien tekeminen ei pelota, ympyröitä ja käyriä voidaan +kasata myös toisen asteen Bézier-käyrien avulla. +Esimerkkejä ja Java-lähdekoodia löytyy teoksesta \graphicsinlatex{}. + +\subsection{Tekstiä ja kaavoja} + +\begin{example} +\setlength{\unitlength}{1cm} +\begin{picture}(6,5) + \thicklines + \put(1,0.5){\line(2,1){3}} + \put(4,2){\line(-2,1){2}} + \put(2,3){\line(-2,-5){1}} + \put(0.7,0.3){$A$} + \put(4.05,1.9){$B$} + \put(1.7,2.95){$C$} + \put(3.1,2.5){$a$} + \put(1.3,1.7){$b$} + \put(2.5,1.05){$c$} + \put(0.3,4){$F= + \sqrt{s(s-a)(s-b)(s-c)}$} + \put(3.5,0.4){$\displaystyle + s:=\frac{a+b+c}{2}$} +\end{picture} +\end{example} +Esimerkin mukaisesti tekstiä ja kaavoja voidaan kirjoittaa \ei{picture}-ympäristössä +\ci{put}-komentoa käyttämällä. + +\subsection{Komennot \ci{multiput} ja \ci{linethickness}} + +\begin{example} +\setlength{\unitlength}{2mm} +\begin{picture}(30,20) + \linethickness{0.075mm} + \multiput(0,0)(1,0){31}% + {\line(0,1){20}} + \multiput(0,0)(0,1){21}% + {\line(1,0){30}} + \linethickness{0.15mm} + \multiput(0,0)(5,0){7}% + {\line(0,1){20}} + \multiput(0,0)(0,5){5}% + {\line(1,0){30}} + \linethickness{0.3mm} + \multiput(5,0)(10,0){3}% + {\line(0,1){20}} + \multiput(0,5)(0,10){2}% + {\line(1,0){30}} +\end{picture} +\end{example} +Komennolla +\begin{lscommand} + \ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{objekti}\verb|}| +\end{lscommand} +\noindent on 4 parametriä: aloituspiste, siirtymävektori objektista toiseen, objektien +lukumäärä sekä piirrettävä objekti. Komento \ci{linethickness} vaikuttaa vaaka- ja pystyviivoihin, +muttei vinoviivoihin eikä ympyröihin. Se vaikuttaa kuitenkin toisen asteen Bézier-käyriin! + +\subsection{Ovaalit. Komennot \ci{thinlines} ja \ci{thicklines}} + +\begin{example} +\setlength{\unitlength}{1cm} +\begin{picture}(6,4) + \linethickness{0.075mm} + \multiput(0,0)(1,0){7}% + {\line(0,1){4}} + \multiput(0,0)(0,1){5}% + {\line(1,0){6}} + \thicklines + \put(2,3){\oval(3,1.8)} + \thinlines + \put(3,2){\oval(3,1.8)} + \thicklines + \put(2,1){\oval(3,1.8)[tl]} + \put(4,1){\oval(3,1.8)[b]} + \put(4,3){\oval(3,1.8)[r]} + \put(3,1.5){\oval(1.8,0.4)} +\end{picture} +\end{example} +Komento +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)}| +\end{lscommand} +\noindent tai +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)[|\emph{sijainti}\verb|]}| +\end{lscommand} +\noindent piirtävät ovaalin, jonka keskipiste on $(x,y)$, leveys $w$ ja korkeus $h$. +Mahdolliset \emph{sijainti}-parametrit \texttt{b}, \texttt{t}, \texttt{l}, \texttt{r} +tarkoittavat vastaavasti ''alhaalla'', ''ylhäällä'', ''vasemalla'', ''oikealla'' +ja niitä voidaan yhdistellä esimerkin mukaisesti. + +Viivan paksuuteen voidaan vaikuttaa komennolla:\\ +\ci{linethickness}\verb|{|\emph{mitta}\verb|}| +toisaalta myös komennoilla \ci{thinlines} and \ci{thicklines}. +Vaakaviivoihin (ja toisen asteen Bézier-käyriin) vaikuttaa \ci{linethickness}\verb|{|\emph{mitta}\verb|}|, +vinoviivoihin sekä ympyröihin ja ovaaleihin vaikuttavat \ci{thinlines} ja \ci{thicklines}. + +\subsection{Ennalta määriteltyjen kuvalaatikoiden käyttö} + +\begin{example} +\setlength{\unitlength}{0.5mm} +\begin{picture}(120,168) +\newsavebox{\laatikkoa}% uusi laatikko +\savebox{\laatikkoa} + (40,32)[bl]{% määritykset + \multiput(0,0)(0,28){2} + {\line(1,0){40}} + \multiput(0,0)(40,0){2} + {\line(0,1){28}} + \put(1,28){\oval(2,2)[tl]} + \put(1,29){\line(1,0){5}} + \put(9,29){\oval(6,6)[tl]} + \put(9,32){\line(1,0){8}} + \put(17,29){\oval(6,6)[tr]} + \put(20,29){\line(1,0){19}} + \put(39,28){\oval(2,2)[tr]} +} +\newsavebox{\laatikkob}% uusi laatikko +\savebox{\laatikkob} + (40,32)[l]{% määritykset + \put(0,14){\line(1,0){8}} + \put(8,0){\usebox{\laatikkoa}} +} +\put(34,26){\line(0,1){102}} +\put(14,128){\usebox{\laatikkoa}} +\multiput(34,86)(0,-37){3} + {\usebox{\laatikkob}} +\end{picture} +\end{example} +Kuvalaatikko voidaan \emph{nimetä} komennolla +\begin{lscommand} + \ci{newsavebox}\verb|{|\emph{nimi}\verb|}| +\end{lscommand} +\noindent sitten sen ominaisuudet \emph{määritellään} +\begin{lscommand} + \ci{savebox}\verb|{|\emph{nimi}\verb|}(|\emph{leveys,korkeus}\verb|)[|\emph{sijainti}\verb|]{|\emph{sisältö}\verb|}| +\end{lscommand} +\noindent ja lopuksi se voidaan tarvittaessa piirtää +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|)|\ci{usebox}\verb|{|\emph{nimi}\verb|}| +\end{lscommand} + +Mahdollinen \emph{sijainti}-parametri määrittelee kuvalaatikon +origon. Esimerkissä sillä on arvo \texttt{bl}, joka +sijoittaa origon laatikon vasempaan yläkulmaan. Muut mahdolliset arvot +ovat \texttt{t} (ylös) ja \texttt{r} oikealle. + +Parametri \emph{name} viittaa {\LaTeX}:n muuttujiin ja siitä johtuen +se muistuttaa komentoa (tästä syystä sen edessä on kenoviiva). +Kuvalaatikot voivat olla toistensa sisällä: esimerkissä \ci{laatikkoa} +on osa \ci{laatikkob}-laatikon määrityksiä. + +Tässä piti käyttää komentoa \ci{oval}, koska \ci{line} ei toimi, mikäli segmentin pituus on +alle 3\,mm. + +\subsection{Toisen asteen Bézier-käyrät} + +\begin{example} +\setlength{\unitlength}{1cm} +\begin{picture}(6,4) + \linethickness{0.075mm} + \multiput(0,0)(1,0){7} + {\line(0,1){4}} + \multiput(0,0)(0,1){5} + {\line(1,0){6}} + \thicklines + \put(0.5,0.5){\line(1,5){0.5}} + \put(1,3){\line(4,1){2}} + \qbezier(0.5,0.5)(1,3)(3,3.5) + \thinlines + \put(2.5,2){\line(2,-1){3}} + \put(5.5,0.5){\line(-1,5){0.5}} + \linethickness{1mm} + \qbezier(2.5,2)(5.5,0.5)(5,3) + \thinlines + \qbezier(4,2)(4,3)(3,3) + \qbezier(3,3)(2,3)(2,2) + \qbezier(2,2)(2,1)(3,1) + \qbezier(3,1)(4,1)(4,2) +\end{picture} +\end{example} +Esimerkistä selviää, että ympyrän jakaminen neljään toisen asteen Bézier-käyrään +ei tuo tyydyttävää tulosta. Tarvitaan ainakin kahdeksan. Kuvasta selviää lisäksi +\ci{linethickness}-komennon vaikutus pysty- tai vaakaviivoihin ja komentojen \ci{thinlines} +sekä \ci{thicklines} vaikutus vinoviivoihin. Siitä näkyy myös, että kummatkin +komentotyypit vaikuttavat toisen asteen Bézier-käyriin, jokainen seuraava komento +ohittaa vaikutuksiltaan edellisen. + +Päätepisteitä kuvatkoon $P_1=(x_1,\,y_1),\,P_2=(x_2,\,y_2)$ ja vastaavasti $m_1,\,m_2$ +toisen asteen Bézier-käyrän kaarta. Näiden välissä oleva kontrollipiste +$S=(x,\,y)$ seuraa silloin yhtälöistä +\begin{equation} \label{zwischenpunkt} + \left\{ + \begin{array}{rcl} + x & = & \displaystyle \frac{m_2 x_2-m_1x_1-(y_2-y_1)}{m_2-m_1}, \\ + y & = & y_i+m_i(x-x_i)\qquad (i=1,\,2). + \end{array} + \right. +\end{equation} +\noindent Teoksessa \graphicsinlatex\ esitetään Java-ohjelma, joka +luo tarvittavan \ci{qbezier}-komennon. + +\subsection{Katenoidikäyrä} + +\begin{example} +\setlength{\unitlength}{1.3cm} +\begin{picture}(4.3,3.6)(-2.5,-0.25) + \put(-2,0){\vector(1,0){4.4}} + \put(2.45,-.05){$x$} + \put(0,0){\vector(0,1){3.2}} + \put(0,3.35){\makebox(0,0){$y$}} + \qbezier(0.0,0.0)(1.2384,0.0) + (2.0,2.7622) + \qbezier(0.0,0.0)(-1.2384,0.0) + (-2.0,2.7622) + \linethickness{.075mm} + \multiput(-2,0)(1,0){5} + {\line(0,1){3}} + \multiput(-2,0)(0,1){4} + {\line(1,0){4}} + \linethickness{.2mm} + \put( .3,.12763){\line(1,0){.4}} + \put(.5,-.07237){\line(0,1){.4}} + \put(-.7,.12763){\line(1,0){.4}} + \put(-.5,-.07237){\line(0,1){.4}} + \put(.8,.54308){\line(1,0){.4}} + \put(1,.34308){\line(0,1){.4}} + \put(-1.2,.54308){\line(1,0){.4}} + \put(-1,.34308){\line(0,1){.4}} + \put(1.3,1.35241){\line(1,0){.4}} + \put(1.5,1.15241){\line(0,1){.4}} + \put(-1.7,1.35241){\line(1,0){.4}} + \put(-1.5,1.15241){\line(0,1){.4}} + \put(-2.5,-0.25){\circle*{0.2}} +\end{picture} +\end{example} + +Tässä kuvassa kumpikin katenoidikäyrän $y=\cosh x -1$ symmetrinen puolisko esitetään toisen +asteen Bézier-käyrällä. Käyrän oikea puoli päättyy pisteeseen \((2,\,2.7622)\), missä +kaarteella on arvo \(m=3.6269\). Käyttämällä jälleen yhtälöä (\ref{zwischenpunkt}) voidaan +laskea keskimmäiset kontrollipisteet. Ne näyttävät olevan $(1.2384,\,0)$ ja $(-1.2384,\,0)$. +Ristit osoittavat \emph{oikean} katenoidikäyrän pisteitä. Virhettä tuskin huomaa sen ollessa +alle yhden prosentin. + +Tämä esimerkki esittää \verb|\begin{picture}|-komennon mahdollisen parametrin käyttöä. +Kuva määritellään tarkoituksenmukaisilla ''matemaattisilla'' koordinaateilla, kun taas +komennolla +\begin{lscommand} + \ci{begin}\verb|{picture}(4.3,3.6)(-2.5,-0.25)| +\end{lscommand} +\noindent sen vasempaan alakulmaan (merkitty mustalla pallolla) on +liitetty koordinaatit $(-2.5,-0.25)$. + +\subsection{Nopeus suhteellisuusteoriassa} + +\begin{example} +\setlength{\unitlength}{1cm} +\begin{picture}(6,4)(-3,-2) + \put(-2.5,0){\vector(1,0){5}} + \put(2.7,-0.1){$\chi$} + \put(0,-1.5){\vector(0,1){3}} + \multiput(-2.5,1)(0.4,0){13} + {\line(1,0){0.2}} + \multiput(-2.5,-1)(0.4,0){13} + {\line(1,0){0.2}} + \put(0.2,1.4) + {$\beta=v/c=\tanh\chi$} + \qbezier(0,0)(0.8853,0.8853) + (2,0.9640) + \qbezier(0,0)(-0.8853,-0.8853) + (-2,-0.9640) + \put(-3,-2){\circle*{0.2}} +\end{picture} +\end{example} +Näiden kahden Bézier-käyrän kiintopisteet laskettiin kaavalla (\ref{zwischenpunkt}). +Positiivisen haaran määrittelee $P_1=(0,\,0),\,m_1=1$ ja $P_2=(2,\,\tanh 2),\,m_2=1/\cosh^2 2$. +Kuva on jälleen määritelty matemaattisesti sopivin koordinaatein ja vasempaan alakulmaan +sijoittuvat matemaattiset koordinaatit $(-3,-2)$ (musta ympyrä). + +\section{\texorpdfstring{\Xy}{Xy}-pic} +\secby{Alberto Manuel Brand\~ao Sim\~oes}{albie@alfarrabio.di.uminho.pt} +\pai{xy} sisältää erityismakroja kaavioiden piirtämiseen. +Sen käyttämiseksi riittää seuraavan rivin lisääminen dokumentin määrittelyosaan: +\begin{lscommand} +\verb|\usepackage[|\emph{optiot}\verb|]{xy}| +\end{lscommand} +\emph{optiot} ovat lista \Xy-picin funktioita, jotka halutaan ladata käyttöön. +Näitä optioita käytetään lähennä makrojen virheitä etsittäessä. Suosittelen +käyttämään optiota \verb!all!, joka saa {\LaTeX}:n lataamaan kaikki {\Xy}:n komennot. + +\Xy-kaaviot piirretään matriisiin, jossa kaavion jokainen elementti +on sijoitettu johonkin matriisin kohtaan: +\begin{example} +\begin{displaymath} +\xymatrix{A & B \\ + C & D } +\end{displaymath} +\end{example} +Komentoa \ci{xymatrix} täytyy käyttää matematiikkatilassa. Tässä +määritellään kaksi viivaa ja kaksi saraketta. Jotta matriisista +saadaan kaavio, siihen lisätään nuolia \ci{ar}-komentoa käyttämällä. + +\begin{example} +\begin{displaymath} +\xymatrix{ A \ar[r] & B \ar[d] \\ + D \ar[u] & C \ar[l] } +\end{displaymath} +\end{example} +Nuolikomento sijoitetaan nuolen alkupisteeseen. Parametrit kertovat +nuolen suunnan (\texttt{u} ylös, \texttt{d} alas, \texttt{r} oikealle ja +\texttt{l} vasemmalle). + +\begin{example} +\begin{displaymath} +\xymatrix{ + A \ar[d] \ar[dr] \ar[r] & B \\ + D & C } +\end{displaymath} +\end{example} +Vinoviivojen tekemiseen käytetään yhtä useampaa suuntaa. +Suuntaparametreja voi itseasiassa toistaa suurempien nuolten +tekemiseksi. +\begin{example} +\begin{displaymath} +\xymatrix{ + A \ar[d] \ar[dr] \ar[drr] & & \\ + B & C & D } +\end{displaymath} +\end{example} + +Kaavioista saadaan vielä mielenkiintoisempia lisäämällä +nuoliin tunnisteita. Niiden tekemiseen käytetään yleisiä +ylä- ja alaindeksioperaattoreita. +\begin{example} +\begin{displaymath} +\xymatrix{ + A \ar[r]^f \ar[d]_g & + B \ar[d]^{g'} \\ + D \ar[r]_{f'} & C } +\end{displaymath} +\end{example} + +Näitä operaattoreita käytetään kuten normaalisti matematiikkatilassa. +Ainoa ero on merkityksessä: yläindeksi tarkoittaa ''nuolen päällä'' +ja alaindeksi tarkoittaa ''nuolen alla''. On myös olemassa kolmas operaattori: +pystyviiva (\verb+|+). Se sijoittaa tekstin \emph{keskelle} nuolta. + +\begin{example} +\begin{displaymath} +\xymatrix{ + A \ar[r]|f \ar[d]|g & + B \ar[d]|{g'} \\ + D \ar[r]|{f'} & C } +\end{displaymath} +\end{example} + +Nuoli, jossa on reikä, piirretään \verb!\ar[...]|\hole!. + +Joissain tilanteissa on tärkeää erottaa erityyppiset nuolet toisistaan. +Se voidaan tehdä panemalla niihin tunnisteita tai muuttamalla niiden +ulkoasua: + +\begin{example} +\shorthandoff{"} +\begin{displaymath} +\xymatrix{ + \bullet\ar@{->}[rr] && \bullet\\ + \bullet\ar@{.<}[rr] && \bullet\\ + \bullet\ar@{~)}[rr] && \bullet\\ + \bullet\ar@{=(}[rr] && \bullet\\ + \bullet\ar@{~/}[rr] && \bullet\\ + \bullet\ar@{^{(}->}[rr] && \bullet\\ + \bullet\ar@2{->}[rr] && \bullet\\ + \bullet\ar@3{->}[rr] && \bullet\\ + \bullet\ar@{=+}[rr] && \bullet +} +\end{displaymath} +\shorthandon{"} +\end{example} + +Huomaa ero kahden seuraavan kaavion välillä: + +\begin{example} +\begin{displaymath} +\xymatrix{ + \bullet \ar[r] + \ar@{.>}[r] & + \bullet +} +\end{displaymath} +\end{example} + +\begin{example} +\begin{displaymath} +\xymatrix{ + \bullet \ar@/^/[r] + \ar@/_/@{.>}[r] & + \bullet +} +\end{displaymath} +\end{example} + +Kauttaviivojen välissä olevat modifikaattorit määrittelevät +miten käyrät piirretään. \Xy-pic tarjoaa useita tapoja +käyrien piirtämiseksi. Lisätietoja saa \Xy-picin käyttöohjeista. + +% \begin{example} +% \begin{lscommand} +% \ci{dum} +% \end{lscommand} +% \end{example} + |