Chemfig: double harpoon + double curved arrow in reaction + rate constants

chemfigtikz-arrowstikz-pgf

Following from the answer to this question: chemfig: double harpoon + curved arrow in reaction + rate constants. How to get the double harpoon with double curved arrows? In other words, how to get a curved arrow coming in from the top and another one coming out from the bottom for the double harpoon. I am really close, I have modified the answer in that question to get the reaction arrows below.

\documentclass{article}
\usepackage{chemfig}
\catcode`\_=11


\definearrow4{<Uu=>}{%
    \CF_arrowshiftnodes{#4}%
    \path[allow upside down](\CF_arrowstartnode)--(\CF_arrowendnode)%
            node[pos=0,yshift=1pt](\CF_arrowstartnode u0){}%
            node[pos=0,yshift=-1pt](\CF_arrowstartnode d0){}%
            node[pos=1,yshift=1pt](\CF_arrowstartnode u1){}%
            node[pos=1,yshift=-1pt](\CF_arrowstartnode d1){};%
    \begingroup%
        \pgfarrowharpoontrue%
        \expandafter\draw\expandafter[\CF_arrowcurrentstyle](\CF_arrowstartnode u0)--(\CF_arrowstartnode u1);%
        \expandafter\draw\expandafter[\CF_arrowcurrentstyle](\CF_arrowstartnode d1)--(\CF_arrowstartnode d0)node[midway](Uarrowarctangent){};%
        \expandafter\draw\expandafter[\CF_arrowcurrentstyle](\CF_arrowstartnode u0)--(\CF_arrowstartnode u1)node[pos=0.4](Uarrowarctangent){};%
        \expandafter\draw\expandafter[\CF_arrowcurrentstyle](\CF_arrowstartnode d1)--(\CF_arrowstartnode d0);%
    \endgroup%
    \expandafter\draw\expandafter[\CF_arrowcurrentstyle](Uarrowarctangent) arc (-270:-190:.333) node (Uarrowend) {};%
    \node[anchor=north,yshift=-2pt] at (Uarrowend.south) {#1};
    \expandafter\draw\expandafter(Uarrowarctangent) arc (270:190:.333) node (Uarrowend) {};%
    \node[anchor=south,yshift=2pt] at (Uarrowend.north) {#1};
    \node[anchor=south,yshift=4pt,xshift=5pt] at (Uarrowarctangent) {#2};  
    \node[anchor=south,yshift=-8pt,xshift=5pt] at (Uarrowarctangent) {#3};
}

\catcode`\_=8


\begin{document}


\begin{equation}
\schemestart
B
\arrow{<Uu=>[A][$w$][$z$]}
C
\schemestop
\end{equation}
\end{document}

enter image description here

All that I am missing is for the curved arrow to come out of the bottom arrow instead of the top arrow. It is probably a one line fix but I am not experienced with TikZ and am having some trouble finding the line to modify.

Best Answer

Most likely still in need of improvement but probably a place to start from:

enter image description here

\documentclass{article}
\usepackage{chemfig}
\catcode`\_=11
\definearrow4{<Uu=>}{%
    \CF_arrowshiftnodes{#4}%
    \path[allow upside down](\CF_arrowstartnode)--(\CF_arrowendnode)%
            node[pos=0,yshift=1pt](\CF_arrowstartnode u0){}%
            node[pos=0,yshift=-1pt](\CF_arrowstartnode d0){}%
            node[pos=1,yshift=1pt](\CF_arrowstartnode u1){}%
            node[pos=1,yshift=-1pt](\CF_arrowstartnode d1){};%
    \begingroup%
        \pgfarrowharpoontrue%
        \expandafter\draw\expandafter[\CF_arrowcurrentstyle](\CF_arrowstartnode u0)--(\CF_arrowstartnode u1);%
        \expandafter\draw\expandafter[\CF_arrowcurrentstyle](\CF_arrowstartnode d1)--(\CF_arrowstartnode d0)node[midway](Uarrowarctangent){};%
    \endgroup%
    \expandafter\draw\expandafter[\CF_arrowcurrentstyle](Uarrowarctangent) arc (-270:-190:.333) node (Uarrowend) {};%
    \node[anchor=north,yshift=-2pt] at (Uarrowend.south) {#1};
    \begingroup%
        \pgfarrowharpoontrue%
        \expandafter\draw\expandafter[\CF_arrowcurrentstyle](\CF_arrowstartnode u0)--(\CF_arrowstartnode u1)node[midway](Uarrowarctangent){};%
        \expandafter\draw\expandafter[\CF_arrowcurrentstyle](\CF_arrowstartnode d1)--(\CF_arrowstartnode d0);%
    \endgroup%
    \expandafter\draw\expandafter(Uarrowarctangent) arc (270:190:.333) node (Uarrowend) {};%
    \node[anchor=south,yshift=2pt] at (Uarrowend.north) {#1};
    \node[anchor=south,yshift=4pt,xshift=5pt] at (Uarrowarctangent) {#2};  
    \node[anchor=south,yshift=-8pt,xshift=5pt] at (Uarrowarctangent) {#3};
}
\catcode`\_=8


\begin{document}


\begin{equation}
\schemestart
B
\arrow{<Uu=>[A][$w$][$z$]}
C
\schemestop
\end{equation}
\end{document}
Related Question