% Först av allt specifierar vi typen av dokument: \documentclass{article} % För att rita figurer använder vi tikz: \usepackage{tikz} % Följande ger en kompakt pdf-fil som bara innehåller figuren: \usepackage[active, tightpage]{preview} \PreviewEnvironment{tikzpicture} \setlength\PreviewBorder{5pt} % tikzstyle anger stilar för noder och kanter som vi kan använda som kortkommando. "every node" är en speciell stil som anger hur en nod ska se ut om ingen annan stil anges. % circle är formen på noden. % draw anger att kanten på cirkeln ska ritas ut % inner sep anger avståndet mellan det som står inne i noden och dess kant % minimum width anger hur stor noden ska vara om vi inte skriver något i noden % font=\huge anger storleken på texten i noden \tikzstyle{every node} = [circle, draw, inner sep=3pt, minimum width=4pt, font=\Large] % vi får grå noder genom att ange fill=black!20. Här anger !20 transparensen i färgen. \tikzstyle{grey node} = [fill=black!20] % vi vill ha två olika kanttyper, en lite tjockare svart och en grå \tikzstyle{visited edge} = [color=black, line width=2pt] \tikzstyle{unvisited edge} = [color=black!40] \begin{document} \begin{tikzpicture} % vi lägger först in noderna. Detta har ett antal ingredienser: % Obligatoriskt: \node anger att vi lägger in en nod % Valbart: [stil] anger stilen. Om det utelämnas används every node-stilen % Valbart: (nodnamn) anger ett internt variabelnamn för noden som inte syns % Obligatoriskt: at (x, y) anger positionen för noden (det finns andra sätt) % Obligatoriskt: {text} anger vad som ska stå i noden. Kan lämnas tomt, men % då måste {} skrivas. % Avsluta med ;. \node[grey node] (a) at (0, 6) {$0$}; \node[grey node] (b) at (2, 8) {$1$}; \node[grey node] (c) at (1.8, 5) {$1$}; \node[grey node] (d) at (3, 3) {$3$}; \node[grey node] (e) at (0, 4) {$2$}; \node[grey node] (f) at (2, 2) {$2$}; \node[grey node] (g) at (8, 3) {$3$}; \node[grey node] (h) at (6, 4) {$2$}; \node[grey node] (i) at (4.5, 6.5) {$2$}; \node[grey node] (j) at (7, 7) {$3$}; \node[fill=black!20] (k) at (5.8, 7.8) {$2$}; % jag använder sista noden som ett exempel på att stilar inte måste % fördefinieras. % Kanter kan göras på olika sätt, och strängas ihop för att korta ner koden. \draw[visited edge] (h) to (c) to (f); \draw[visited edge] (k) -- (b) -- (a) -- (c) -- (e); \draw[visited edge] (b) to (i); \draw[visited edge] (k) -- (j); \draw[visited edge] (d) -- (f) -- (g); \draw[unvisited edge] (j) -- (h) -- (g); \draw[unvisited edge] (f) -- (e); \draw[unvisited edge] (b) -- (i) -- (k) -- (h) -- (d) -- (f); \draw[unvisited edge] (c) -- (i); \end{tikzpicture} \end{document} % När vi väl har en pdf-fil, säg bfs.pdf, lägg filen % i samma mapp som tex-filen för ditt huvuddokument % och skriv i hududdokuemtet: % \begin{figure} % \centering % \includegraphics[width=0.8\textwidth]{bfs} % .pdf ska inte vara med! % \caption{Min figur!} % för bildtext % \label{fig:bfs} % för att kunna referera till figuren (måste vara efter caption) % \end{figure} % 0.8\textwidth anger att bilden ska vara 80% av % bredden i huvuddokumentet. Det kan vara bra % att experimentera med olika bredder för att få % en bra figur.