# Chemmacros: Environments reaction and experimental undefined

I get the following errors and have no idea, why. I just updated all my packages. I am using MikTeX 2.9 on Windows 7 and TeXmaker 4.3. Just spent like an hour searching for an answer and didn't get any. Would be very good if anyone could help me. The \ch{} command, however, works.

! LaTeX Error: Environment reaction undefined.See the LaTeX manual or LaTeX Companion for explanation.Type H for immediate help.... \begin{reaction}

! LaTeX Error: Environment experimental undefined.See the LaTeX manual or LaTeX Companion for explanation.Type H for immediate help.... \begin{experimental}

! Undefined control sequence. \data

! Undefined control sequence. \NMR

\documentclass[11pt,a4paper]{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{siunitx}    %SI units
\usepackage{chemmacros} %formula, spectra, ...

\begin{document}
\ch{CH4}

\begin{reaction}
A -> B
\end{reaction}

\begin{experimental}
\data*{yield} \SI{555}{\milli\gram} ugly, brown whatever
\NMR{1,H}(250)[CDCl3] \val{9.99} (m, \#{5})
\end{experimental}

\end{document}

• There have been some major changes to chemmacros with version 5.0 and now features a modular structure. You can either run in backwards compatibility mode via \usepackage[compatibility=4.7]{chemmacros} or you load \usepackage{chemmacros} and then the required modules for your environments, namely \chemsetup{modules={reactions,spectroscopy}}. The reaction environment needs the reactions module, experimental needs the spectroscopy module. – moewe Oct 11 '15 at 16:11
• If you can't be bothered to check which modules you need you can simply load them all via \chemsetup{modules={all}}. – moewe Oct 11 '15 at 16:13
• What @moewe said – cgnieder Oct 11 '15 at 17:50
• Out of curiosity: I thought I made the changes quite noticeable in the chemmacros manual and yet you didn't find them after an hour of searching. Should I rework the manual? – cgnieder Oct 11 '15 at 18:41
• Thanks a lot @moeve :) \chemsetup{modules={all}} worked. Funny thing is that i could compile a similar file this friday, 09.10. on my other computer, just by using \usepackage{chemmacros} in the praeambula, without loading any modules. When i wanted to compile the very same file on my laptop, i got the errrors. Since it worked on my desktop computer, i thought it's not about the code and just googled for people having the same issue. – Wulfram Oct 11 '15 at 19:38

There have been some major changes to chemmacros with version 5.0. The package now features a more modular structure.

You can either run in backwards compatibility mode via

\usepackage[compatibility=4.7]{chemmacros}


Or you load \usepackage{chemmacros} (which loads the new modular structure if you version is >= 5.0) and then the required modules for your environments, namely

\chemsetup{modules={reactions,spectroscopy}}


The reaction environment needs the reactions module, experimental needs the spectroscopy module.

If you can't be bothered to check which modules you need you can simply load them all via

\chemsetup{modules={all}}


Refer to the chemmacros documentation for more details and a list of modules.