[Tex/LaTex] Drawing Kinetic Schemes in Latex

chemfigmhchem

Do you think it would be possible to use the mhchem package and their arrows (e.g. <=>>) in drawing a cyclic kinetic scheme such as :
Example cyclic kinetic scheme, sorry for my appalling drawing, that's why i use latex ^_^

or do you think it would be better to use a different package?

Best Answer

It is not possible to draw such schemes with mhchem but as Twig has already noticed chemfig can be used. To expand a bit on Twig's answer and chemfig's possibilities: the \arrow command is the important macro here which is only valid between \schemestart and \schemestop. It has lots of arguments so here is a quick overview:

  • draw an arrow and call the starting node a (before the arrow) and the ending node (after the arrow) b:

    \arrow(a--b)
    
  • draw an arrow between previously called nodes a and b:

    \arrow(@a--@b)
    
  • draw an arrow of type <<-> (there a lots of others like ->, <=>, <->, ... ) with text above and below:

    \arrow{<<->[above][below]}
    
  • draw an arrow with angle 30 to the horizontal and with doubled length (whose default can be set for the document or the current scheme):

    \arrow[30,2]
    

These arguments can be combined. The following would draw an arrow of type <=> with “above” written on it and 1.5 times the default length with an angle of 30 degrees to the horizontal starting from node a, calling the node after it b:

\arrow(@a--b){<=>[above]}[30,1.5]

There's actually more but I believe this should suffice for a quick demonstration. The details are all explained in the manual.

Now at last one possibility for the scheme shown in the question using most of the features:

\documentclass{article}
\usepackage{chemfig}


\begin{document}

\schemestart
 Aa
 \arrow(A--B){<=>}
 Bbb
 \arrow{<<->[$10$]}[30] Eeeeee \arrow(--D){<<->[][$20$]}[-30] Ddddd
 \arrow(@B--C){<->>}[-30] Cccc
 \arrow(@C--@D){<->>}
\schemestop

\end{document}

enter image description here

Related Question