答案1
我尝试复制你的图表使用 Ti钾Z(因为smartdiagram
也是一个基于 Ti 的包钾Z)。
\documentclass[margin=3mm, tikz]{standalone}
\usetikzlibrary{shapes}
\usepackage{helvet}
\tikzset{rounded/.style={
rectangle, draw,
rounded corners=3pt,
minimum width=4cm,
minimum height=0.7cm
}}
\begin{document}
\begin{tikzpicture}
\sffamily
\node[rounded] (d) at (0,0) {[D] Define};
\draw[thick,->] (4,0)--(d);
\node[rounded] (m) at (0,-2) {[M] Measure};
\draw[thick,->,color=black!30] (4,-2)--(m);
\node[rounded] (a) at (0,-4) {[A] Analyze};
\draw[thick,->,color=black!30] (4,-4.1)--(2,-4.1);
\draw[thick,->,color=black!30] (2,-3.9)--(4,-3.9);
\node[rounded] (i) at (0,-6) {[I] Improve};
\draw[thick,->,color=black!30] (i)--(4,-6);
\node[rounded] (c) at (0,-8) {[C] Control};
\draw[thick,->] (c)--(4,-8);
\draw[thick,->] (d)--(m);
\draw[thick,->] (m)--(a);
\draw[thick,->] (a)--(i);
\draw[thick,->] (i)--(c);
\draw[thick,->] (4,-8)--(4,0);
\end{tikzpicture}
\end{document}
答案2
smartdiagram
给出节点名称,module\X
其中\X
是整数。可以利用这一点。(我不确定我是否正确解释了“额外符号”,但当然你可以添加任何符号来代替箭头。)
\documentclass[border=10pt]{standalone}
\usepackage{smartdiagram}
\tikzset{every picture/.append style={remember picture}}
\begin{document}
\smartdiagram[flow diagram:vertical]{Define,
Measure, Analyze, Improve, Control}
\begin{tikzpicture}[overlay]
\foreach \X in {2,4}
{\draw[stealth-,line width=1mm,red!40] (module\X.east) -- ++ (0.5,0) coordinate
(aux-\X);}
\draw[-stealth,line width=1mm,red!40] ([yshift=1.5mm]module3.east) -- ++ (0.5,0)
coordinate (aux-3);
\draw[stealth-,line width=1mm,red!40] ([yshift=-1.5mm]module3.east) -- ++ (0.5,0);
\draw[-stealth,line width=1mm,red!40] (module5.east) -- ++ (0.5,0) coordinate (aux-5);
\path (module1.east) -- ++ (0.5,0) coordinate (aux-1);
\foreach \X [remember=\X as \Y (initially 1)] in {2,...,5}
{\path (aux-\Y) -- (aux-\X) coordinate[pos=0.4](mid-\X);
\draw[-stealth,line width=1mm,red!40] (aux-\X) -- (mid-\X);}
\end{tikzpicture}
\end{document}
答案3
还有一个tikz
解决方案。使用tikz
库arrows.meta
(用于箭头)和chains
(用于将节点放入链中),mwe 是:
\documentclass[margin=3mm, tikz]{standalone}
\usetikzlibrary{arrows.meta, chains}
\begin{document}
\begin{tikzpicture}[
node distance = 4mm,
start chain = A going below,
arr/.style = {-Triangle, semithick},
box/.style = {rectangle, draw, rounded corners,
minimum width=33mm, minimum height=6mm,
on chain=A, join=by arr}
]
\node[box] {[D] Define}; % A-1
\node[box] {[M] Measure};
\node[box] {[A] Analyze};
\node[box] {[I] Improve};
\node[box] {[C] Control}; % A-5
%
\draw[arr] (A-5.east) -- ++ (1,0) coordinate (aux)
|- (A-1);
\draw[arr, gray]
(A-2 -| aux) edge (A-2)
([yshift=+3pt] A-3.east) edge ([yshift=+3pt] A-3.east-| aux)
([yshift=-3pt] A-3.east -| aux) edge ([yshift=-3pt] A-3.east)
(A-4) to (A-4 -| aux);
\end{tikzpicture}
\end{document}