Wednesday, December 5, 2012

LaTeX and Chemistry

Originally Posted on  by hsauro

I recently had the need to draw some chemical equation in a LaTeX document. In the past I’ve used ChemDraw and loaded the image into my document as a png file. Last time I used ChemDraw was on my old computer and I didn’t have it on my new machine. So rather than download a copy and remind myself how to use it, I decided to see what was going on in the LaTeX community with respect to chemistry support. The answer is a lot. What I found was a number of new packages. One particular package, chemfig, written by Christian Tellechea, caught my attention. One needs to read the documentation before using this package but its mode of operation is fairly straightforward. Other related tools can be found at Clemens Niederberger

For those who are curious, chemfig is built on tikz, an excellent general-purpose drawing package. The main command in chemfig is:

   \chemfig{atom1 bond type[angle,coeff,tikz code]atom2}

Atoms can continue to be added to the list. A very simple example is:

\setatomsep{2em}
\chemfig{CH_3-CH_2-COOH}

\setatomsep just set the bond length which I made a little longer compared to the default. Or expressed in a different way using the angle option:

\chemfig{H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-C(-[7]H)=[1]O}


For my purpose I need to draw a transaminase reaction, for this, I used the following code:

\setatomsep{1.8em}
\schemestart
\chemname{\chemfig{[6]COO^{-}-[6]CH(-[0]NH_3^{+})%
-[6]CH_2-[6]CH_2-[6]COO^{-}}}{glutamate}
\+{0pt,0pt,-48pt}
\chemname{\chemfig{[6]COO^{-}-[6]C(=[0]O)-[6]CH_3}}{pyruvate}
\arrow
\chemname{\chemfig{[6]COO^{-}-[6]C(=[0]O)-[6]CH_2-[6]CH_2%
-[6]COO^{-}}}{$\alpha$-ketoglutarate}
\+{0pt,0pt,-48pt}
\chemname{\chemfig{[6]COO^{-}-[6]CH(-[0]{NH_3^{+}})%
-[6]CH_3}}{alanine}
\schemestop

which yielded:



It could probably be tuned up a bit, for example, the molecules are a bit close to the `addition' symbols. One thing I couldn’t get working very well was coloring atoms and groups of atoms.

If you use MiKTeX on windows all you have to do is include the following line at the start of your document:

\usepackage{chemfig}

and MiTeX will automatically download the package. Further details of the package including the fairly long manual can be found at CTAN.

No comments: