TeX / LaTeX

Тема для покорения $\LaTeX’a$.

1 лайк

Как избавиться от ситуации, когда узлы склеиваются?

\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}
1 лайк

При использовании Tikz всегда стоит сначала искать похожие примеры, в сети очень много такого. Вот похожий пример с печатью дерева LISP-выражения. Правда, для $\lambda$-исчисления наверняка можно было бы соптимизировать это решение, поскольку узлы менее разнообразны. Но это заняло бы у человека не слишком хорошо знакомого с Tikz (вот у меня, например) много времени.

Пример с построением дерева был выдан с шаблоном домашнего задания.

Renders TeXy Math for Github Readmes

довольно полезная утилита, для тех, кто любит математику в README.md