Wie fügt man mit Forest und Tikz einem Baum geometrische Figuren hinzu?

Wie fügt man mit Forest und Tikz einem Baum geometrische Figuren hinzu?

Zunächst möchte ich der Community für die Hilfe danken, die ich vor einigen Tagen bei meiner ersten Frage erhalten habe. Nachdem ich das gesagt habe, möchte ich Sie, wenn ich darf, noch einmal um Hilfe bitten. Im Wesentlichen verwende ich derzeit das leistungsstarke Paket, Forestum Spieltheoriebäume zu zeichnen, und bisher läuft alles gut. Aber jetzt stehe ich vor etwas, von dem ich nicht weiß, wie es geht, und das im (ziemlich komplexen) Handbuch des ForestPakets nicht erklärt wird. Im Wesentlichen habe ich ein Spiel (einen Baum) mit drei Knoten, wobei jeder Knoten der Anfang eines Unterspiels ist. Ich muss im Wesentlichen klarstellen, dass es im Baum drei Unterspiele gibt. Die grafische Darstellung dessen, was ich suche, sieht ungefähr so ​​aus: Bildbeschreibung hier eingeben

Der Baum, den ich gezeichnet habe, sieht so aus (und den möchte ich gerne behalten): Bildbeschreibung hier eingeben

Kurz gesagt möchte ich die roten Quadrate des ersten Baums (Bild 1) auf meinen Baum (Bild 2) zeichnen. Angesichts der Form meines Baums brauche ich jedoch wahrscheinlich Rauten. Abschließend gebe ich Ihnen den Code, den ich derzeit für meinen Baum verwende:

\begin{center}
\begin{forest} for tree={l sep=4em, s sep=8em, anchor=center}
[$P_1$, circle, draw,
    [{2, 2}, edge label={node[midway,left]{$D$}}]
    [$P_2$, edge label={node[midway,right]{$A$}}, circle, draw, 
        [{1, 1}, edge label={node[midway,left]{$d$}}] 
        [$P_1$, edge label={node[midway,right]{$a$}}, circle, draw,
            [{0, 0}, edge label={node[midway,left]{$D$}}]
            [{3, 3}, edge label={node[midway,right]{$A$}}]]]]
\node[above=30pt,align=center,anchor=center] {\textbf{Figure IV.} Extensive Form of a Centipede Game Variant};
\end{forest}
\end{center}

Was muss ich hinzufügen/ändern, um diese Quadrate einzuschließen?

Vielen Dank an alle im Voraus.

Freundliche Grüße, Héctor.

Antwort1

Nicht genau eine Raute, aber Sie können die Winkel und Abstände ändern, wenn das wichtig ist.

\documentclass[tikz, border=10pt, multi]{standalone}
\usepackage{forest}
\usetikzlibrary{shapes.geometric,fit}
\begin{document}
\begin{forest}
  /tikz/my edge label/.style={inner sep=5pt, midway},
  /tikz/rhombus/.style={trapezium, trapezium left angle=105, trapezium right angle=75, draw=red},
  my rhombus/.style n args=2{
    tikz={\node [fit=#1, rhombus, inner sep=#2] {};},
  },
  for tree={
    l sep=4em,
    s sep=11em,
    anchor=center,
    fit=rectangle,
    calign=fixed edge angles,
    before typesetting nodes={
      if n'=1{
        edge label/.wrap value={\noexpand node [my edge label,right] {$#1$} }
      }{
        edge label/.wrap value={\noexpand node [my edge label,left] {$#1$} }
      },
    },
    if n children=0{}{
      circle,
      draw,
    }
  }
  [$P_1$, my rhombus={() (current bounding box.west) (current bounding box.south east)}{12.5pt}
    [{2, 2}, edge label=D]
    [$P_2$, edge label=A, my rhombus={() (!1) (!2 2)}{7.5pt}
      [{1, 1}, edge label=d]
      [$P_1$, edge label=a, my rhombus={() (!1) (!2)}{2.5pt}
        [{0, 0}, edge label=D]
        [{3, 3}, edge label=A]
      ]
    ]
  ]
\end{forest}
\end{document}

Nicht-Rhombus

Antwort2

Eine Lösung zur Nutzung deristgamePaket:

Bildbeschreibung hier eingeben

\documentclass{standalone}

\usepackage{istgame}

\begin{document}    
\begin{istgame}[font=\footnotesize]
\xtdistance{15mm}{25mm}
\istrooto(0){$P_1$}
  \istb{D}[l]{2,2}
  \istb{A}[r]
  \endist
\istrooto(1)(0-2){$P_2$}
  \istb{d}[l]{1,1}
  \istb{a}[r]
  \endist
\istrooto(2)(1-2){$P_1$}
  \istb{D}[l]{0,0}
  \istb{A}[r]{3,3}
  \endist
\xtSubgameBox(0){(0-1)(2-2)}
\xtSubgameBox(1){(1-1)(2-2)}[inner sep=18pt]
\xtSubgameBox(2){(2-1)(2-2)}[inner sep=16pt]
%\xtSubgameBox(2){(2-1)(2-2)}[solid,rounded corners=0pt,inner sep=16pt]
\end{istgame}

\end{document}

Sie können frei entscheiden, ob Sie Optionen wie [durchgezogen, abgerundete Ecken=0pt] oder Farbe hinzufügen möchten.

verwandte Informationen