Known Chemistry Packages

This is intended to be a complete list of chemistry related packages. Still — nobody is perfect. So probably there are packages missing. If you know of any package that is missing, please let me know and I will add it to the list.

The descriptions for the packages are the ones on their corresponding CTAN sites.

• achemso by Joseph Wright — The bundle provides the official macros and style for submission to the journals of the American Chemical Society. Also provided is a style file to be used for bibliography database listings.
The natmove package, which moves citations relative to punctuation, is distributed as part of the bundle.
• biblatex-chem by Joseph Wright — The bundle offers a set of styles to allow chemists to use biblatex.The package has complete styles for:
• all ACS journals;
• RSC journals using standard (Chem. Commun.) style; and
• Angewandte Chem. style,
• thus covering a wide range of journals.

A comprehensive set of examples of use is included.

• bohr by Clemens Niederberger — The package provides means for the creation of simple Bohr models of atoms up to the atomic number 112. In addition, commands are provided to convert atomic numbers to element symbols or element names and vice versa.
• bpchem by Bjørn Pedersen — The package provides support for typesetting simple chemical formulae, those long IUPAC compound names, and some chemical idioms. It also supports the labeling of compounds and reference to labeled compounds.
• chemarr by Heiko Oberdiek
• chemarrow by Thomas Schroeder
• chembst by Stephan Schenk — The package offers a collection of advanced style files suitable for publications in chemistry journals. Currently, style files for journals published by the American Chemical Society, Wiley-VCH and The Royal Society of Chemistry are available. The style files support advanced features such as automatic formatting of errata or creating an appropriate entry for publications in Angewandte Chemie where both English and German should be cited simultaneously.
• chemcompounds by Stephan Schenk — The chemcompounds package allows for a simple consecutive numbering of chemical compounds. Optionally, it is possible to supply a custom name for each compound. The package differs from the chemcono package by not generating an odd-looking list of compounds inside the text.
• chemcono by Stefan Schulz — A package for using compound numbers in chemistry documents. It works like \cite and the \thebibliography, using \fcite and \theffbibliography instead. It allows compound names in documents to be numbered and does not affect the normal citation routines.
• ChemFig by Christian Tellechea — The package provides the command \chemfig{<code>}, which draws organic molecules using the tikz package. The <code> contains instructions for the drawing.
• chemformula by Clemens Niederberger — Typeset chemical formulæ and reaction equations.
• chemgreek by Clemens Niederberger — The pack­age pro­vides up­right Greek let­ters in sup­port of other chem­istry pack­ages.
• chem-journal by Jörg-Rüdiger Hill — Various formats for journals in Chemistry, including Reviews in Computational Chemistry, Journal of Physical Chemistry, Journal of Computational Chemistry, and Physical Chemistry Chemical Physics.
• chemmacros by Clemens Niederberger — The package offers a collection of macros and commands which are intended to make typesetting chemistry documents faster and more convenient. Coverage includes some nomenclature commands, oxidation numbers, thermodynamic data, Newman projections, etc.
• chemnum by Clemens Niederberger — The package defines a \label– and \ref-like command for compound numbers. It is supposed to be a hopefully comprehensive approach for the numbering of chemical compounds.
It requires packages expl3 (from the l3kernel bundle) and xparse (from the l3packages bundle).
• chemschemex by Dominik Siegel — The package provides a method for the typesetting of (chemical) schemes based on TikZ code, including an automatic structure referencing.
• chemstruct by Michael Ramek — An ingenious package that will also work with Plain . There are signs that it may have been (in part) inspiration for XyMTeX.
• chemstyle by Joseph Wright — Chemstyle has been developed as a successor to the package provided by the rsc bundle. The package provides an extensible system for formatting chemistry documents according to the conventions of a number of leading journals. It also provides some handy chemistry-related macros.
Chemstyle is much enhanced compared to its predecessor, and users of rsc are strongly encouraged to migrate (all of the additional macros in the rsc package are present in chemstyle).
The package chemscheme is distributed with chemstyle; chemstyle itself incorporates ideas that come from the trivfloat package; the documentation uses the auto-pst-pdf package.
• chemsym by Mats Dahlgren — Provides some basic support for typesetting chemical formulae, avoiding direct use of maths mode.
• chemtex by Roswitha Haas — The package was a very early demonstration of the use of for graphical purposes; it is seldom if ever used now (21st century), but represented ground-breaking effort when first released.
• cryst by Ulrich Müller — Font for graphical symbols used in crystallography. The font is provided as an Adobe Type 1 font, and as Metafont source. Instructions for use are available both in the README file and (with a font diagram) in the documentation.
• elements by Clemens Niederberger — The pack­age pro­vides means for re­triev­ing prop­er­ties of chem­i­cal el­e­ments like atomic number, el­e­ment sym­bol, el­e­ment name, elec­tron dis­tri­bu­tion or iso­tope num­ber. Prop­er­ties are de­fined for the el­e­ments up to the atomic num­ber 112. This pack­age is a spin-off of the pack­age bohr by the same au­thor.
• endiagram by Clemens Niederberger — Easy creation of potential energy curve diagrams. Also see this post for more information.
• ghsystem by Clemens Niederberger — The pack­age pro­vides the means to type­set all the haz­ard and pre­cau­tion­ary state­ments and pic­tograms in a straight­for­ward way. The state­ments are taken from EU reg­u­la­tion 1272/2008.
• ijqc by Richard J Mathar — ijqc.bst is a style file to support publication in Wiley’s International Journal of Quantum Chemistry. It is not in any way officially endorsed by the publisher or editors, and is provided without any warranty one could ever think of.
• isotope by Heiko Bauke — The package provides a command \isotope for setting the atomic weight and atomic number indications of isotopes. (The naive way of doing the job with mathematics commands produces an unsatisfactory result.)
• mhchem by Martin Hensel — Typeset chemical formulae/reactions and Risk and Safety phrases. Currently, the mhchem bundle consists of two packages: mhchem and rsphrase. The mhchem package provides two commands: one for typesetting chemical molecular formulae and one for typesetting chemical equations with these formulae. The rsphrase package contains the text of all official Risk and Safety (R and S) Phrases that are used to label chemicals. At the time being, these phrases are available in Danish, English, French, German (current spelling), and Spanish.
• miller by Harald Harders and Bjørn Pedersen — Typeset miller indices, e.g., \hkl<1-20> , that are used in material science with an easy syntax. Minus signs are printed as bar above the corresponding number.
• MOdiagram by Clemens Niederberger — The package provides an environment MOdiagram and some commands, to create molecular orbital diagrams using TikZ.
• mol2chemfig by Michael Palmer — The package provides a Python program to convert chemical structures from MDL molfile format or SMILES format to TeX format for processing using chemfig.
• myChemistry by Clemens Niederberger — The package provides commands for typesetting complex chemical reaction schemes with and ChemFig.
• nuc by Neil Davis — A simple package providing nuclear sub- and superscripts as commonly used in radiochemistry, radiation science, and nuclear physics and engineering applications.
Isotopes which have Z with more digits than A require special spacing to appear properly; this spacing is supported in the package.
• nucleardata by Wil­liam G. Net­tles — The pack­age pro­vides data and com­mands for in­clud­ing nu­clear and atomic mass and en­ergy data in LaTeX doc­u­ments. It uses the PythonTeX pack­age and re­quires python­tex.exe to be called with the TeX file as the ar­gu­ment.
• ochem by Ingo Klöckl — Typeset chemical formulae with . A Perl script to translate chemical formulae and reaction schemes into PostScript or . Includes a package to include the chemical reaction description in a document.
• pgfmolbio by Wolfgang Skala — The package draws graphs typically found in molecular biology texts. Currently, the package contains one module, which creates DNA sequencing chromatograms from files in standard chromatogram format (scf).
• ppchtex by Hans Hagen is a separate module of the ConTeXt macro package for . It seems to be in its final state (having not changed for more than 10 years).
• pst-labo by Denis Girou, Christophe Jorrsen, Manuel Luque and Herbert Voß — Pst-labo is a PSTricks related package for drawing basic and complex chemical objects. The documentation of the package is illuminated with plenty of illustrations together with their source code, making it an easy read.
• rsc by Joseph Wright — The rsc package provides a style in accordance with the requirements of the Royal Society of Chemistry. It was originally based on the file pccp.bst, but also implements a number of styles from the achemso package. The package is now a stub for the chemstyle package, which the author developed to unify the writing of articles with a chemistry content.
• r_und_s by Martin Hensel — The r_und_s package decodes the german ‘R- und S-Sätze’, which are numerically coded security advice for chemical substances into plain text.
• streeTeX by Igor Strokov — structural organic chemistry. The package performs depth-in traversal of a structure using descriptions of bonds and vertex labels. Additional features include input of mass spectra and simple flow charts.
The package uses emtex \special commands for line drawing (though the cataloguer managed to compile the documentation using his distribution of dvips, which includes support for those extensions).
• substances by Clemens Niederberger — The package provides the means to create a database-like file that contains data of various chemicals. These data may be retrieved in the document; an index of the chemicals mentioned in the document can be created.
• texshade by Eric Beitz is alignment shading software completely written in /; it can process multiple sequence alignments in the .MSF and the .ALN file formats. In addition to common shading algorithms, it provides special shading modes showing functional aspects, e.g. charge or hydropathy, and a wide range of commands for handling shading colours, text styles, labels, legends; it even allows the user to define completely new shading modes. combines highest flexibility with output quality — all in a bundle that does not demand excessive development time of the user.
• textopo by Eric Beitz — A package for setting shaded and annotated membrane protein topology plots and helical wheels.
• translation-chemsym-de by Sandro Heuke and Christine Römer — This is a German translation of the chemsym documentation.
• tikzorbital by Germain Salvato-Vallverdu — A package to draw atomic s, p and d orbitals as well as molec­u­lar or­bital di­a­grams.
• XyMTeX by Shinsaku Fujita is a set of packages for drawing a wide variety of chemical structural formulas. The commands have a set of systematic arguments for specifying substituents and their positions, endocyclic double bonds, and bond patterns; in some cases there are additional arguments for the hetero-atoms on the vertices of heterocycles. It is believed that this systematic design allows to operate as a practical (device-independent) tool for use with .

