You can define a new arrow type as explained in section 11 of part IV of the chemfig
manual:
\documentclass{article}
\usepackage{chemfig}
\makeatletter
\definearrow{3}{-|>}{%
\CF@arrow@shift@nodes{#3}%
\expandafter\draw\expandafter[\CF@arrow@current@style,-CF]
(\CF@arrow@start@node) -| (\CF@arrow@end@node)
node[midway] (arrow@middle){} ;%
\CF@arrow@display@label
{#1}{0.5}{+}{\CF@arrow@start@node}
{#2}{0.5}{-}{arrow@middle}%
}
\makeatother
\begin{document}
% \schemedebug{true}
\schemestart
A \arrow(A--){->[$k_{on}$]}
B \arrow{->[$k_{c}$]}
C \arrow(C--D){->[$k_{d}$]}[30,1.75] D
\arrow(@C--E){->[$k_{d}^{'}$]}[-30,1.75] E
\arrow(@E--@D){<=>[*{0} $k_{a}^{}$][*{0} $k_{a}^{'}$]}
\arrow(@E--@A){-|>}
\arrow(@D--@A){-|>}
\schemestop
\end{document}
For reasons I don't understand the arrows don't quite end at node A
but a little bit beside it. And if one adds an anchor (\arrow(@[email protected]){-|>}
) the node gets shifted instead of the arrow tip. I suspect that there's a bug when an arrow connects two nodes with the (@node1--@node2)
syntax but I'm not sure… probably a question for Christian, the author of chemfig
.
\arrow(C---)
has a-
too much. It should be\arrow(C--)
.