von TeXtastisch » Fr 27. Nov 2020, 14:48
Deine Antwort hat mir sehr geholfen, danke. Um ein bisschen an die Community zurück zu geben, möchte ich zeigen was ich daraus gemacht habe, vielleicht hilft es noch jemanden.
\documentclass[fontsize=11pt]{scrartcl}
\usepackage[demo]{graphicx}
\usepackage{tikz}
\usetikzlibrary{matrix,fit,chains,scopes,arrows.meta}
% Color definitions
\colorlet{criticalPathColor}{red!20}
\colorlet{casualPathColor}{green!20}
% Size definitions
\newcommand{\varNetzplanParboxSize}{3cm}
\newcommand{\varCoordHDist}{0.4cm}
\newcommand{\varArrowHDist}{0.1cm}
\begin{document}
\begin{tikzpicture}
% Voreinstellungen
[
vorgang/.style={matrix of nodes,
minimum size=2em,
text height=\ht\strutbox, text depth=\dp\strutbox,
},
row 2/.style={nodes={draw=none}, minimum height = 1cm},
nodes in empty cells,
row 2 column 2/.style={overlay},
nodes={rectangle, draw,minimum width=1.1cm},
arrowdesc/.style={rectangle}
]
%Startvorgang
\matrix[vorgang,
row 3 column 2/.style={nodes={fill=criticalPathColor}}
] (start)
{
0 & X & 0\\
&Start&\\
0 & 0 & 0\\
0 & 0 & 0\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (start-1-1.south west) -- (start-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (start-1-3.south east) -- (start-3-3.north east);
%Vorgang 1
\matrix[vorgang, right = of start,
row 3 column 2/.style={nodes={fill=criticalPathColor}}
] (vorgang1)
{
1 & X & 1\\
&\parbox{\varNetzplanParboxSize}{\centering Vorgang 1}&\\
0 & 0 & 1\\
0 & 0 & 1\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (vorgang1-1-1.south west) -- (vorgang1-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (vorgang1-1-3.south east) -- (vorgang1-3-3.north east);
%Vorgang2
\matrix[vorgang, right = of vorgang1,
row 3 column 2/.style={nodes={fill=casualPathColor}}
] (vorgang2)
{
2 & X & 10\\
&\parbox{\varNetzplanParboxSize}{\centering Vorgang 2}&\\
1 & 10 & 11\\
6& 10 & 16\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (vorgang2-1-1.south west) -- (vorgang2-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (vorgang2-1-3.south east) -- (vorgang2-3-3.north east);
%Vorgang3
\matrix[vorgang, below = of vorgang1,
row 3 column 2/.style={nodes={fill=criticalPathColor}}
] (vorgang3)
{
3 & X & 20\\
&\parbox{\varNetzplanParboxSize}{\centering Vorgang 3}&\\
1 & 0 & 21\\
1 & 0 & 21\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (vorgang3-1-1.south west) -- (vorgang3-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (vorgang3-1-3.south east) -- (vorgang3-3-3.north east);
%Ende
\matrix[vorgang, right = of vorgang3,
row 3 column 2/.style={nodes={fill=criticalPathColor}}
] (ende)
{
4 & X & 0\\
&\parbox{\varNetzplanParboxSize}{\centering Ende}&\\
21 & 0 & 21\\
21 & 0 & 21\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (ende-1-1.south west) -- (ende-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (ende-1-3.south east) -- (ende-3-3.north east);
% Verbindungen mit Beschriftungen.
% Start -> 1: NF
\draw[-{Latex[length=3mm,width=5mm]},red] (start) -- (vorgang1);
\coordinate[right = 0.4cm of start] (test);
\node[above=0.1cm of test, draw=none] (testmore) {NF};
%1 -> 2: NF
\draw[-{Latex[length=3mm,width=5mm]}] (vorgang1) -- (vorgang2);
\coordinate[right = \varCoordHDist of vorgang1] (coord1_2);
\node[above=\varArrowHDist of coord1_2, draw=none] (between1_2) {NF};
%1 -> 3: NF
\draw[-{Latex[length=3mm,width=5mm]},red] (vorgang1) -- (vorgang3);
\coordinate[below = \varCoordHDist of vorgang1] (coord1_3);
\node[right=-0.2cm of coord1_3, draw=none] (between1_3) {NF};
%2 -> ende: EF
\draw[-{Latex[length=3mm,width=5mm]}] (vorgang2) -- (ende);
\coordinate[below = \varCoordHDist of vorgang2] (coord2_ende);
\node[right=0.1 of coord2_ende, draw=none] (between2_ende) {NF -5};
%3 -> ende: NF
\draw[-{Latex[length=3mm,width=5mm]},red] (vorgang3) -- (ende);
\coordinate[right = \varCoordHDist of vorgang3] (coord3_ende);
\node[above=\varArrowHDist of coord3_ende, draw=none] (between3_ende) {NF};
\end{tikzpicture}
\end{document}
Ich habe die Größe der Nodes angepasst und Pfeile aus der arrow.meta tikzlibrary benutzt und diese beschriftet. Das Ergebnis ist im Anhang zu sehen.
- Dateianhänge
-
Deine Antwort hat mir sehr geholfen, danke. Um ein bisschen an die Community zurück zu geben, möchte ich zeigen was ich daraus gemacht habe, vielleicht hilft es noch jemanden.
[code]
\documentclass[fontsize=11pt]{scrartcl}
\usepackage[demo]{graphicx}
\usepackage{tikz}
\usetikzlibrary{matrix,fit,chains,scopes,arrows.meta}
% Color definitions
\colorlet{criticalPathColor}{red!20}
\colorlet{casualPathColor}{green!20}
% Size definitions
\newcommand{\varNetzplanParboxSize}{3cm}
\newcommand{\varCoordHDist}{0.4cm}
\newcommand{\varArrowHDist}{0.1cm}
\begin{document}
\begin{tikzpicture}
% Voreinstellungen
[
vorgang/.style={matrix of nodes,
minimum size=2em,
text height=\ht\strutbox, text depth=\dp\strutbox,
},
row 2/.style={nodes={draw=none}, minimum height = 1cm},
nodes in empty cells,
row 2 column 2/.style={overlay},
nodes={rectangle, draw,minimum width=1.1cm},
arrowdesc/.style={rectangle}
]
%Startvorgang
\matrix[vorgang,
row 3 column 2/.style={nodes={fill=criticalPathColor}}
] (start)
{
0 & X & 0\\
&Start&\\
0 & 0 & 0\\
0 & 0 & 0\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (start-1-1.south west) -- (start-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (start-1-3.south east) -- (start-3-3.north east);
%Vorgang 1
\matrix[vorgang, right = of start,
row 3 column 2/.style={nodes={fill=criticalPathColor}}
] (vorgang1)
{
1 & X & 1\\
&\parbox{\varNetzplanParboxSize}{\centering Vorgang 1}&\\
0 & 0 & 1\\
0 & 0 & 1\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (vorgang1-1-1.south west) -- (vorgang1-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (vorgang1-1-3.south east) -- (vorgang1-3-3.north east);
%Vorgang2
\matrix[vorgang, right = of vorgang1,
row 3 column 2/.style={nodes={fill=casualPathColor}}
] (vorgang2)
{
2 & X & 10\\
&\parbox{\varNetzplanParboxSize}{\centering Vorgang 2}&\\
1 & 10 & 11\\
6& 10 & 16\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (vorgang2-1-1.south west) -- (vorgang2-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (vorgang2-1-3.south east) -- (vorgang2-3-3.north east);
%Vorgang3
\matrix[vorgang, below = of vorgang1,
row 3 column 2/.style={nodes={fill=criticalPathColor}}
] (vorgang3)
{
3 & X & 20\\
&\parbox{\varNetzplanParboxSize}{\centering Vorgang 3}&\\
1 & 0 & 21\\
1 & 0 & 21\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (vorgang3-1-1.south west) -- (vorgang3-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (vorgang3-1-3.south east) -- (vorgang3-3-3.north east);
%Ende
\matrix[vorgang, right = of vorgang3,
row 3 column 2/.style={nodes={fill=criticalPathColor}}
] (ende)
{
4 & X & 0\\
&\parbox{\varNetzplanParboxSize}{\centering Ende}&\\
21 & 0 & 21\\
21 & 0 & 21\\
};
\draw[transform canvas={xshift=0.5\pgflinewidth}] (ende-1-1.south west) -- (ende-3-1.north west);
\draw[transform canvas={xshift=-0.5\pgflinewidth}] (ende-1-3.south east) -- (ende-3-3.north east);
% Verbindungen mit Beschriftungen.
% Start -> 1: NF
\draw[-{Latex[length=3mm,width=5mm]},red] (start) -- (vorgang1);
\coordinate[right = 0.4cm of start] (test);
\node[above=0.1cm of test, draw=none] (testmore) {NF};
%1 -> 2: NF
\draw[-{Latex[length=3mm,width=5mm]}] (vorgang1) -- (vorgang2);
\coordinate[right = \varCoordHDist of vorgang1] (coord1_2);
\node[above=\varArrowHDist of coord1_2, draw=none] (between1_2) {NF};
%1 -> 3: NF
\draw[-{Latex[length=3mm,width=5mm]},red] (vorgang1) -- (vorgang3);
\coordinate[below = \varCoordHDist of vorgang1] (coord1_3);
\node[right=-0.2cm of coord1_3, draw=none] (between1_3) {NF};
%2 -> ende: EF
\draw[-{Latex[length=3mm,width=5mm]}] (vorgang2) -- (ende);
\coordinate[below = \varCoordHDist of vorgang2] (coord2_ende);
\node[right=0.1 of coord2_ende, draw=none] (between2_ende) {NF -5};
%3 -> ende: NF
\draw[-{Latex[length=3mm,width=5mm]},red] (vorgang3) -- (ende);
\coordinate[right = \varCoordHDist of vorgang3] (coord3_ende);
\node[above=\varArrowHDist of coord3_ende, draw=none] (between3_ende) {NF};
\end{tikzpicture}
\end{document}
[/code]
Ich habe die Größe der Nodes angepasst und Pfeile aus der arrow.meta tikzlibrary benutzt und diese beschriftet. Das Ergebnis ist im Anhang zu sehen.