TkiZ: Änderung der Node-Abstände und Programmverbesserungen

Tabellen und Grafiken erstellen und anordnen


Newbi
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 16. Mai 2013, 14:42

TkiZ: Änderung der Node-Abstände und Programmverbesserungen

Beitrag von Newbi »

Leider passt das Bild nicht auf eine A4-Seite.
Darum möchte ich folgendes ändern bzw. hinzufügen:
  • den Abstand der Nodes (der einzelnen Schritte)
  • die Schriftgröße (am besten soll der Text im Bild gleich sein mit dem im Rest vom Originaldokument)
  • eine Schrittnummer vor den Nodes
  • einen vertikalen Text links neben einer Gruppe von Nodes, welche durch den Hintergrund zusammengefasst werden
  • eine bessere Art der Programmierung, damit ich nicht immer alle Namen (Nummern) der Nodes ändern muss, falls sich die Reihenfolge ändert
  • und ich möchte den Abstand zwischen den einzelnen Gruppen vergrößern
Außerdem musste ich für alle Umlaute zum Bsp für das ü -- \"u -- schreiben, obwohl ich dafür die richtigen Pakete geladen habe und das auch im Rest meines Dokumentes nicht machen muss.

Das Resultat sieht schon fast so aus, wie ich es mir vorstelle, ist aber nur zusammengeflickt, weil ich für den vertikalen Text keine andere Lösung gefunden habe. Mich stört auch, das der Abstand zwischen dem ersten und zweiten Node anderes ist als beim Rest.

-----------------------

Hier ist der Code nur für das Bild den ich bis jetzt habe:
\documentclass{article}

\usepackage{tikz}

\usetikzlibrary{positioning,shadows,arrows,backgrounds,fit}

\begin{document}

\begin{figure}

