带森林的游戏树 - 节点处的圆圈未连接到边

带森林的游戏树 - 节点处的圆圈未连接到边

使用@marmot(谢谢!)演示的技术这个问题,我制作了以下游戏树:

在此处输入图片描述

梅威瑟:

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{color}

\usepackage{tikz}
\usepackage[edges]{forest}
\usepackage[outline]{contour}

\begin{document}

\newcommand{\vdisp}[1]{\ensuremath{\begin{pmatrix}#1\end{pmatrix}}}
\newcommand{\red}[1]{\color{red}#1\color{black}}

\begin{center}
    \scriptsize
    \begin{forest}
        for tree={s sep=0.15cm,l sep=1.25cm}
        [,tikz={\fill[](.anchor)circle[radius=1.5pt];}
        [\red{2}
        [{\vdisp{2\\2}}]
        [\red{1}, alias = L
        [{\vdisp{1\\0}}]
        [{\vdisp{0\\1}}] 
        ] 
        ]
        [\red{2}
        [\red{1}, alias = R
        [{\vdisp{0\\3}}]
        [{\vdisp{3\\0}}]
        ]
        [{\vdisp{0\\0}}]
        ]
        ]
        \node[draw,dashed,rounded rectangle,fit=(L) (R)]{};  
    \end{forest}
\end{center}

需要进行小幅调整:如何将边直接连接到根节点的圆?

额外的:

如果有人对如何改善我的收益的外观(必须以风格展示)有任何建议pmatrix,我很乐意听到!

答案1

在这种情况下,将inner sep根节点设置为即可0达到目的。

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{color}

\usepackage{tikz}
\usepackage[edges]{forest}
\usepackage[outline]{contour}

\begin{document}

\newcommand{\vdisp}[1]{\ensuremath{\begin{pmatrix}#1\end{pmatrix}}}
\newcommand{\red}[1]{\color{red}#1\color{black}}

\begin{center}
    \scriptsize
    \begin{forest}
        for tree={s sep=0.15cm,l sep=1.25cm},
        [,inner sep=0,tikz={\fill[](.anchor)circle[radius=1.5pt];}
        [\red{2}
        [{\vdisp{2\\2}}]
        [\red{1}, alias = L
        [{\vdisp{1\\0}}]
        [{\vdisp{0\\1}}] 
        ] 
        ]
        [\red{2}
        [\red{1}, alias = R
        [{\vdisp{0\\3}}]
        [{\vdisp{3\\0}}]
        ]
        [{\vdisp{0\\0}}]
        ]
        ]
        \node[draw,dashed,rounded rectangle,fit=(L) (R)]{};  
    \end{forest}
\end{center}
\end{document}

但是,一般来说,最好告诉 Forest(实际上是 PGF)根节点是圆形的(并且fill它也是圆形的)。inner sep参数更改圆的大小(否则由内容决定,在本例中为空)。将设置outer sep为空以将边缘紧密连接到节点;或者,将draw节点fill设置为空。

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{color}

\usepackage{tikz}
\usepackage[edges]{forest}
\usepackage[outline]{contour}

\begin{document}

\newcommand{\vdisp}[1]{\ensuremath{\begin{pmatrix}#1\end{pmatrix}}}
\newcommand{\red}[1]{\color{red}#1\color{black}}

\begin{center}
    \scriptsize
    \begin{forest}
        for tree={s sep=0.15cm,l sep=1.25cm},
        [,circle,fill,outer sep=0,inner sep=1pt,
        [\red{2}
        [{\vdisp{2\\2}}]
        [\red{1}, alias = L
        [{\vdisp{1\\0}}]
        [{\vdisp{0\\1}}] 
        ] 
        ]
        [\red{2}
        [\red{1}, alias = R
        [{\vdisp{0\\3}}]
        [{\vdisp{3\\0}}]
        ]
        [{\vdisp{0\\0}}]
        ]
        ]
        \node[draw,dashed,rounded rectangle,fit=(L) (R)]{};  
    \end{forest}
\end{center}
\end{document}

答案2

另一个使用示例istgame包裹。

在此处输入图片描述

\documentclass{standalone}
\usepackage{amsmath}
\usepackage{istgame}

\begin{document}

\begin{istgame}
\tikzset{oval node/.style={ellipse node,draw=none,red}}
\xtdistance{20mm}{10mm}
\istroot(0)+20mm..30mm+
  \istb \istb \endist
\istrooto(1)(0-1){2}
  \istb{}{\binom{2}{2}} \istb \endist
\istrooto(2)(0-2){2}
  \istb \istb{}{\binom{0}{0}} \endist
\istrooto(3)(1-2){1}
  \istb{}{\binom{1}{0}} \istb{}{\binom{0}{1}} \endist
\istrooto(4)(2-1){1}
  \istb{}{\binom{0}{3}} \istb{}{\binom{3}{0}} \endist
\setxtinfosetlayer{main}
\xtInfosetO[dashed](3)(4)(2em)
\end{istgame}
\end{document}

相关内容