7

The combination of the achemso and chemmacros package used to work, but now I've upgraded to Ubuntu 14.04 (TeXLive 2013, I believe) and I get the following:

\documentclass{achemso}
\usepackage{chemmacros}
\title{Title}
\begin{document}
\end{document}

this stops with the error:

ABD: EveryShipout initializing macros

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: "kernel/command-already-defined"
! 
! Control sequence \latin already defined.
! 
! See the LaTeX3 documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

l.5 \begin{document}

Using article or not loading chemmacros fixes it. I've downloaded the latest versions of both achemso and chemmacros, and it's still the same. Do I need to do something else?

7

Both achemso and chemmacros define \latin: the ACS generally do not make Latin phrases italic, but a couple of their journals do so it seemed sensible to allow semantic mark up here (this was added in v3.8 of achemso to support ACS Nano). Both achemso and chemmacros try to avoid issues with existing commands by doing their definitions in the 'beginning of document' hook, but as they both try the same thing the clash is not avoided. You therefore need to disable one of the definitions, for example

\documentclass{achemso}
\AtBeginDocument{\let\latin\relax}
\usepackage{chemmacros}
\title{Title}
\begin{document}
\end{document}

which will then use the chemmacros one. It's of course then down to you to set this up correctly to use upright text with most ACS journals.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.