Тема для покорения $\LaTeX’a$.
Как избавиться от ситуации, когда узлы склеиваются?
\usepackage{tikz}
\tikzset{
treenode/.style = {align=center, inner sep=0pt, text centered,
font=\sffamily,minimum height=1.2em},
app/.style = {treenode, black, rectangle, font=\itshape,
text width=2.2em},
lam/.style = {treenode, black,
text width=1.5em},
var/.style = {treenode, circle,
minimum width=1.5em, minimum height=0.5em}
}
\begin{tikzpicture}
[->,>=stealth',level/.style={sibling distance = 3cm/#1,
level distance = 1.2cm}]
...
\end{tikzpicture}
В таких случаях обычно предоставляют минимальный (не)работающий пример, чтобы желающий вам помочь не был вынужден утруждать себя написанием преамбулы и содержимого, чтобы выяснить, что и где пошло не так.
Извиняюсь, забыл прикрепить файл. (Расширение tex не поддерживается на форуме.)
tree.txt (2.4 КБ)
А можете заодно, пожалуйста, рассказать и как сделать список с кириллицей?
Понятно, на каждом уровне уменьшается расстояние между узлами, поэтому на такой глубине они сливаются. Увеличьте параметр sibling distance, скажем, до 12cm.
Для оформления списков я использую пакет enumitem, который позволяет делать так (для списков первого уровня):
\renewcommand{\theenumi}{\asbuk{enumi}}
\AddEnumerateCounter{\asbuk}{\@asbuk}{\cyrm}
При использовании Tikz всегда стоит сначала искать похожие примеры, в сети очень много такого. Вот похожий пример с печатью дерева LISP-выражения. Правда, для $\lambda$-исчисления наверняка можно было бы соптимизировать это решение, поскольку узлы менее разнообразны. Но это заняло бы у человека не слишком хорошо знакомого с Tikz (вот у меня, например) много времени.
Пример с построением дерева был выдан с шаблоном домашнего задания.
Renders TeXy Math for Github Readmes
довольно полезная утилита, для тех, кто любит математику в README.md