Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Positionierung von Boxen mit Tikz

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.12.2012
    Beiträge
    8

    Positionierung von Boxen mit Tikz

    Sehr geehrte LaTeX Freunde,

    Ich hoffe ich breche keine wichtigen Regeln des Forums in Form und Inhalt meiner Frage, es ist allerdings das erste mal, dass ich mich aktiv beteilige und ich bin für Kritik offen. Zur Frage:

    Ich habe mithilfe eines Beispiels in der Tikz Umbegung folgendes Flußdiagramm erstellt und habe drei Fragen zur Gestalung.

    Code:
    \documentclass[a4paper]{article}
    
    \usepackage[english]{babel}
    \usepackage[utf8x]{inputenc}
    \usepackage{amsmath}
    \usepackage{graphicx}
    \usepackage[colorinlistoftodos]{todonotes}
    
    														
    \usepackage{tikz} 
    \usetikzlibrary{arrows, positioning, shadows}
    
    
    \title{Your Paper}
    \author{You}
    
    \begin{document}
    \begin{tikzpicture}[thick,
    level 1/.style={sibling distance=70mm},
    level 2/.style={sibling distance=45mm},
    level 3/.style={sibling distance=20mm},
    ]                                                
    		\node (Box 1) [
                    % The shape:
                    rectangle,
                    rounded corners,
                    minimum size=12mm, % The size (min and max):
                    text width=1\textwidth, 
                    text centered, % The alignment
                    thick, 
                    % The border
                    draw=white, 
                    % The filling:
                    top color=white, % a shading that is white at the top...
                    bottom color=white, % and white at the bottom
    	        ]{Box 1}        
            %[white] %this puts all the linking lines white (if you put them in black again you see them again)
                          child {node (Box 2)[black,
                          rectangle,
                          rounded corners,
                          minimum size=12mm,
                          text width=14.0em,
                          text centered,
                          thick,
                          draw=white,
                          top color=white,
                          bottom color=white,
                          below=
                          ] {Box 2}
                                child {node (Box 6)[black,
                                rectangle,
                                rounded corners,
                                minimum size=12mm,
                                minimum height=70mm,
                                text width=11.0em,
                                text centered,
                                thick,
                                draw=blue!50!black!50,
                                top color=white,
                                bottom color=blue!50!black!20,
                                below
                                ] {Box 6}
                               	      child {node (Box 7) [black,
                                      rectangle,
                                      rounded corners,
                                      minimum size=12mm,
                                      text width=4.0em,
                                      text centered,
                                      thick,
                                      draw=blue!50!black!50,
                                      top color=white,
                                      bottom color=blue!50!black!20,
                                      below] {Box 7}
                                   [transparent]
                                      }
                                      child {node (Box 8)[black,
                                      rectangle,
                                      rounded corners,
                                      minimum size=12mm,
                                      text width=4.0em,
                                      text centered,
                                      thick,
                                      draw=blue!50!black!50,
                                      top color=white,
                                      bottom color=blue!50!black!20,
                                      below] {Box 8}
                                  [transparent]      
                                      }}
                                      }
                        child {node (Box 9)[black,
                        rectangle,
                        rounded corners,
                        %minimum size=40mm,
                        minimum height=91mm,
                        text width=11.0em,
                        %text height=13.0em,
                        text centered,
                        thick,
                        draw=blue!50!black!50,
                        top color=white,
                        bottom color=blue!50!black!20,
                        below
                        ] {Box 9}              
                    [level 2/.style={sibling distance=20mm}]
                                        child {node (Box 10)[black,
                                        rectangle,
                                        rounded corners,
                                        minimum size=12mm,
                                        text width=4.0em,
                                        text centered,
                                        thick,
                                        draw=blue!50!black!50,
                                        top color=white,
                                        bottom color=blue!50!black!20,
                                        below
                                        ] {Box 10}
                                     [transparent] 
                                        }
                                        child {node (Box 11)[black,
                                        rectangle,
                                        rounded corners,
                                        minimum size=12mm,
                                        text width=4.0em,
                                        text centered,
                                        thick,
                                        draw=blue!50!black!50,
                                        top color=white,
                                        bottom color=blue!50!black!20,
                                        below
                                        ] {Box 11}
                                     [transparent] 
                                        }}							
                                        ;	
    \end{tikzpicture}
    
    \end{document}
    1. Wie kann ich die Boxen 10 und 11 auf die Höhe der anderen kleinen Boxen bringen (7,8)?
    2. Wie kann ich den Verbindungsstrich von Box 1 zu Box 9 an den Strich von Box 1 zu Box 2 anpassen?
    3. Wie kann ich die Schrift "Box 9" mit der Schrift von "Box 6" auf einen Höhe bringen?

    Vielen Dank für eure Hilfe schon im Vorraus!

    Jonas
    Geändert von dr.j (27-08-2013 um 15:45 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    12.12.2012
    Beiträge
    8
    niemand? würde mich sehr freuen auch nur zu hören wo ich mich umschauen könnte!

    Gruß Jonas

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Hallo,

    hier ist mal ein Vorschlag, der vielleicht etwas weiter hilft:

    Code:
    \documentclass{scrartcl}
    
    \usepackage{tikz}
    \usetikzlibrary{fit, backgrounds} 
    
    \tikzset{
      box/.style={thick,rounded corners,minimum size=12mm,text badly centered,font=\strut,below},
      schattiert/.style={draw=blue!50!black!50,top color=white,bottom color=blue!50!black!20},
      klein/.style={box,schattiert,text width=4em},
      gross/.style={box,text width=11em,minimum height=70mm}}
    
    \begin{document}
    \begin{tikzpicture}[thick,
      level 1/.style={sibling distance=70mm},
      level 2/.style={sibling distance=45mm},
      level 3/.style={sibling distance=20mm},
    ]
    \node (Box 1) [box,draw=none,text width=0.8\textwidth]{Box 1}
        child {node (Box 2)[box,text width=14em]{Box 2}
            child{node (Box 6)[gross,schattiert]{Box 6}
                child{node (Box 7)[klein]{Box 7}edge from parent[draw=none]}
                child{node (Box 8)[klein]{Box 8}edge from parent[draw=none]}
            }
        }
        child {node (Box 2a)[box]{}
            child{node (Box 9)[gross]{Box 9}
              child{node (Box 10)[klein]{Box 10}edge from parent[draw=none]}
              child{node (Box 11)[klein]{Box 11}edge from parent[draw=none]}
            edge from parent[draw=none]}
        edge from parent[child anchor=north]};
    %
        \begin{scope}[on background layer]
          \node[box,schattiert, fit=(Box 2a) (Box 9),inner sep=0pt,align=none] {};
        \end{scope}
    \end{tikzpicture}
    \end{document}
    Gruß
    Elke

  4. #4
    Registrierter Benutzer
    Registriert seit
    12.12.2012
    Beiträge
    8
    Hallo Elke,

    extravielen Dank!!! habe den Vorschlag von Dir übernommen und nur noch die Box 2a mit text width=11em versehen und dann die Verbindungslinie zwischen Box 1 und Box 2 mit edge from parent [child anchor=north] an die Verbindungslinie zwischen Box 1 und 2a angepasst!
    Viel schöner und schlanker als mein holpriger Versuch!

    Schönen Abend!

    Jonas

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •