chemfig:双鱼叉 + 反应中的双弯箭 + 速率常数

chemfig:双鱼叉 + 反应中的双弯箭 + 速率常数

根据这个问题的答案:chemfig:双鱼叉 + 反应中的弯箭头 + 速率常数。如何用双弯箭获得双鱼叉?换句话说,如何获得从顶部进入的弯箭和从底部出来的双鱼叉。我真的很接近了,我已经修改了该问题的答案以获得下面的反应箭头。

\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}

在此处输入图片描述

我唯一想做的就是让弯曲的箭头从底部箭头而不是顶部箭头出来。这可能是一行修复,但我没有使用 TikZ 的经验,在寻找要修改的行时遇到了一些麻烦。

答案1

很可能仍然需要改进,但可能是个起点:

在此处输入图片描述

\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}

相关内容