Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm submitting a paper to a non-ACS journal that nonetheless follows most of the ACS formatting guidelines. So I'm trying to use the achemso document class and setting a few options to meet the journal's idiosyncrasies.

In particular I need the citations to not be superscripted and appear in square brackets and before punctuation, like: [5]. Also the list of references should be enumerated as 1. 2. 3. etc. not (1) (2) (3).

The achemso documentation says you can set some of these options using the \setkeys{acs}{} command after the document class as appears below. However it appears this command is totally ignored when the TeX is compiled.

Any ideas?

For what its worth, I'm using TeXShop/TexLive on a mac and using the most recent achemso package updated 2011/12/30.

\documentclass[journal=jacsat,manuscript=article,layout=traditional,super=false]{achemso}
\setkeys{acs}{biblabel=period,super=false}

% Handles moving citation markers before punctuation at end of sentence
\usepackage{natmove}
\renewcommand*{\natmovechars}{}

\title{Awesome Paper}

\begin{document}

\begin{abstract}
Abstract goes here
\end{abstract}

\section{Introduction}
Here is some text for the awesome paper.  
This sentence was written with a cite before the period\cite{LyonCE1998}. 
This sentence has cites to three papers after the period.\cite{LyonCE1998,NataroJCE2004,MartinCE2005}   
Here's a cite to two papers after the period.\cite{MartinCE2005,LyonCE1998}  

\bibliography{achemsotest}

\end{document}
share|improve this question
    
@egreg No, because between those two locations there is the code to load the appropriate journal config file, which might change the outcome. The class is only for ACS submissions, and as such over-riding the built-in behaviour is not a target of the overall design. (I am also very constrained in making any changes at all.) –  Joseph Wright Jan 5 '12 at 14:22

2 Answers 2

up vote 2 down vote accepted

The achemso class is really meant only for submissions to ACS journals: the accompanying LaTeX package is intended for more general use. As a result, there are a lot of assumptions hard-coded into the class. In particular, not all of the options are designed to be easy to reverse. So only some of the options will have any effect if used in with the class.

If you do want to 'abuse' the class in using it for non-ACS submission then you will have to alter the two settings you mention 'by hand'. Try

\renewcommand*{\bibnumfmt}[1]{#1.}
\bibpunct{(}{)}{,}{n}{}{}

after loading the class.

share|improve this answer
    
I will look to see if I can make this more flexible without compromising the class behaviour. –  Joseph Wright Jan 5 '12 at 14:28
    
Thank you! Those commands certainly solve the problem. For the record, I did try using \documentclass{article} and then \usepackage{achemso} but that didn't seem to work at all either. Also, is the documentation concerning the \setkeys{acs} command just outdated or perhaps something isn't working with my installation? –  William Kennerly Jan 5 '12 at 14:54
    
The \setkeys advice is correct, but I have never checked all of the keys to ensure that they work in this way when using the class. I will do a bit of work to see if I can improve the behaviour for the next release. –  Joseph Wright Jan 5 '12 at 14:56

In the achemso.cls, make change lines:

super = true,

by

super = false,

and

\RequirePackage[sort&compress,numbers,round]{natbib}

by

\RequirePackage[sort&compress,numbers,square]{natbib}
share|improve this answer
    
No, never change stuff in a class: make a renamed copy and edit. –  Joseph Wright Aug 31 '13 at 12:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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