\begin{tikzpicture}
    [schritt/.style=            {draw, fill=gray!10,    text width=22em, minimum width=25em, minimum height=1.5em, drop shadow, rounded corners, font=\small},
     pfeil/.style=              {<-,shorten <=1pt,>=stealth',semithick},
     hintergrund/.style=    {draw, dashed, fill=gray!40,rounded corners}]

    \newcommand{\beschr}[1]{\hfill\textit{#1}};

        %   Bauteil einlegen
        \node   (1)         [schritt]                           {Frg 1\beschr{Freigabe Einfahrt Bauteil}};          
        \node   (2)         [schritt]   [below=1]       {MZ 11 V\beschr{Sauger ein}}
            edge                [pfeil]     (1);                                                                                                                
        \node   (3)         [schritt]   [below=2]       {Frg 2\beschr{Freigabe Ausfahrt Bauteil}}
            edge                [pfeil]     (2);    
        %   Arbeitsstellung
        \node (4)           [schritt]   [below=3]       {MZ 12 V\beschr{Spanner Innenblech vorw\"arts}}
            edge                [pfeil]     (3);
        \node (5)           [schritt]   [below=4]       {M1 \& M2 V\beschr{B\"ugel M1 \& M2 vorw\"arts}}
            edge                [pfeil]     (4);
        \node (6)           [schritt]   [below=5]       {M3 \& M6 V\beschr{B\"ugel M3 \& M6 vorw\"arts}}
            edge                [pfeil]     (5);
        \node (7)           [schritt]   [below=6]       {M4 \& M5 V\beschr{B\"ugel M4 \& M5 vorw\"arts}}
            edge                [pfeil]     (6);
        \node (8)           [schritt]   [below=7]       {MZ 13 V\beschr{Klemmeinheit l\"osen}}
            edge                [pfeil]     (7);
        \node (9)           [schritt]   [below=8]       {MZ 14 V\beschr{Niederhalteraufnahme vorw\"arts}}
            edge                [pfeil]     (8);
        \node (10)      [schritt]   [below=9]       {MZ 15-19 V\beschr{Niederhalteraufnahmen vorw\"arts}}
            edge                [pfeil]     (9);
        \node (11)      [schritt]   [below=10]  {MZ 21-22 V\beschr{Niederhalterzustellungen vorw\"arts}}
            edge                [pfeil]     (10);
        \node (12)      [schritt]   [below=11]  {MZ 23-24 V\beschr{Niederhalterzustellungen vorw\"arts}}
            edge                [pfeil]     (11);
        \node (13)      [schritt]   [below=12]  {MZ 20 V\beschr{Sperrventil vorw\"arts}}
            edge                [pfeil]     (12);

        %   Falzvorgang
        \node (14)      [schritt]   [below=13]  {M7 Pos 1\beschr{Hauptantrieb zur Vorfalzposition}}
            edge                [pfeil]     (13);
        \node (15)      [schritt]   [below=14]  {M7 Pos 4\beschr{Hauptantrieb zur Grundstellung}}
            edge                [pfeil]     (14);
        \node (16)      [schritt]   [below=15]  {MZ 25-30 V\beschr{Vorfalzantriebe vorw\"arts}}
            edge                [pfeil]     (15);
        \node (17)      [schritt]   [below=16]  {M7 Pos 3\beschr{Hauptantrieb zur Falzposition}}
            edge                [pfeil]     (16);

        %   Grundstellung
        \node (18)      [schritt]   [below=17]  {M7 Pos 4\beschr{Hauptantrieb zur Grundstellung}}
            edge                [pfeil]     (17);
        \node (19)      [schritt]   [below=18]  {MZ 25-30 R\beschr{Vorfalzantriebe r\"uckw\"arts}}
            edge                [pfeil]     (18);
        \node (20)      [schritt]   [below=19]  {MZ 23-24 R\beschr{Niederhalterzustellungen r\"uckw\"arts}}
            edge                [pfeil]     (19);
        \node (21)      [schritt]   [below=20]  {MZ 21-22 R\beschr{Niederhalterzustellungen r\"uckw\"arts}}
            edge                [pfeil]     (20);
        \node (22)      [schritt]   [below=21]  {MZ 20 V\beschr{Sperrventil r\"uckw\"arts}}
            edge                [pfeil]     (21);
        \node (23)      [schritt]   [below=22]  {MZ 15-19 V\beschr{Niederhalteraufnahmen r\"uckw\"arts}}
            edge                [pfeil]     (22);
        \node (24)      [schritt]   [below=23]  {MZ 14 V\beschr{Niederhalteraufnahme r\"uckw\"arts}}
            edge                [pfeil]     (23);
        \node (25)      [schritt]   [below=24]  {MZ 13 V\beschr{Klemmeinheit r\"uckw\"arts}}
            edge                [pfeil]     (24);
        \node (26)      [schritt]   [below=25]  {M4 \& M5 V\beschr{B\"ugel M4 \& M5 r\"uckw\"arts}}
            edge                [pfeil]     (25);
        \node (27)      [schritt]   [below=26]  {M3 \& M6 V\beschr{B\"ugel M3 \& M6 r\"uckw\"arts}}
            edge                [pfeil]     (26);
        \node (28)      [schritt]   [below=27]  {M1 \& M2 V\beschr{B\"ugel M1 \& M2 r\"uckw\"arts}}
            edge                [pfeil]     (27);
        \node (29)      [schritt]   [below=28]  {MZ 12 V\beschr{Spanner Innenblech r\"uckw\"arts}}
            edge                [pfeil]     (28);

        %   Bauteilentnahme
        \node   (30)        [schritt]   [below=29]      {Frg 1\beschr{Freigabe Einfahrt Bauteilentnahme}};
            edge                [pfeil]     (29);
        \node   (31)        [schritt]   [below=30]      {MZ 11 V\beschr{Sauger ein}}
            edge                [pfeil]     (30);                                                                                                               
        \node   (32)        [schritt]   [below=31]      {Frg 2\beschr{Freigabe Ausfahrt Bauteilentnahme}};

        %   Hintergrund
        \begin{pgfonlayer}{background}
            \node   [hintergrund, fit=(1)(2)(3), label={[rotate=90,xshift=1.5cm,yshift=0.5cm]left:Bauteil einlegen}] {};
            \node   [hintergrund, fit=(4)(5)(6)(7)(8)(9)(10)(11)(12)(13), label={[rotate=90,xshift=1.5cm,yshift=0.5cm]left:Falze in Arbeitsstellung}] {};
            \node   [hintergrund, fit=(14)(15)(16)(17), label={[rotate=90,xshift=1.5cm,yshift=0.5cm]left:Bauteil einlegen}] {};
            \node   [hintergrund, fit=(18)(19)(20)(21)(22)(23)(24)(25)(26)(27)(28)(29), label={[rotate=90,xshift=1.5cm,yshift=0.5cm]left:Falze in Grundstellung}] {};
            \node   [hintergrund, fit=(30)(31)(32), label={[rotate=90,xshift=1.5cm,yshift=0.5cm]left:Bauteilentnahme}] {};
        \end{pgfonlayer}

\end{tikzpicture}
\caption{Prozessablauf}
\label{abb:Prozessablauf}
\end{figure}


\end{document}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hallo,

in deinem Code werden alle Noden absolut positioniert. Die oberste Node mit name=1 wird so eingefügt, dass der Punkt (1.center) auf (0,0) liegt. Mit
\node(2)[schritt][below=1]{};
wird node (2.north) am Punkt (0,-1) positioniert.

Damit node (2) relativ zu node (1) eingefügt würde, müsste es
\node(2)[schritt][below=of 1]{};
heißen. Zwischen dem "=" und dem "of" könntest du dann einen Abstand vorgeben. Oder du kannst den Abstand zwischen den Noden allgemein mit node distance festlegen.

Hier ist mal noch ein anderer Vorschlag als Matrix:
\documentclass{standalone} 
\usepackage{selinput} 
\SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}} 
\usepackage{tikz} 

\usetikzlibrary{matrix,shadows,arrows,backgrounds,fit} 

\tikzset{%
  schritt/.style={draw, fill=gray!10,%
    text width=22em,minimum width=25em,minimum height=1.5em,%
    drop shadow,rounded corners%
    %font=\small% hier wird die Schriftgröße verkleinert
  },
  pfeil/.style={->,shorten <=1pt,>=stealth',semithick},
  hintergrund/.style={draw, dashed,fill=gray!40,rounded corners}
}

\newcommand{\beschr}[1]{\hfill\textit{#1}}
\newcommand\Zeile{\null\the\pgfmatrixcurrentrow}

\begin{document}
\begin{tikzpicture}
\matrix(m)[matrix of nodes,column 2/.style={nodes={schritt}},%
    row sep=0.3cm% row sep gibt den Abstand zwischen den einzelnen Schritten an
  ]{%
% Bauteil einlegen
  \Zeile&Frg 1\beschr{Freigabe Einfahrt Bauteil}\\
  \Zeile&MZ 11 V\beschr{Sauger ein}\\
  \Zeile&Frg 2\beschr{Freigabe Ausfahrt Bauteil}\\[0.4cm]%zusätzlicher Abstand
%Arbeitsstellung
  \Zeile&MZ 12 V\beschr{Spanner Innenblech vorwärts}\\
  \Zeile&M1 \& M2 V\beschr{Bügel M1 \& M2 vorwärts}\\
  \Zeile&M3 \& M6 V\beschr{Bügel M3 \& M6 vorwärts}\\
  \Zeile&M4 \& M5 V\beschr{Bügel M4 \& M5 vorwärts}\\
  \Zeile&Z 13 V\beschr{Klemmeinheit lösen}\\
  \Zeile&MZ 14 V\beschr{Niederhalteraufnahme vorwärts}\\
  \Zeile&MZ 15-19 V\beschr{Niederhalteraufnahme vorwärts}\\
  \Zeile&MZ 21-22 V\beschr{Niederhalteraufnahme vorwärts}\\
  \Zeile&MZ 23-24 V\beschr{Niederhalteraufnahme vorwärts}\\
  \Zeile&MZ 20 V\beschr{Sperrventil vorwärts}\\[0.4cm]%zusätzlicher Abstand
%Falzvorgang
  \Zeile&M7 Pos 1\beschr{Hauptantrieb zur Vorfalzposition}\\
  \Zeile&M7 Pos 4\beschr{Hauptantrieb zur Grundstellung}\\
  \Zeile&MZ 25-30 V\beschr{Vorfalzantriebe vorwärts}\\
  \Zeile&M7 Pos 3\beschr{Hauptantrieb zur Falzposition}\\[0.4cm]%zusätzlicher Abstand
%Grundstellung
  \Zeile&M7 Pos 4\beschr{Hauptantrieb zur Grundstellung}\\
  \Zeile&MZ 25-30 R\beschr{Vorfalzantriebe rückwärts}\\
  \Zeile&MZ 23-24 R\beschr{Niederhalterzustellungen rückwärts}\\
  \Zeile&MZ 21-22 R\beschr{Niederhalterzustellungen rückwärts}\\
  \Zeile&MZ 20 V\beschr{Sperrventil rückwärts}\\
  \Zeile&MZ 15-19 V\beschr{Niederhalteraufnahmen rückwärts}\\
  \Zeile&MZ 14 V\beschr{Niederhalteraufnahme rückwärts}\\
  \Zeile&MZ 13 V\beschr{Klemmeinheit rückwärts}\\
  \Zeile&M4 \& M5 V\beschr{Bügel M4 \& M5 rückwärts}\\
  \Zeile&M3 \& M6 V\beschr{Bügel M3 \& M6 rückwärts}\\
  \Zeile&M1 \& M2 V\beschr{Bügel M1 \& M2 rückwärts}\\
  \Zeile&MZ 12 V\beschr{Spanner Innenblech rückwärts}\\[0.4cm]%zusätzlicher Abstand
%Bauteilentnahme
  \Zeile&Frg 1\beschr{Freigabe Einfahrt Bauteilentnahme}\\
  \Zeile&MZ 11 V\beschr{Sauger ein}\\
  \Zeile&Frg 2\beschr{Freigabe Ausfahrt Bauteilentnahme}\\
};
%Pfeile
\foreach \i in {1,...,31}{\pgfmathtruncatemacro\j{\i+1}\draw[pfeil] (m-\i-2)--(m-\j-2);}
%   Hintergrund 
\begin{pgfonlayer}{background}
  \foreach \i/\j/\b in {%
    1/3/Bauteil einlegen,% Zeile 1 bis 3
    4/13/Falze in Arbeitsstellung,% Zeile 4 bis 13
    14/17/Bauteil einlegen,% Zeile 14 bis 17
    18/29/Falze in Grundstellung,% Zeile 18 bis 29
    30/32/Bauteilentnahme% Zeile 30 bis 32
  }{%
    \node(hg)[hintergrund,fit=(m-\i-1)(m-\j-2),align=none]{};% Hintergrund
    \node[rotate=90,above]at(hg.west){\b};% seitliche Beschriftung
  }
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
Die Schwierigkeiten mit den Umlauten kann ich nicht nachvollziehen und wie das ganze auf eine A4 Seite passen soll, ist mir auch unklar.

Gruß
Elke

Antworten