L A T E X Móra Péter Informatika 1 el adás, 2008. november 17. 1
1. Graka a TikZ csomaggal 1.0.1. Tikz csomagról általában A tikz ábrákat pdflatex paranccsal fordítsuk! Két lehet ségünk van: 1. A tex fájlban beillesztjük a tikz kódot, mint esetünkben. Ekkor csak pdf -et tudunk fordítani a pdflatex paranccsal. 2. Egy speciális preambulummal ellátott tex fájlban elkészítjük a rajzot, majd pdf fájlt generálunk bel le (ekkor a lap szélessége, magassága pontosan akkora lesz, mint az ábra). Ebb l lehet eps fájlt konvertálni. A készített kép vektorgrakus kép, tehát a mérete kicsi lesz. Részletes leírást tettem fel a wiki-re EPS ábra készítése TikZ csomaggal LaTeXben címmel. Fordíthatunk latex paranccsal dvi fájlt, ám az általam kipróbált dvi megjelenít k (YaP, evince, kdvi, xdvi) egyike sem tudta megfelel en megjeleníteni a node paranccsal megjelenített szöveget. Van még lehet ség arra, hogy az így fordított dvi fájlt dvips vagy dvipdfm paranccsal (utóbbi nekem nem ment) ps vagy pdf formátumba konvertáljuk. Ennek körülményessége miatt én a fent említett két módszert ajánlanám. Nem kell tudni ábrát rajzolni a ZH-ban. Olyan kérdés lehet, hogy mit rajzol egy kódrészlet. A házi feladatokhoz van egy 560 oldalas leírás: http://www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf 1.1. Vonalak, körök, színezés Az alábbi parancsokhoz szükséges, hogy betöltsük a tikz csomagot és pdatex paranccsal fog csak jól fordulni. \usepackage{tikz} Az alábbi példában egy négyzetet rajzolunk. A parancsokat érdemes úgy felfogni, mintha szegmenseket adnánk meg: a (0,0) pontból indulunk, majd mindegyik parancs -- (x,y) alakú. Jelentésük: az el z szegmens végér l húz egy vonalat a megadott koordinátához. \draw (0,0) -- (2,0) -- (2,2) -- (0,2) -- (0,0); 2
A koordináták alapértelmezés szerint cm-ben értend ek. Van lehet ség például pontban (1 pont 1/72 inch, pl. (5pt,5pt)) és mm-ben (pl. (5mm,5mm)) is megadni koordinátákat. \draw[line width=5pt] (0,0)--(2,0)--(2,2)--(0,2)--(0,0); \draw[line width=5pt] (6,0)--(8,0)--(8,2)--(6,2)--cycle; 3
\draw (0,5) -- (4,5); \draw[thick] (0,4) -- (4,4); \draw[thick,->] (0,3) -- (4,3); \draw[thick,->>] (0,2) -- (4,2); \draw[thick,<->] (0,1) -- (4,1); \draw[thick,<-] (0,0) -- (4,0); \draw (0,0) circle (0.5); \draw[dashed] (2,0) circle (1.5); 4
A arc parancs egy ívet rajzol. Els re fura lehet, hogy azt a koordinátát kell megadni, ahonnan kezdje az ívet, és nem a kör középpontját. Ez összhangban van az els példánál látott szegmensekb l való építkezéssel. A paraméterek: az ívet meghatározó szögek illetve a kör sugara. \draw (0,0) arc (0:180:1); \draw (0,0) arc (180:360:1.5); \draw[thick,color=red] (0,0) circle (0.5); \draw[thick,fill=red] (1,0) circle (0.5); 5
1.2. Node \draw[thick] (0,0) -- (2,0); \draw (0,0) node {abc}; \draw (2,0) node {$y^2$}; abc y 2 A node alapértelmezés szerint középre igazít. Ezt felülírhatjuk a left, right, above, below opciókkal. \draw[thick] (0,0) -- (2,0); \draw (0,0) node[left] {balra}; \draw (0,0) node[above] {fent}; \draw (2,0) node[right] {jobbra}; \draw (2,0) node[below] {lent}; balra fent jobbra lent 6
Ha a node parancsot egy szegmens után tesszük (például vonal után), akkor a pos opcióval meghatározhatjuk, hogy hova igazítsa a szöveget az el z szegmensen belül. A sloped paraméter hatására a szöveg döntését a vonaléhoz igazítja. \draw (0,4) -- (2,5) node[pos=0] {eleje}; \draw (0,3) -- (2,4) node[pos=0.33] {harmad}; \draw (0,2) -- (2,3) node[pos=1] {vége}; \draw (0,1) -- (2,2) node[pos=0.5,sloped] {közép}; \draw (0,0) -- (2,1) node[pos=0.5,sloped,above] {közép}; eleje harmad vége közép közép 7
Nem csak szöveget illeszthetünk be a node paranccsal, hanem képet és képletet is. A képletek beillesztésére csak a $ jelek között van mód szövegközi képletként (kiemelt képletnél nem a megadott koordinátához igazítaná). Ekkor jön jól, hogy szövegközi módon belül a \displaystyle paranccsal átválthatunk kiemelt módra. \draw (0,0) node {\includegraphics[scale=0.6]{sin}}; \draw (2,2) node {$\displaystyle \sum_{k=0}^{\infty} \frac{(-1)^kx^{2k+1}}{(2k+1)!}$}; k=0 ( 1) k x 2k+1 (2k + 1)! 8
Van lehet ség a nodeok koordinátáját elmenteni. \draw (0,0) node (A) {abc}; \draw (4,2) node (B) {dfghijk}; \draw[very thick,->] (A) -- (B); dfghijk abc \draw (0,0) node[draw] (A) {abc}; \draw (4,2) node[draw,circle] (B) {dfghijk}; \draw[very thick,->] (A) -- (B) node[pos=0.5,above,sloped] {nyíl}; \draw (A) to [->,dashed,bend right=90] (B); dfghijk nyíl abc 9
1.3. Hasznos dolgok Ha szeretnénk az ábrát nagyítani, kicsinyíteni, akkor nem kell a koordinátákat egyessével átírni, hanem van lehet ség globálisan a scale opcióval ezt megtenni. A bet k méretét, a vonalak vastagságát ez a parancs nem befolyásolja. [scale=0.5] \draw (0,0) node[draw] (A) {\tiny{abc}}; \draw (4,2) node[draw,circle] (B) {dfghijk}; \draw[very thick,->] (A) -- (B); \draw (A) to [->,dashed,bend right=90] (B); dfghijk abc 10
A clip paranccsal megadhatunk egy területet. Azt követ rajzolásokból csak a megadott területbe es részeket jeleníti meg. A láthatóság kedvéért el ször körberajzoljuk a kivágott területet. \draw (0,-1) -- (2,1) arc (-45:135:1.4142) -- (-2,1) -- cycle; \clip (0,-1) -- (2,1) arc (-45:135:1.4142) -- (-2,1) -- cycle; \draw (0,0) node {\includegraphics[scale=0.6]{sin}}; \draw (2,2) node {$\displaystyle \sum_{k=0}^{\infty} \frac{(-1)^kx^{2k+1}}{(2k+1)!}$}; k=0 ( 1) k x (2k + 1.4. Beágyazás gure környezetbe \begin{figure} \begin{center} \draw (0,0) node {\includegraphics[scale=0.6]{sin}}; \draw[->,thick] (2,2) node[above] {$\pi \approx 3,1415926535$} -- (0,0); \draw[->,thick] (-1,-2) node[below] {$\displaystyle\frac{\pi}{2}$} -- (-1.7,0); 11
π 3, 1415926535 π 2 s3 1. ábra. A sin(x) függvény \end{center} \caption{a $sin(x)$ függvény} \end{figure} Lásd az 1. ábra. 2. Bibliográa L A TEXben a hivatkozások kezelésére két módszer van: A tex fájl végén soroljuk fel azokat a m veket, amelyekre hivatkozunk. Ez egyszer bb, ám nekünk kézzel kell formáznunk a bibliográát. Külön bib fájlt használunk, amelyet bibtex programmal kell lefordítanunk. Ezen külön fájl tartalmazhat egy hatalmas adatbázist, és csak 12
azok a hivatkozások kerülnek be a dokumentumunkba, amelyekre ténylegesen hivatkoztunk. Az els megoldást tárgyaljuk. A \cite parancsnak van \acite és \Acite megfelel je. Két független véletlen Cantor halmaz algebrai különbségének \cite{deksim} vizsgálatához hasznos lehet a véletlen környezetben fejl d elágazó folyamatok elmélete \cite[theorem 3.]{Ath}. Két független véletlen Cantor halmaz algebrai különbségének [2] vizsgálatához hasznos lehet a véletlen környezetben fejl d elágazó folyamatok elmélete [1, Theorem 3.]. Az alábbiakban sajnos egy nem szokványos dolgot kell csinálnunk: segítenünk kell a formázásban. A \bibitem-et követ részen belül is (\textit hatására dönti meg a bet ket), továbbá a \begin{thebibliography}{9} parancsban a 9 nem számot reprezentál, hanem azt jelenti, hogy 1 karakter széles lehet az összes bibliográai elem sorszáma. Ha legalább 10 hivatkozásunk van, akkor ezt a számot ki kell cserélnünk egy két bet b l álló tetsz leges szóra. \begin{thebibliography}{9} \bibitem{ath} K.~B.~Athreyam, S.~Karlin, On branching processes with random environments: I, Extinction probabilities \textit{the Annals of Mathematical Statistics}, 42(5):1499--1520, 1971. \bibitem{deksim} F.M. Dekking and K.~Simon., On the size of the algebraic difference of two random Cantor sets. 13
\textit{random Structures and Algorithms}, 32, (2008) 205-222. \end{thebibliography} Hivatkozások Ath [1] K. B. Athreyam, S. Karlin, On branching processes with random environments: I, Extinction probabilities The Annals of Mathematical Statistics, 42(5):14991520, 1971. DekSim [2] F.M. Dekking and K. Simon., On the size of the algebraic dierence of two random Cantor sets. Random Structures and Algorithms, 32, (2008) 205-222. 14