Как сделать так, чтобы стрелки смарт-диаграммы были того же цвета, что и поле, из которого они ведут, а не в которое?

Как сделать так, чтобы стрелки смарт-диаграммы были того же цвета, что и поле, из которого они ведут, а не в которое?

Я хочу smartdiagramиспользовать цвет предыдущего блока также и для стрелки, а не блока, к которому она ведет. Поэтому на этом изображении:

введите описание изображения здесь

Я хочу, чтобы зеленая стрелка была красной, синяя — зеленой, оранжевая — синей, а красная — оранжевой.

Как мне этого добиться? Вот мой MWE:

\documentclass[border=3mm]{standalone}

\usepackage{smartdiagram}

\tikzset{
    every shadow/.style={
        fill=none,
        shadow xshift=0pt,
        shadow yshift=0pt}
}

\tikzset{module/.append style={top color=\col,bottom color=\col}}

\smartdiagramset{%
    module shape=rectangle,
    text color=white,
    border color=none,
}

\smartdiagramset{set color list={red,green,blue,orange}}

\begin{document}
\sffamily
\smartdiagram[flow diagram:horizontal]{elem1,elem2,elem3,elem4}
\end{document}

решение1

https://tex.stackexchange.com/a/126481/197451

введите описание изображения здесь

\documentclass[border=3mm]{standalone}

\usepackage{smartdiagram}

\tikzset{
    every shadow/.style={
        fill=none,
        shadow xshift=0pt,
        shadow yshift=0pt}
}

\tikzset{module/.append style={top color=\col,bottom color=\col}}

\smartdiagramset{%
    module shape=rectangle,
    text color=white,
    border color=none,
}
\makeatletter
\smartdiagramset{
    flip arrow colors/.style={
        /tikz/diagram arrow type/.prefix code={%
            \edef\col{\@nameuse{color@\xi}}%
        }
    }
}
\smartdiagramset{flip arrow colors}

\begin{document}
\sffamily
\smartdiagram[flow diagram:horizontal]{elem1,elem2,elem3,elem4}
\end{document}

Связанный контент