根据这个问题的答案: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}