TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

Ich würde gerne ein tikzpicture erstellen, wie in dieser grafik zu sehen

https://www.corelan.be/wp-content/uploads/2009/07/image45.png

Hab aber bisher keine hilfreiche antwort im forum dazu gefunden.

alt text

gefragt 20 Apr '18, 12:37

Blitz's gravatar image

Blitz
14610
Akzeptiert-Rate: 0%

bearbeitet 20 Apr '18, 14:17

cis's gravatar image

cis
9.3k22217382

Was hast Du denn versucht? Und an welcher Stelle kommst Du nicht weiter, Rechtecke oder Pfeile oder geschweifte Klammern?

(20 Apr '18, 13:53) stefan ♦♦

Mit seinem Verschachteln von Nodes ist er m.E. auf dem falschen Dampfer. Besser er versucht erst gar nichts in diese Richtung.

(20 Apr '18, 14:25) cis

Das muss kein Verschachteln von nodes sein (das dürfte auch kompliziert werden). Das lässt sich zum Beispiel mit einer TikZ-Matrix und diversen Annotationen umsetzen.

Hier mal als Workaround:

alt text

Öffne in Overleaf
%\documentclass[]{article}
\documentclass[margin=5mm, tikz]{standalone}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usetikzlibrary{matrix}
\usetikzlibrary{decorations.pathreplacing}

\begin{document}

\begin{tikzpicture}[
font=\sffamily\footnotesize, 
> = latex, 
%
Trennstrich/.style={path picture={
\draw[] (path picture bounding box.west) --(path picture bounding box.east);}},
]

%Inhalte
\newcommand\Pointer{%
|[Trennstrich]|{Pointer to next SEH record \\
Pointer to Exception Handler}
}
\newcommand{\Handler}[1]{Exeption\_handler#1()}
\newcommand{\Bytes}{2$\times$4 bytes}

\matrix (m) [
matrix of nodes,
row sep=1cm, 
column sep=1cm,
nodes={draw, align=center, text width=12em},
]
{
\Pointer & \Handler{1}  \\
\Pointer & \Handler{2}  \\
\Pointer & \Handler{3}  \\
};
%

% Rechteck
\draw[] ([shift={(-1em,1em)}]m-1-1.north west) rectangle ([shift={(2em,-1em)}]m-3-1.south east);

% Pfeile
\draw[->] (m-1-1.east) -- ([xshift=3mm]m-1-1.east) |- (m-2-1);
%
\draw[cyan, ->, rounded corners, densely dotted] ([yshift=3mm]m-1-1.south east) -- ([xshift=4mm,yshift=3mm]m-1-1.south east) |- (m-1-2.west);

% Annotationen
\node[above=2em] at (m-1-1) {stack};

% Geschweifte Klammern 
\draw[shift={(-11em,0)}, decorate,decoration={brace,mirror,amplitude=3pt}] 
    ([xshift=-1.5em]m-1-1.north west) -- ([xshift=-1.5em]m-1-1.south west) node[midway, rotate=90, yshift=1.5em]{\Bytes};

\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 20 Apr '18, 14:14

cis's gravatar image

cis
9.3k22217382
Akzeptiert-Rate: 29%

bearbeitet 20 Apr '18, 14:22

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×675

gestellte Frage: 20 Apr '18, 12:37

Frage wurde gesehen: 1,943 Mal

zuletzt geändert: 23 Apr '18, 04:12