# Arranging vertical reaction with “plus(+)” in chemfig scheme

I'm now trying to draw some basic chemistry scheme with the package "chemfig". I tried to draw something like this: Actually I successfully created the image above via the following code:

\documentclass[12pt]{article}
\usepackage{chemfig,chemmacros}
\usepackage{amsmath}
\begin{document}
\schemestart
E\arrow(enzyme--){0}[0,0]\+S\arrow{<=>[$k_{1}$][$k_{2}$]}ES\arrow{->[$k_{3}$][]}E\+P
\arrow(@enzyme--){0}[-90,0.15]+\arrow{0}[-90,0.15]I\arrow{<=>[*{0}$k_{4}$][*{0}$k_{5}$]}[-90]EI
\schemestop
\end{document}


But it seems to me that it wasn't a good idea to use invisible arrows to provide enough space between "E" and "+" and "I". (Besides, if I use \+ instead, it would move slightly to the right side.) Is there any other way to arrange this vertical reaction? Also, is there another way to name "E" and "S" separately without using invisible array? Thank you very much.

• Not answer, but did you had a look at the mychemistrypackage, maybe it could help. – DRi Jul 11 '16 at 7:00
• @DRi the mychemistry package is not developed any more… – cgnieder Aug 7 '16 at 9:16
• I actually think that your solution is pretty ok. Not sure what you don't like. – pisoir Oct 27 '17 at 22:15

tex.stackexchange identifed your question as close to mine, so here is a solution based on this answer that uses \definearrow:

\documentclass[12pt]{standalone}
\usepackage{chemfig}

\makeatletter
\definearrow{2}{p}{%
\expandafter\path\expandafter[\CF@arrow@current@style,-CF](\CF@arrow@start@node)--(\CF@arrow@end@node)
node[midway, anchor=center]{+};
\CF@arrow@display@label{#1}{0.5}{+}{\CF@arrow@start@node}{#2}{0.5}{-}{\CF@arrow@end@node}
}
\makeatother

\begin{document}
\schemestart
E\arrow(enzyme--){p}[0,0.5]S\arrow{<=>[$k_{1}$][$k_{2}$]}ES\arrow{->[$k_{3}$][]}E\arrow{p}[,0.5]P
\arrow(@enzyme--){p}[-90,0.5]I\arrow{<=>[*{0}$k_{4}$][*{0}$k_{5}$]}[-90]EI
\schemestop
\end{document}