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

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

Я пытаюсь создать tizktree, который должен выглядеть следующим образом:

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

На данный момент мой код латекса выглядит следующим образом:

\begin{tikzpicture}
\node {r} [grow'=right]
child {node {$C^h$}  
child {node {$C^h$} }
child {node {$C^l$}}
}
child {node {$C^l$}
child {node {$C^h$}}
child {node {$C^l$}}
};
\end{tikzpicture}

Проблема в том, что этот код приводит к перекрытию некоторых узлов, и я не уверен, как обозначить стрелки как P^h и P^l.

Любая помощь будет оценена по достоинству.

решение1

Если forestэто опция, она автоматически настроит макет дерева для размещения узлов. Она также позволяет очень лаконично указывать деревья и очень настраиваема с точки зрения внешнего вида дерева. Например:

\documentclass[tikz,border=10pt,multi]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
  for tree={
    grow'=0,
    math content,
    tier/.wrap pgfmath arg={tier #1}{level()},
    l sep+=5mm,
  },
  before typesetting nodes={
    for tree={
      if n=1{
        edge label/.wrap value={node [midway, font=\scriptsize, above] {$#1$}}
      }{
        edge label/.wrap value={node [midway, font=\scriptsize, anchor=north] {$#1$}}
      }
    }
  }
  % now to specify the tree itself - as you see, the syntax is quite concise
  [r
    [C^h, edge label=P^h
      [C^h, edge label=P^h]
      [C^l, edge label=P^l]
    ]
    [C^l, edge label=P^l
      [C^h, edge label=P^h]
      [C^l, edge label=P^l]
    ]
  ]
\end{forest}
\end{document}

Лесное дерево

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

В комментарии спрашивалось, как обойтись без корневого узла. Любое дерево должно иметь корень, однако он может быть невидимым и не занимать места. Forest предоставляет возможность phantomдля такого рода случаев:

\begin{forest}
  for tree={
    grow'=0,
    math content,
    tier/.wrap pgfmath arg={tier #1}{level()},
    l sep+=5mm,
  },
  before typesetting nodes={
    for tree={
      if n=1{
        edge label/.wrap value={node [midway, font=\scriptsize, above] {$#1$}}
      }{
        edge label/.wrap value={node [midway, font=\scriptsize, anchor=north] {$#1$}}
      }
    }
  }
  [, phantom
    [C^h, edge label=P^h
      [C^h, edge label=P^h]
      [C^l, edge label=P^l]
    ]
    [C^l, edge label=P^l
      [C^h, edge label=P^h]
      [C^l, edge label=P^l]
    ]
  ]
\end{forest}

фантомный корень

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