informatikstudium-kit-abhaengigkeitsgraph.tex 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. \documentclass{article}
  2. \usepackage[pdftex,active,tightpage]{preview}
  3. \setlength\PreviewBorder{2mm}
  4. \usepackage{tikz}
  5. \usetikzlibrary{arrows,shapes}
  6. \begin{document}
  7. \begin{preview}
  8. \begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=3cm,
  9. pflicht/.style ={rectangle, draw=blue, thick, fill=blue!20,align=center, rounded corners, minimum height=2em},
  10. wahl/.style ={rectangle, draw=green, thick, fill=green!20,align=center, rounded corners, minimum height=2em}]
  11. % Draw the vertices.
  12. \node[pflicht] (programmieren) {Programmieren};
  13. \node[pflicht] (gbi) [right of=programmieren] {GBI};
  14. \node[pflicht] (wt) [right of=gbi] {WT};
  15. \node[pflicht] (tgi) [below of=gbi] {TGI};
  16. \node[pflicht] (os) [right of=wt] {OS};
  17. \node[pflicht] (algi) [right of=os] {Algorithmen I};
  18. \node[pflicht] (algii)[below of=algi] {Algorithmen II};
  19. \node[pflicht] (dt) [right of=algi] {DT};
  20. \node[pflicht] (ro) [below of=dt] {RO};
  21. \node[pflicht] (lai) [right of=dt] {LA I};
  22. \node[pflicht] (laii) [below of=lai] {LA II};
  23. \node[pflicht] (anai) [right of=lai] {ANA I};
  24. \node[pflicht] (anaii) [below of=anai] {ANA II};
  25. \node[pflicht] (swti) [left of=programmieren] {SWT I};
  26. \node[pflicht] (pse) [below left of=tgi] {PSE};
  27. \node[wahl] (icpc) [below of=algii] {ICPC};
  28. \node[wahl] (web) [above of=swti] {Web Engineering};
  29. \node[wahl] (tse) [left of=pse] {TSE};
  30. % Connect vertices with edges and draw weights
  31. \path[->] (gbi) edge[thick] node {} (tgi);
  32. \path[->] (algi) edge node {} (algii);
  33. \path[->] (tgi) edge node {} (algii);
  34. \path[->] (wt) edge node {} (algii);
  35. \path[->] (dt) edge node {} (ro);
  36. \path[->] (lai) edge[ultra thick] node {} (laii);
  37. \path[<->] (lai) edge[bend right] node {} (gbi);
  38. \path[->] (anai) edge[ultra thick] node {} (anaii);
  39. \path[->] (laii) edge[bend left] node {} (algii);
  40. \path[->] (programmieren) edge [very thick] node {} (swti);
  41. \path[->] (programmieren) edge node {} (pse);
  42. \path[->] (programmieren) edge[bend left] node {} (os);
  43. \path[->] (swti) edge node {} (pse);
  44. \path[<->] (ro) edge node {} (os);
  45. \path[<->] (algii) edge [very thick] node {} (icpc);
  46. \path[->] (swti) edge node {} (web);
  47. \path[<->] (pse) edge[red] node {} (tse);
  48. \path[->] (laii) edge[red, bend left] node {} (pse);
  49. \path[->] (anaii) edge[red, bend left] node {} (pse);
  50. \path[->] (programmieren) edge[red, bend left] node {} (pse);
  51. \path[->] (algi) edge[red, bend left] node {} (pse);
  52. \path[->] (swti) edge[red, bend left] node {} (pse);
  53. \path[->] (gbi) edge[red, bend left] node {} (pse);
  54. \end{tikzpicture}
  55. \end{preview}
  56. \end{document}