7

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?

Twig
  • 347
  • The Chemfig package looks quite good – Twig Feb 04 '13 at 17:38
  • 1
    I don't think you can draw such schemes with mhchem. See http://tex.stackexchange.com/questions/52722/can-you-make-chemical-structure-diagrams-in-latex/53572#53572 for some options. – Torbjørn T. Feb 04 '13 at 18:08

2 Answers2

10

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

cgnieder
  • 66,645
4

Here is a partial answer, the chemfig package is good:

\documentclass{standalone}
\usepackage{chemfig}

\begin{document}
\schemedebug{true}
\schemestart
A \arrow{<=>} B \arrow[-45]  C \arrow[45] D \arrow[135] E \arrow[-135]
\schemestop
\end{document}

, however there is a problem with the double arrows on the square bit.

Edit: Problem Solved

\documentclass{standalone}
\usepackage{chemfig,siunitx}
\begin{document}
\schemedebug{false}
\schemestart
    A \arrow{<=>} B
    \arrow{<->>}[-45]  C
    \arrow{<->>}[45] D 
    \arrow{<->>[\SI{20}{\Hz}]}[135] E 
    \arrow{<->>[][10]}[-135]
\schemestop
\end{document}

enter image description here

Twig
  • 347