Как можно пометить ребро дерева, добавленное вручную?

Как можно пометить ребро дерева, добавленное вручную?

Можно использовать TikZ для создания дерева вручную или использоватьлесной пакетчтобы сделать процесс проще. Ниже я показываю, как я могу использоватьлесной пакетсоздать бинарное дерево и превратить его в рекомбинантное дерево, используя TikZ для рисования некоторых ребер вручную. В то время как я могу добавить метку к любому ребру, которое не было добавлено вручную (как я делаю ниже с меткойКенгуру), я не могу понять, как добавить метку к краю, которыйбылдобавлено вручную. Например, как мне пометить ребро от узла $S_1(T)=4$до узла $S_2(TH)=S_2(HT)=8$(см. следующую картинку)?

рекомбинантное бинарное дерево

Я просто попробовал скопировать и вставить ту же команду (т. е. edge label={node [near end, above left, font=\footnotesize]{Kangaroo}}) в код ниже после (T) -- (TH), но это не сработало.

\begin{forest}  
for tree={grow'=east}
[{$S_0=8$ },
    [{$S_1(T)=4$ },name=T,  
        [{$S_2(TT)=2$}, edge label={node [near end, above  left, font=\footnotesize]{Kangaroo}} ]
        [, phantom]
    ]
    [, phantom
        [{\qquad $S_2(TH)=S_2(HT)=8$},name=TH  ] 
    ]
    [{$S_1(H)=16$}, name=H
        [, phantom]
        [{$S_2(HH)=32$} ] 
    ]   
] 
\draw (T) -- (TH)  (H) -- (TH);
\end{forest}

К вашему сведению, узлы [,phantom] — это просто пустые узлы, помогающие с распределением пространства, они на самом деле не нужны.

решение1

Вы ищете l sepизмерение

Также slopedверсия этикетки с позиционированием pos=0.5или посередине регулируется с помощьюyshift

введите описание изображения здесь

\begin{forest} 
    for tree={grow'=east, s sep=2em, l sep=2cm}
    [{$S_0=8$ },
    [{$S_1(T)=4$ },name=T,  
    [{$S_2(TT)=2$}, edge label={node [pos=0.5, above, yshift=-4pt ,sloped, 
     font=\scriptsize]{Kangaroo}} ]
    [, phantom]
    ]
    [, phantom
    [{\qquad $S_2(TH)=S_2(HT)=8$},name=TH  ] 
    ]
    [{$S_1(H)=16$}, name=H
    [, phantom]
    [{$S_2(HH)=32$} ] 
    ]   
    ] 
    \draw (T) -- (TH)  (H) -- (TH);
\end{forest}

РЕДАКТИРОВАТЬ

введите описание изображения здесь

Добавьте следующее:

\node at ($(T)!0.5!(TH)$)
        [rotate=-22, yshift=5pt]
        {\footnotesize\color{red} Kangaroo};

МВЭ

 \begin{forest} 
    for tree={grow'=east, s sep=2em, l sep=2cm}
    [{$S_0=8$ },
    [{$S_1(T)=4$ },name=T,  
    [{$S_2(TT)=2$}, edge label={node [pos=0.5,above,yshift=-4pt,sloped, 
    font=\footnotesize]{Kangaroo}} ]
    [, phantom]
    ]
    [, phantom
    [{\qquad $S_2(TH)=S_2(HT)=8$},name=TH  ] 
    ]
    [{$S_1(H)=16$}, name=H
    [, phantom]
    [{$S_2(HH)=32$} ] 
    ]   
    ] 
    \draw (T) -- (TH)  (H) -- (TH);
    \node at ($(T)!0.5!(TH)$)
    [rotate=-22, yshift=5pt]
    {\footnotesize\color{red} Kangaroo};
\end{forest}

Связанный контент