У меня проблема с созданием блок-схемы с помощью tikzpicture. Я хочу, чтобы она выглядела так:
Вот как далеко я продвинулся — используя некоторые примеры, которые я нашел:
\documentclass[border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{verbatim}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[sibling distance=25em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white}]]
\node {Absicht}
child {node {absichtliche Handlung}
child {node {Wie viele Handlungen? \\ Wissen ohne Beobachtung}}
child {node {Warum-Frage}
child {node {Zurückweisung}
child {node {»Ich wusste nicht...«}}
child {node {»Ich tat es\\ unwillkürlich«}}}
child {node{Beantwortung}
child {node {»Einfach so!«}}
child {node {Motive \\(sind keine mentalen Ursachen.)}
child {node {Motive im Allgemeinen}}
child {node {rückwärtsschauende Motive}}
child {node {vorwärtsschauende Motive}}}}}}
child {node{Ausdruck der Absicht}};
\end{tikzpicture}
\end{document}
Проблема в перекрывающихся блоках и в том, что они выглядят слишком симметричными и поэтому становятся слишком широкими. Также было бы очень хорошо, если бы размер блоков автоматически подстраивался под объем текста, который в них находится. Надеюсь, что код не слишком плох...
решение1
После недолгих экспериментов с расстоянием между узлами и изменением ширины двух узлов я получаю следующее дерево:
Это изображение можно улучшить еще больше. Код для графика выше:
\documentclass[border=10pt,
tikz]{standalone}
\usetikzlibrary{trees}% <-- new
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{tikzpicture}[
every node/.style = {shape=rectangle, rounded corners,
draw, align=center, fill=white},
level 1/.style = {sibling distance = 12em},% <-- new
level 2/.style = {sibling distance = 12em},% <-- new
level 3/.style = {sibling distance = 20em},% <-- new
level 4/.style = {sibling distance = 11em},% <-- new
]
\node {Absicht}
[edge from parent fork down]
child {node {absichtliche Handlung}
child {node {Wie viele Handlungen? \\ Wissen ohne Beobachtung}}
child {node {Warum-Frage}
child {node {Zurückweisung}
child {node {»Ich wusste nicht...«}}
child {node {»Ich tat es\\ unwillkürlich«}}}
child {node{Beantwortung}
child {node {»Einfach so!«}}
child {node {Motive \\(sind keine mentalen Ursachen.)}
child {node {Motive im Allgemeinen}}
child {node {rückwärtsschauende\\ Motive}}% <-- changed
child {node {vorwärtsschauende\\ Motive}} % <-- changed
}}}}
child {node{Ausdruck der Absicht}};
\end{tikzpicture}
\end{document}