使用宏更改节点距离,并在节点旁边的背景中添加标签

使用宏更改节点距离,并在节点旁边的背景中添加标签

图片不适合 A4 页面。因此我想更改/添加的是:

  • 节点距离
  • 字体大小
  • 将节点组合在一起的垂直文本
  • 每个节点前面的数字作为“步数”
  • “群体”之间的距离更大
  • 一种更好的编码方式可能是使用宏,这样当我必须包含一个节点时,就不需要更改所有数字

这是我得到的距离,但第一个节点和第二个节点之间的距离与其他节点不同。我在原始文档中也使用了:

\documentclass[12pt, oneside,openright]{mpreport}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[scaled=0.9]{helvet}
\usepackage{ngerman}
\usepackage[babel,german=quotes]{csquotes}

但是对于图片我必须使用\"uü等等......


代码如下:

\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}

答案1

这将是对评论中提出的建议的部分回答。我知道​​ Phil 已经遵循并改进了这些建议(看看使用 \hfill 将文本拉伸至节点的边界)但这样answer the unanswered可以避免一些会话工作;-)

我认为node distancea bigger distance between the "groups"可以a better way to code 通过组织几个图表来解决matrix of nodes。它们内部row sep会修复node distance,并且positioning库将帮助我们every matrix尽可能多地放置我们想要的东西,也许可以作为一个宏

节点距离 字体大小 将节点分组的垂直文本 每个节点前面的数字作为“步数”

,所以当我必须包含一个节点时,我不需要更改所有数字

\documentclass[a4paper]{article}
\usepackage[hmargin={1cm,1cm}]{geometry}
\usepackage{tikz}

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

\begin{document}

\begin{figure}

\begin{tikzpicture}
    [schritt/.style= {draw, solid, 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},
     every matrix/.style={matrix of nodes, row sep=3mm, outer sep=0pt, hintergrund, nodes={schritt}}]

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

        %   Bauteil einlegen
    \matrix (A) {
        {Frg 1\beschr{Freigabe Einfahrt Bauteil}}\\
        {MZ 11 V\beschr{Sauger ein}}\\            
        {Frg 2\beschr{Freigabe Ausfahrt Bauteil}}\\};

        \foreach \i [remember=\i as \j (initially 1)] in {2, 3}
        \draw[pfeil] (A-\j-1)--(A-\i-1);

        %   Arbeitsstellung
    \matrix (B) [below=5mm of A.south]{
        {MZ 12 V\beschr{Spanner Innenblech vorw\"arts}}\\
        {M1 \& M2 V\beschr{B\"ugel M1 \& M2 vorw\"arts}}\\
        {M3 \& M6 V\beschr{B\"ugel M3 \& M6 vorw\"arts}}\\
        {M4 \& M5 V\beschr{B\"ugel M4 \& M5 vorw\"arts}}\\
        {MZ 13 V\beschr{Klemmeinheit l\"osen}}\\
        {MZ 14 V\beschr{Niederhalteraufnahme vorw\"arts}}\\
        {MZ 15-19 V\beschr{Niederhalteraufnahmen vorw\"arts}}\\
        {MZ 21-22 V\beschr{Niederhalterzustellungen vorw\"arts}}\\
        {MZ 23-24 V\beschr{Niederhalterzustellungen vorw\"arts}}\\
        {MZ 20 V\beschr{Sperrventil vorw\"arts}}\\};

        \foreach \i [remember=\i as \j (initially 1)] in {2, ..., 10}
        \draw[pfeil] (B-\j-1)--(B-\i-1);


%   Falzvorgang
    \matrix (C) [below=5mm of B.south]{
        {M7 Pos 1\beschr{Hauptantrieb zur Vorfalzposition}}\\
        {M7 Pos 4\beschr{Hauptantrieb zur Grundstellung}}\\
        {MZ 25-30 V\beschr{Vorfalzantriebe vorw\"arts}}\\
        {M7 Pos 3\beschr{Hauptantrieb zur Falzposition}}\\};

        \foreach \i [remember=\i as \j (initially 1)] in {2, ..., 4}
        \draw[pfeil] (C-\j-1)--(C-\i-1);

        %   Grundstellung
    \matrix (D) [right=10mm of A.north east, matrix anchor=north west]{
        {M7 Pos 4\beschr{Hauptantrieb zur Grundstellung}}\\
        {MZ 25-30 R\beschr{Vorfalzantriebe r\"uckw\"arts}}\\
        {MZ 23-24 R\beschr{Niederhalterzustellungen r\"uckw\"arts}}\\
        {MZ 21-22 R\beschr{Niederhalterzustellungen r\"uckw\"arts}}\\
        {MZ 20 V\beschr{Sperrventil r\"uckw\"arts}}\\
        {MZ 15-19 V\beschr{Niederhalteraufnahmen r\"uckw\"arts}}\\
        {MZ 14 V\beschr{Niederhalteraufnahme r\"uckw\"arts}}\\
        {MZ 13 V\beschr{Klemmeinheit r\"uckw\"arts}}\\
        {M4 \& M5 V\beschr{B\"ugel M4 \& M5 r\"uckw\"arts}}\\
        {M3 \& M6 V\beschr{B\"ugel M3 \& M6 r\"uckw\"arts}}\\
        {M1 \& M2 V\beschr{B\"ugel M1 \& M2 r\"uckw\"arts}}\\
        {MZ 12 V\beschr{Spanner Innenblech r\"uckw\"arts}}\\};
        \foreach \i [remember=\i as \j (initially 1)] in {2, ..., 12}
        \draw[pfeil] (D-\j-1)--(D-\i-1);


        %   Bauteilentnahme
    \matrix (E) [below=5mm of D.south]{
        {Frg 1\beschr{Freigabe Einfahrt Bauteilentnahme}}\\
        {MZ 11 V\beschr{Sauger ein}}\\
        {Frg 2\beschr{Freigabe Ausfahrt Bauteilentnahme}}\\};
          \foreach \i [remember=\i as \j (initially 1)] in {2, ..., 3}
        \draw[pfeil] (E-\j-1)--(E-\i-1);

\draw[pfeil] (A-3-1)--(B-1-1);
\draw[pfeil] (B-10-1)--(C-1-1);
\draw[pfeil] (C-4-1)--([yshift=-5mm]C.south)-| ([shift={(-5mm,5mm)}]D.north west) -| (D-1-1);
\draw[pfeil] (D-12-1)--(E-1-1);

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

\end{document}

在此处输入图片描述

相关内容