I've been trying to draw the following reaction scheme using chemfig:
Following the response given here: chemfig: double harpoon + arched in/out arrow in reaction, I've managed to draw the following scheme:
Which uses the arrow <U=>
defined as:
\makeatletter
\definearrow2{<U=>}{%
\CF@arrow@shift@nodes{#2}%
\path[allow upside down](\CF@arrow@start@node)--(\CF@arrow@end@node)%
node[pos=0,yshift=1pt](\CF@arrow@start@node @u0){}%
node[pos=0,yshift=-1pt](\CF@arrow@start@node @d0){}%
node[pos=1,yshift=1pt](\CF@arrow@start@node @u1){}%
node[pos=1,yshift=-1pt](\CF@arrow@start@node @d1){};%
\begingroup%
\pgfarrowharpoontrue%
\expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node @u0)--(\CF@arrow@start@node @u1)node[pos=0.4](Uarrow@arctangent){};%
\expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node @d1)--(\CF@arrow@start@node @d0);%
\endgroup%
\expandafter\draw\expandafter(Uarrow@arctangent) arc (270:190:.333) node (Uarrow@end) {};%
\node[anchor=south,yshift=2pt] at ([email protected]) {#1};
}
\makeatother
As you may have noticed by now, I am missing the rate constants w
and z
. I've tried to modified the definition of the arrow <U=>
, but I haven't been able to create the complete diagram yet. Here is a fully working example:
\documentclass{article}
\usepackage{chemfig}
\makeatletter
\definearrow2{<U=>}{%
\CF@arrow@shift@nodes{#2}%
\path[allow upside down](\CF@arrow@start@node)--(\CF@arrow@end@node)%
node[pos=0,yshift=1pt](\CF@arrow@start@node @u0){}%
node[pos=0,yshift=-1pt](\CF@arrow@start@node @d0){}%
node[pos=1,yshift=1pt](\CF@arrow@start@node @u1){}%
node[pos=1,yshift=-1pt](\CF@arrow@start@node @d1){};%
\begingroup%
\pgfarrowharpoontrue%
\expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node @u0)--(\CF@arrow@start@node @u1)node[pos=0.4](Uarrow@arctangent){};%
\expandafter\draw\expandafter[\CF@arrow@current@style](\CF@arrow@start@node @d1)--(\CF@arrow@start@node @d0);%
\endgroup%
\expandafter\draw\expandafter(Uarrow@arctangent) arc (270:190:.333) node (Uarrow@end) {};%
\node[anchor=south,yshift=2pt] at ([email protected]) {#1};
}
\makeatother
\begin{document}
\section{Example}
\begin{equation}
\label{threestateslinear1}
\schemestart
A
\arrow{<=>[$x$][$y$]}
B
\arrow{<U=>[D]}
C
\schemestop
\end{equation}
\end{document}
What am I missing?