This is intended to be a complete list of chemistry related LaTeX 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 BibTeX style for submission to the journals of the American Chemical Society. Also provided is a BibTeX 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.
- biochemistry-colors by Engelbert Buxbaum — [cci_latex]biochemistry-colors.sty[/cci_latex] defines the standard colors of biochemistry for use with the color package and the xcolor package. xcolor is loaded by [cci_latex]biochemistry-colors.sty[/cci_latex].
- 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 BibTeX 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 LaTeX package for using compound numbers in chemistry documents. It works like [cce inline=”true” lang=”latex”]\cite[/cce] and the [cce inline=”true” lang=”latex”]\thebibliography[/cce], using [cce inline=”true” lang=”latex”]\fcite[/cce] and [cce inline=”true” lang=”latex”]\theffbibliography[/cce] 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 [cce inline=”true” lang=”latex”]\chemfig{<code>}[/cce], which draws organic molecules using the tikz package. The [cce inline=”true” lang=”latex”]<code>[/cce] contains instructions for the drawing.
- chemformula by Clemens Niederberger — Typeset chemical formulæ and reaction equations.
- chemgreek by Clemens Niederberger — The package provides upright Greek letters in support of other chemistry packages.
- chem-journal by Jörg-Rüdiger Hill — Various BibTeX 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 [cce inline=”true” lang=”latex”]\label[/cce]- and [cce inline=”true” lang=”latex”]\ref[/cce]-like command for compound numbers. It is supposed to be a hopefully comprehensive approach for the numbering of chemical compounds. It requires LaTeX3 packages [cce inline=”true” lang=”latex”]expl3[/cce] (from the l3kernel bundle) and [cce inline=”true” lang=”latex”]xparse[/cce] (from the l3packages bundle).
- chemobabel by Hironobu Yamashita — The package for generating chemical structural formulas. The formulas can be generated from many kinds of chemical data formats, including MDL Molfiles, ChemDraw files or from SMILES notations, with the help of Open Babel and Inkscape. The package is not on CTAN and thus is not available in any common TeX distribution.
- 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 TeX. 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 LaTeX 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 LaTeX 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 TeX 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 package provides means for retrieving properties of chemical elements like atomic number, element symbol, element name, electron distribution or isotope number. Properties are defined for the elements up to the atomic number 112. This package is a spin-off of the package bohr by the same author.
- endiagram by Clemens Niederberger — Easy creation of potential energy curve diagrams. Also see this post for more information.
- ghsystem by Clemens Niederberger — The package provides the means to typeset all the hazard and precautionary statements and pictograms in a straightforward way. The statements are taken from EU regulation 1272/2008.
- ijqc by Richard J Mathar — ijqc.bst is a BibTeX 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 [cce inline=”true” lang=”latex”]\isotope[/cce] for setting the atomic weight and atomic number indications of isotopes. (The naive way of doing the job with (La)TeX 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 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 LaTeX 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 William G. Nettles — The package provides data and commands for including nuclear and atomic mass and energy data in LaTeX documents. It uses the PythonTeX package and requires pythontex.exe to be called with the TeX file as the argument.
- ochem by Ingo Klöckl — Typeset chemical formulae with LaTeX. A Perl script to translate chemical formulae and reaction schemes into PostScript or LaTeX. Includes a LaTeX package to include the chemical reaction description in a LaTeX 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 — ppchTeX is a separate module of the ConTeXt macro package for TeX. 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 BibTeX 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 [cce inline=”true” lang=”latex”]\special[/cce] 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 — TeXshade is alignment shading software completely written in TeX/LaTeX; 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. TeXshade combines highest flexibility with TeX output quality — all in a bundle that does not demand excessive development time of the user.
- textopo by Eric Beitz — A LaTeX package for setting shaded and annotated membrane protein topology plots and helical wheels.
- thermodynamics by Karl D. Hammond — The package offers a collection of macros and environments which are intended to make typesetting thermodynamics documents faster, more convenient, and more reliable. Macros include symbols for extensive, molar, specific, and partial molar properties; exces and residual (departure) properties; partial derivatives; heat capacities, compressibilities, and expansivities; saturation, mixture, and pure-component properties; Henry’s Law parameters and activity coefficients; and changes on mixing, fusion, reaction, sublimation, and vaporization; and sets of all moles/mole fractions/masses/etc. being held constant in derivatives.
- tikzorbital by Germain Salvato-Vallverdu — A package to draw atomic s, p and d orbitals as well as molecular orbital diagrams.
- translation-chemsym-de by Sandro Heuke and Christine Römer — This is a German translation of the chemsym documentation.
- XyMTeX by Shinsaku Fujita — XyMTeX 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 XyMTeX to operate as a practical (device-independent) tool for use with LaTeX.
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.)
Hi Jon. Your website was one of the first where I actually found useful stuff concerning LaTeX and chemistry – a natural choice for my blogroll!
Thanks for this very useful post! I’ve downloaded a package from this list for my chemistry lab work. Very helpful!
chemexec is missing, I guess. 🙂
Ein sehr nützlicher Blog!
Wird direkt abonniert!
Bis später auf chemieonline…
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:
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!
Thanks for this useful list. I uploaded “chemobabel” to CTAN and is now available from TeX Live and MiKTeX.
Hi, i still don’t know how to make curves arrows to drawing mechanisms for organic reactions on LaTeX/overleaf. Please help me