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:

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

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
    Commented Jul 11, 2016 at 7:00
  • 2
    @DRi the mychemistry package is not developed any more…
    – cgnieder
    Commented Aug 7, 2016 at 9:16
  • I actually think that your solution is pretty ok. Not sure what you don't like.
    – pisoir
    Commented Oct 27, 2017 at 22:15

1 Answer 1


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

reaction E+S=ES->E+P crossed with reaction E+I=EI


    node[midway, anchor=center]{+};

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .