两侧箭头指向同一方向的单箭头

两侧箭头指向同一方向的单箭头

请考虑以下我想在tikzpicture环境中绘制的箭头的示例:

箭

我的平均能量损失画了一个single arrow但只有一个头。有人知道我如何添加第二个头,如上图所示(即倒三角形)吗?

在此处输入图片描述

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shapes,arrows}

\begin{document}


\tikzstyle{MyArrow} = [
    single arrow,
    draw=none,
    single arrow head extend=0ex,
    text centered,
    fill=black,
    node distance=4cm
    ]



\begin{figure}

    \centering
    \begin{tikzpicture}

    \node[MyArrow,name=a1] {\textcolor{white}{Beschaffung}};
    \node[MyArrow,name=a2,right of=a1]  {\textcolor{white}{Produktion}};

    \end{tikzpicture}

\end{figure}


\end{document}

答案1

正如评论中所说,这是smartdiagram包,从 0.2 版本开始可用。

为了获得下面显示的相同结果,需要进行一些定制,因为默认情况下序列中的每个项目都有不同的颜色。

代码(相对于手册定义来说更加紧凑):

\documentclass[tikz,border=2pt,png]{standalone}
\usepackage{smartdiagram}

\begin{document}
\smartdiagramset{uniform sequence color=true,
  sequence item uniform color=gray!50!black,
  sequence item border color=gray!50!white,
  sequence item text color=gray!50!white,
  sequence item border size=\pgflinewidth,
}
\smartdiagram[sequence diagram]{Beschauffung,Produktion}
\end{document}

第一个版本

我不会使用这个single arrow形状,而是使用signal来自库的形状shapes.symbols

您可以使用和进行定制,signal from=westsignal to=east实现所需的头部。

一个例子:

\documentclass[tikz,border=2pt,png]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.symbols}

\tikzset{product size/.style={minimum width=2cm, 
    minimum height=1cm,
  },
  product/.style={
    draw,signal, 
    signal to=east, 
    signal from=west,
    product size,
    fill=gray!50!black,
    draw=gray!50!white,
    text=gray!50!white,
  },
}
\begin{document}

\begin{tikzpicture}
\node[product] (first) {Beschauffung};
\node[product, anchor=west] at (first.east){Produktion};
\end{tikzpicture}

\end{document}

结果:

在此处输入图片描述

这是一种以更简单且自动的方式完成事情的方法:

\documentclass[tikz,border=2pt,png]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.symbols}

\tikzset{product size/.style={minimum width=2cm, 
    minimum height=1cm,
    text height=1ex,
  },
  product/.style={
    draw,signal, 
    signal to=east, 
    signal from=west,
    product size,
    fill=gray!50!black,
    draw=gray!50!white,
    text=gray!50!white,
  },
}

\newcommand{\diagram}[1]{%
 \foreach \x[count=\xi, count=\prevx from 0] in {#1}{%
  \ifnum\xi=1
    \node[product] (x-\xi) {\x};
  \else
    \node[product,anchor=west] (x-\xi) at (x-\prevx.east) {\x};
  \fi
 }
}


\begin{document}

\begin{tikzpicture}
\diagram{One,Two,Three}
\end{tikzpicture}

\end{document}

结果:

在此处输入图片描述

相关内容