首先,我要感谢社区几天前在我第一个问题上给予我的帮助。话虽如此,如果可以的话,我想再次请您帮忙。本质上,我目前正在使用功能强大的软件包Forest
来绘制博弈论树,到目前为止,一切顺利。但现在,我面临着一些我不知道该怎么做的事情,而且软件包的(相当复杂的)手册中也没有解释Forest
。本质上,我有一个有三个节点的游戏(树),每个节点都是一个子游戏的开始。我基本上需要弄清楚树中有三个子游戏。我正在寻找的图形表示是这样的:
简而言之,我想在我的树(图片 2)上绘制第一棵树(图片 1)的红色方块。但是,考虑到我的树的形状,我可能需要菱形。最后,我为您提供我目前用于我的树的代码:
\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] 或颜色之类的选项。