• Jon C

June 14, 2011 at 03:18 Reply

Hi Clemens – I just came across your site while searching about achemso and chemstyle. Thanks for maintaining a list where chem-LaTeX related developments can be found. (And I’m surprised and flattered to find myself on the blogroll… :) I’ve since moved Toeholds into my personal website.)

• Clemens

June 14, 2011 at 11:04 Reply

Hi Jon. Your website was one of the first where I actually found useful stuff concerning and chemistry — a natural choice for my blogroll!

• Bookmarks for October 20th through October 25th | dekay.org

October 25, 2011 at 17:01 Reply

[…] Known packages – chemistry and LaTeX – (tags: chemistry latex ) […]

• Mr T

February 13, 2012 at 01:02 Reply

Thanks for this very useful post! I’ve downloaded a package from this list for my chemistry lab work. Very helpful!

• dofine

July 8, 2012 at 17:02 Reply

chemexec is missing, I guess. :)

• pitterpolo

August 28, 2012 at 15:49 Reply

Ein sehr nützlicher Blog!
Wird direkt abonniert!

Bis später auf chemieonline…

• cgnieder

August 28, 2012 at 19:56 Reply

Nichts gegen chemieonline, aber das LaTeX-Forum dort ist recht verwaist. Ich habe dort auch schon schlicht falsche Ratschläge gelesen. Für kompetente und oft sehr schnelle Hilfe würde ich folgende Seiten vorschlagen mögen:

englischsprachig:

deutschsprachig:

• pitterpolo

August 30, 2012 at 11:41

Hallo,

ja, das weiß ich zum Teil.
Aber die von dir genannten (besonders die englischssprachigen) Seiten scheinen sehr umfassend zu sein! Vielen Dank für die Links!