Kann mir vielleicht jemand beim Aufräumen folgender Baumstruktur helfen? Ich bekomme keine verbünftigen Abständen zwischen den Knoten hin. Ich habe einiges mit "sibling distance" und "level distance" experimentiert, blieb aber erfoglos. Außerdem hätte ich die Knoten (KTW) und (PTL) gern ein Level tiefer angeodnet, auf Höhe der Knoten (TLStrahl) und (TWoV). Auch hier weiß ich leider nicht, wie ich das bewerkstelligen kann. \documentclass{scrartcl} \usepackage{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \usetikzlibrary {positioning,shapes} \begin{document} \begin{figure} \centering \begin{tikzpicture} [every node/.style = {draw, rounded corners, fill=green!25, align=center, text width=2.25cm}] \node (FTW) {Flugtriebwerke} child { node (LSchrTW) {Luft-schrauben-triebwerke} child { node (KTW) {Kolben-triebwerke}} child { node (PTL) {Propeller-Turbinentriebwerke}}} child { node (StrahlTW) {Strahltriebwerke} child { node (TStrahl) {Turbinenstrahltriebwerke} child { node (TLStrahl) {Turbinenluftstrahltriebwerke}} child { node (TWoV) {Triebwerke ohne Verdichter}}} child { node (RStrahl) {Raketenstrahltriebwerke} child { node (FstR) {Feststoffrakete}} child { node (FlR) {Flüssigkeitsrakete}}}}; \end{tikzpicture} \caption{Einteilung der Flugtriebwerke} \end{figure} \end{document} Vorab vielen Dank Gruß René |
Damit für das untere Level genügend Platz bleibt, muss die Abbildung im Querformat sein. Vermutlich geht es eleganter, aber eine Möglichkeit wäre \documentclass{scrartcl} %\usepackage{showframe}% Anzeige der Seitenaufteilung \usepackage{fontenc} \usepackage[ngerman]{babel} \usepackage{rotating} \usepackage{tikz} \usetikzlibrary {positioning,shapes} \begin{document} \begin{sidewaysfigure} \centering \begin{tikzpicture} [ every node/.style = {draw, rounded corners, fill=green!25, align=center, text width=2.25cm}, level distance=3cm, level 1/.style={sibling distance=14cm}, level 2/.style={sibling distance=7cm}, level 3/.style={sibling distance=3.5cm} ] \node (FTW) {Flug\-trieb\-werke} child[sibling distance=7cm,level 2/.style={sibling distance=3.5cm}] { node (LSchrTW) {Luft\-schrauben\-triebwerke} child {child{ node (KTW) {Kolben-triebwerke}}} child {child{ node (PTL) {Propeller-Turbinen\-triebwerke}}} } child { node (StrahlTW) {Strahl\-trieb\-werke} child { node (TStrahl) {Turbinen\-strahl\-triebwerke} child { node (TLStrahl) {Turbinen\-luft\-strahl\-triebwerke}} child { node (TWoV) {Triebwerke ohne Verdichter}} } child { node (RStrahl) {Raketen\-strahl\-triebwerke} child { node (FstR) {Feststoff\-rakete}} child { node (FlR) {Flüssigkeits\-rakete}} } } ; \end{tikzpicture} \caption{Einteilung der Flugtriebwerke} \end{sidewaysfigure} \end{document} beantwortet 08 Sep '23, 08:37 esdd |
Auch wenn mir esdd's Vorschlag sehr weitergeholfen hat, vor allem für das Verständnis der node-child-Konstruktion, habe ich mich dennoch entschlossen das Ganze komplett neu aufzuziehen. So dass es jetzt näher an meine Layout-Vorstellung heranreicht. \documentclass{scrartcl} \usepackage{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \usetikzlibrary {positioning,shapes} \begin{document} \begin{figure} \centering \begin{tikzpicture} [every node/.style = {draw, rectangle, align = center, fill = green!25, font=\tiny} ] %\draw [help lines, step=0.1, red!10] (0,0) grid (12.5,8.5); %\draw [very thin, step=1.0, gray] (0,0) grid (12.5,8.5); %\foreach \x in {0,1,...,8} % \node [circle,fill=gray!20] at (-.5,\x) {\x}; \node [very thick] (FTW) at ( 5.0, 8.0) {Flug-\\triebwerke}; \node (LSchraubeTW) at (01.5, 6.5) {Luft-\\schrauben-\\triebwerke}; \node (StrahlTW) at (08., 6.5) {Strahl-\\triebwerke}; \node (LStrahlTW) at (05.5, 5.0) {Luft-\\strahl-\\triebwerke}; \node (RTW) at (10.5, 5.0) {Rakenten-\\strahl-\\triebwerke}; \node (TLStrahlTW) at ( 4.0, 3.5) {Turbinen-\\luftstrahl-\\triebwerke}; \node (TWoV) at ( 7.0, 3.5) {Triebwerke\\ohne\\Verdichter}; \node (FestR) at ( 9.5, 3.5) {Feststoff-\\raketen-\\triebwerke}; \node (FlueR) at (11.5, 3.5) {Flüssigkeits-\\raketen-\\triebwerke}; \node (KTW) at (00.5, 2.0) {KTW}; \node (PTL) at (01.5, 2.0) {PTL}; \node (ZTL) at (03.0, 2.0) {ZTL}; \node (TL) at (04.0, 2.0) {TL}; \node (StauStrahlTW) at (06.0, 2.0) {Stau-\\strahl-\\triebwerke}; \node (PulsTW) at (08.0, 2.0) {pulsierende\\Triebwerke}; \node (HubSchrTW) at (01.5,0.5) {Hub-\\schrau-\\er TW}; \node (ZTLNB) at (03.0,0.5) {ZTL\\mit\\NB}; \node (TLNB) at (04.0,0.5) {TL\\mit\\NB}; \draw [fill] ( 5.0, 7.3) circle (0.05); \draw [fill] ( 8.0, 5.9) circle (0.05); \draw [fill] ( 5.5, 4.3) circle (0.05); \draw [fill] (10.5, 4.3) circle (0.05); \draw [fill] ( 1.3, 3.5) circle (0.05); \draw [fill] ( 3.0, 2.8) circle (0.05); \draw [fill] ( 4.0, 2.8) circle (0.05); \draw [fill] ( 7.0, 2.8) circle (0.05); \draw (FTW) -- ( 5.0, 7.3) -| (LSchraubeTW); \draw (FTW) -- ( 5.0, 7.3) -| (StrahlTW); \draw (StrahlTW) -- ( 8.0, 5.9) -| (LStrahlTW); \draw (StrahlTW) -- ( 8.0, 5.9) -| (RTW); \draw (LStrahlTW) -- ( 5.5, 4.3) -| (TLStrahlTW); \draw (LStrahlTW) -- ( 5.5, 4.3) -| (TWoV); \draw (RTW) -- (10.5, 4.3) -| (FestR); \draw (RTW) -- (10.5, 4.3) -| (FlueR); \draw (TLStrahlTW) -- ( 4.0, 2.8) -| (1.7,2.2); \draw (TLStrahlTW) -- ( 4.0, 2.8) -| (ZTL); \draw (TLStrahlTW) -- ( 4.0, 2.8) -| (TL); \draw (LSchraubeTW) -- +( 0.0, -3) -| (KTW); \draw ( 1.3,2.2) -- (1.3,3.5); \draw (TWoV) -- ( 7.0,2.8) -| (StauStrahlTW); \draw (TWoV) -- ( 7.0,2.8) -| (PulsTW); \draw (PTL) -- (HubSchrTW); \draw (ZTL) -- (ZTLNB); \draw (TL) -- (TLNB); \end{tikzpicture} \caption{Einteilung der Flugtriebwerke} \end{figure} \end{document} Leider viel aufwendiger in der Erstellung und viel weniger flexibler bei eventuellen Erweiterung, dafür aber passender. Tipps zur Vereinfach sind sehr willkommen beantwortet 08 Sep '23, 12:40 axe1966 |
@axe1966: Ich hatte das Problem vor längerer Zeit auch. Schau mal hier: https://texwelt.de/fragen/21509/organigramm-mit-tikz