3

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}
9
  • 1
    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, 2015 at 16:11
  • 1
    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, 2015 at 16:13
  • What @moewe said
    – cgnieder
    Oct 11, 2015 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, 2015 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, 2015 at 19:38

1 Answer 1

4

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .