Forest と Tikz を使用してツリーに幾何学図形を追加するにはどうすればよいでしょうか?

Forest と Tikz を使用してツリーに幾何学図形を追加するにはどうすればよいでしょうか?

まず最初に、数日前に私が最初の質問で得た助けについてコミュニティに感謝したいと思います。そうは言っても、よろしければもう一度助けをお願いしたいと思います。基本的に、私は現在、Forestゲーム理論ツリーを描くための強力なパッケージを使用しており、これまでのところ順調です。しかし今、やり方がわからず、パッケージの (かなり複雑な) マニュアルにも説明されていない問題に直面していますForest。基本的に、3 つのノードを持つゲーム (ツリー) があり、各ノードはサブゲームの始まりです。基本的に、ツリーに 3 つのサブゲームがあることを明確にする必要があります。私が探しているもののグラフィカルな表現は次のようになります。 ここに画像の説明を入力してください

私が描いた木は次のようになります(そして、これを残したいと思います)。 ここに画像の説明を入力してください

簡単に言うと、最初のツリー (図 1) の赤い四角を自分のツリー (図 2) に描画したいのです。ただし、ツリーの形状を考えると、おそらく菱形が必要になります。最後に、現在ツリーに使用しているコードを示します。

\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}

これらの四角形を含めるには、何を追加/変更する必要がありますか?

皆様、よろしくお願いします。

よろしくお願いいたします、ヘクター。

答え1

正確には菱形ではありませんが、必要に応じて角度と距離を変更できます。

\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}

非菱形

答え2

解決策は、istgameパッケージ:

ここに画像の説明を入力してください

\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}

[solid,rounded corners=0pt] や色などのオプションを追加するかどうかは選択できます。

関連情報