twinsquared.ch

HowTo: Latex Stack

Die resultierende PDF Datei kann hier heruntergeladen werden.

  1. \documentclass[a4paper]{scrartcl}
  2.  
  3. \usepackage[table]{xcolor}
  4. \usepackage{multirow}
  5. \usepackage{colortbl}
  6. \usepackage{array}
  7. \usepackage{hhline}
  8. \usepackage{bigdelim}
  9.  
  10. % Farbdefinitionen
  11. \definecolor{dunkelgrau}{rgb}{0.8,0.8,0.8}
  12. \definecolor{hellgrau}{rgb}{0.95,0.95,0.95}
  13.  
  14. % stack Umgebung
  15. {%
  16.     \renewcommand{\arraystretch}{0.5}
  17.    \setlength{\tabcolsep}{2pt} % default 6pt
  18.     \begin{tabular}{r | c c c | l}
  19.    \hhline{~---}
  20. }{%
  21.     \end{tabular}
  22. }%
  23.  
  24. % normaler Stack-Eintrag
  25. \newcommand{\stentry}[3]
  26. {%
  27. & & & &\\ \hhline{~-~-}
  28. & & & &\\ \hhline{~-~-}
  29. & & & &\\ \hhline{~-~-}
  30. \multirow{-2}{*}{#1} \hspace{2mm} & & \multirow{-4}{*}{\hspace{3mm} #2 \hspace{3mm}} & & \hspace{2mm} \multirow{-4}{*}{#3}\\ \hhline{~---}
  31. }%
  32.  
  33. % farbiger Stack-Eintrag
  34. \newcommand{\stentrycl}[4]
  35. {%
  36. & \cellcolor{#4} & \cellcolor{#4} & \cellcolor{#4} &\\ \hhline{~-~-}
  37. & \cellcolor{#4} & \cellcolor{#4} & \cellcolor{#4} &\\ \hhline{~-~-}
  38. & \cellcolor{#4} & \cellcolor{#4} & \cellcolor{#4} &\\ \hhline{~-~-}
  39. \multirow{-2}{*}{#1} \hspace{2mm} & \cellcolor{#4} & \cellcolor{#4} \multirow{-4}{*}{\hspace{3mm} #2 \hspace{3mm}} & \cellcolor{#4} & \hspace{2mm} \multirow{-4}{*}{#3} \\ \hhline{~---}
  40. }%
  41.  
  42. % Beispiel
  43. \begin{document}
  44. \begin{figure}[H]
  45.    \centering
  46.    \begin{stack}
  47.       \stentry{ebp+8}{str $\rightarrow$ "Hello"}{}
  48.       \stentrycl{ebp+4}{c = 3}{{$\biggr\}$} World!}{dunkelgrau}
  49.       \stentry{ebp}{b = 'x'}{}
  50.       \stentry{ebp-4,sp}{a = 'y'}{}
  51.    \end{stack}
  52.    \caption{stack example}
  53.    \label{fig:stack example}
  54. \end{figure}
  55. \end{document}