smartdiagram:在流程图中添加额外的箭头和符号

smartdiagram:在流程图中添加额外的箭头和符号

我想要制作以下流程图,smartdiagram并需要一些提示来了解如何绘制额外的箭头和符号。

在此处输入图片描述

到目前为止我得到了这个

在此处输入图片描述

使用以下代码

\documentclass[border=10pt]{standalone}
\usepackage{smartdiagram}

\begin{document}

\smartdiagram[flow diagram:vertical]{Define,
  Measure, Analyze, Improve, Control}

\end{document}

请提供任何帮助。

答案1

我尝试复制你的图表使用 TiZ(因为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解决方案。使用tikzarrows.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}

在此处输入图片描述

相关内容