LTEX A
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. LATEX parancs:
\begin{tikzpicture} \draw (0,0) -- (2,0) -- (2,2) -- (0,2) -- (0,0); \end{tikzpicture} 2
Eredmény:
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. LATEX parancs:
\begin{tikzpicture} \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; \end{tikzpicture} Eredmény:
3
LATEX parancs:
\begin{tikzpicture} \draw (0,5) \draw[thick] (0,4) \draw[thick,->] (0,3) \draw[thick,->>] (0,2) \draw[thick,<->] (0,1) \draw[thick,<-] (0,0) \end{tikzpicture}
-------
(4,5); (4,4); (4,3); (4,2); (4,1); (4,0);
Eredmény:
LATEX parancs:
\begin{tikzpicture} \draw (0,0) circle (0.5); \draw[dashed] (2,0) circle (1.5); \end{tikzpicture} Eredmény:
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. LATEX parancs:
\begin{tikzpicture} \draw (0,0) arc (0:180:1); \draw (0,0) arc (180:360:1.5); \end{tikzpicture} Eredmény:
LATEX parancs:
\begin{tikzpicture} \draw[thick,color=red] (0,0) circle (0.5); \draw[thick,fill=red] (1,0) circle (0.5); \end{tikzpicture} Eredmény:
5
1.2. Node
LATEX parancs:
\begin{tikzpicture} \draw[thick] (0,0) -- (2,0); \draw (0,0) node {abc}; \draw (2,0) node {$y^2$}; \end{tikzpicture} Eredmény:
abc
y2
A node alapértelmezés szerint középre igazít. Ezt felülírhatjuk a left, right, above, below opciókkal.
LATEX parancs:
\begin{tikzpicture} \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}; \end{tikzpicture} Eredmény:
fent balra
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. LATEX parancs:
\begin{tikzpicture} \draw (0,4) -- (2,5) \draw (0,3) -- (2,4) \draw (0,2) -- (2,3) \draw (0,1) -- (2,2) \draw (0,0) -- (2,1) \end{tikzpicture}
node[pos=0] node[pos=0.33] node[pos=1] node[pos=0.5,sloped] node[pos=0.5,sloped,above]
Eredmény:
eleje harmad
vége
ép köz ép köz
7
{eleje}; {harmad}; {vége}; {közép}; {közép};
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. LATEX parancs:
\begin{tikzpicture} \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)!}$}; \end{tikzpicture} Eredmény:
∞ X (−1)k x2k+1 k=0
(2k + 1)!
8
Van lehet®ség a nodeok koordinátáját elmenteni.
LATEX
parancs:
\begin{tikzpicture} \draw (0,0) node (A) {abc}; \draw (4,2) node (B) {dfghijk}; \draw[very thick,->] (A) -- (B); \end{tikzpicture} Eredmény:
dfghijk
abc LATEX parancs:
\begin{tikzpicture} \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); \end{tikzpicture} Eredmény:
dfghijk
l nyí 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. LATEX parancs:
\begin{tikzpicture}[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); \end{tikzpicture} Eredmény:
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. LATEX parancs:
\begin{tikzpicture} \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)!}$}; \end{tikzpicture} Eredmény: ∞ X (−1)k x2k+1 k=0
(2k + 1)!
1.4. Beágyazás
LATEX parancs:
gure
környezetbe
\begin{figure} \begin{center} \begin{tikzpicture} \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); \end{tikzpicture} 11
π ≈ 3, 1415926535
π 2
1. ábra. A sin(x) függvény
hs3i
\end{center} \caption{A $sin(x)$ függvény} \end{figure} Eredmény:
Lásd az 1. ábra.
2. Bibliográa LATEXben 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.
LATEX parancs:
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}. Eredmény: 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. LATEX parancs:
\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} Eredmény:
Hivatkozások Ath [1] K. B. Athreyam, S. Karlin, On branching processes with random environ-
ments: 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