Дерева та прості графіки
ручки дочірнього синтаксису та інтервалів.
Дерева та прості графіки
Ієрархії виникають постійно: дерева розбору, дерева рішень, макети файлів, таксономії. Малювати одну коробку за раз за допомогою «розташування» працює, але тримати рівномірно розподілені брати й сестри вручну та рівні рівні відстані втомливо. Бібліотека TikZ trees дозволяє замість цього описати саму ієрархію, використовуючи вкладені дочірні операції, і обчислює макет для вас:
\usetikzlibrary{trees}\begin{tikzpicture}[ every node/.style={draw, circle, minimum size=7mm}, level distance=12mm, sibling distance=18mm]\node{A} child{node{B}} child{node{C} child{node{D}} child{node{E}}};\end{tikzpicture}Читання дочірнього синтаксису
Малюнок містить одне твердження. Він починається з кореня, \node{A}, і кожен child{...}, приєднаний до нього, оголошує одне піддерево. Дочірній елемент зазвичай містить вузол{...} для власної мітки та може містити подальші дочірні операції, саме так C отримує дочірні D і E. Вкладеність дужок відображає вкладеність дерева, тому ви можете прочитати структуру безпосередньо з відступу. TikZ розміщує кожен рівень під попереднім і автоматично малює сполучні краї. Оператор one закінчується крапкою з комою після останньої фігурної дужки. Відсутня або зайва крапка з комою всередині структури є звичайною причиною помилок.
Три ручки компонування
Параметри вгорі керують виглядом і інтервалом. every node/.style={draw, circle, minimum size=7mm} застосовує стиль до всіх вузлів одночасно: кожен отримує намальовану межу, круглу форму та мінімальний діаметр 7 мм, щоб окремі літери створювали однакові кола. level distance=12mm встановлює вертикальний проміжок між батьківським і його дочірніми елементами. sibling distance=18mm встановлює горизонтальний проміжок між сусідніми дочірніми елементами одного батька.
Відстань між братами та сестрами – це ручка, яку ви регулюєте найбільше. Бібліотека trees резервує однакову ширину для кожного піддерева на даному рівні, тому широкі піддерева можуть зіткнутися, якщо значення занадто мале. Стандартним засобом є розширити відстань у верхній частині, де піддерева найширші, із налаштуваннями для кожного рівня, такими як level 1/.style={sibling distance=36mm} і level 2/.style={sibling distance=18mm}. Якщо ваші мітки сильно відрізняються за шириною, переключіться з кіл на прямокутники, видаливши «коло» зі спільного стилю.
За маленькими деревами
Краї підбирають стиль через edge from parent/.style, наприклад, щоб додати наконечники стрілок або більш товсті лінії. Для дерев, що перевищують приблизно десяток вузлів, або для загальних графів із циклами, бібліотека «дерев» стає обмеженою. Пакет «ліс» обробляє великі дерева з автоматичним пакуванням. Бібліотека graphs з алгоритмами graphdrawing охоплює довільні графіки, хоча цей шлях потребує LuaLaTeX. TikZ не відображається в цих попередніх переглядах на сторінці, тому скомпілюйте приклад, щоб побачити макет. Почніть із основ у вашому першому зображенні TikZ, якщо цей синтаксис новий.