karnaugh-map.tex 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. \documentclass[border=2pt]{standalone}
  2. \usepackage[dvipsnames]{xcolor}
  3. \input{kvmacros}
  4. \usepackage{tikz}
  5. \usetikzlibrary{calc}%
  6. \newcommand{\tikzmark}[1]{%
  7. \tikz[overlay, remember picture, baseline] \node (#1) {};%
  8. }
  9. \newcommand{\DrawArrow}[3][]{%
  10. \begin{tikzpicture}[overlay,remember picture]
  11. \draw[
  12. ->, thick,% distance=\ArcDistance,
  13. %shorten <=\ShortenBegin, shorten >=\ShortenEnd,
  14. %out=\OutAngle, in=\InAngle, Arrow Style, #2
  15. #1
  16. ]
  17. ($(#2)+(-0.50em,3.5ex)$) to
  18. ($(#3)+(1.5em,0.0ex)$);
  19. \end{tikzpicture}% <-- important
  20. }
  21. \begin{document}
  22. \karnaughmap{4}{$f(w,x,y,z)$}{{$w$}{$x$}{$y$}{$z$}}%
  23. {
  24. 1100
  25. 1100
  26. 0011
  27. 0101
  28. }
  29. {
  30. \textcolor{Blue}{
  31. \put(2,3.5){\oval(3.9,0.9)[]}
  32. }
  33. \textcolor{WildStrawberry}{
  34. \put(0.9,3.5){\oval(1.7,0.8)[]}
  35. }
  36. \textcolor{Green}{
  37. \put(0.7,1.5){\tikzmark{11}\oval(1.9,0.9)}
  38. }
  39. \textcolor{Sepia}{
  40. \put(1.5,1.5){\oval(1.6,0.7)}
  41. }
  42. \textcolor{Red}{
  43. \put(1.92,1){\oval(0.9,1.9)}
  44. }
  45. \textcolor{LimeGreen}{
  46. \put(1.76,-0.2){\tikzmark{13}\oval(0.9,2.1)[t]}
  47. \put(1.76,4.2){\oval(0.9,2.1)[b]}
  48. }
  49. }
  50. \DrawArrow[red, ultra thick, out=-180, in=-90, distance=1.5em, shorten >= -4.5ex]{13}{11}
  51. \end{document}