diff options
author | Karl Berry <karl@freefriends.org> | 2009-06-30 00:37:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-06-30 00:37:53 +0000 |
commit | 9c2c06e150241d32a63aca29e5fe19ef4955692a (patch) | |
tree | 6290a7f5b01835da7e8fe9b04b02855b6c7103fd /Master/texmf-dist/source/latex/achemso | |
parent | 5fa926769060d32ca128bbd8f349d90d7fa228b9 (diff) |
achemso 3.2c (29jun09)
git-svn-id: svn://tug.org/texlive/trunk@14009 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/achemso')
-rw-r--r-- | Master/texmf-dist/source/latex/achemso/achemso.dtx | 1321 |
1 files changed, 875 insertions, 446 deletions
diff --git a/Master/texmf-dist/source/latex/achemso/achemso.dtx b/Master/texmf-dist/source/latex/achemso/achemso.dtx index 323e30327b3..e092cb1b12b 100644 --- a/Master/texmf-dist/source/latex/achemso/achemso.dtx +++ b/Master/texmf-dist/source/latex/achemso/achemso.dtx @@ -174,21 +174,21 @@ This work consists of the file achemso.dtx %</driver> % \fi % -%\CheckSum{1981} +%\CheckSum{2575} % %\GetFileInfo{\jobname.sty} % %\makeatletter % %^^A \DescribeOption is in l3doc but not ltxdoc -%\newcommand*{\DescribeOption}{^^A +%\newcommand*\DescribeOption{^^A % \leavevmode % \@bsphack % \begingroup % \MakePrivateLetters % \Describe@Option %} -%\newcommand*{\Describe@Option}[1]{^^A +%\newcommand*\Describe@Option[1]{^^A % \endgroup % \marginpar{^^A % \raggedleft @@ -198,7 +198,7 @@ This work consists of the file achemso.dtx % \@esphack % \ignorespaces %} -%\newcommand*{\SpecialOptionIndex}[1]{^^A +%\newcommand*\SpecialOptionIndex[1]{^^A % \@bsphack % \index{^^A % #1\actualchar{\protect\ttfamily#1} (option)\encapchar usage^^A @@ -239,7 +239,10 @@ This work consists of the file achemso.dtx % affiliation, % alsoaffiliation, % altaffiliation, -% natmovechars +% email, +% fax, +% natmovechars, +% phone % } % }^^A %} @@ -290,7 +293,7 @@ This work consists of the file achemso.dtx %\providecommand*{\opt}{\texttt} %\providecommand*{\pkg}{\textsf} % -%\newcommand*{\ACS}{\textsc{acs}} +%\newcommand*\ACS{\textsc{acs}} % %\makeatother % @@ -469,10 +472,13 @@ This work consists of the file achemso.dtx % %\DescribeOption{email} %\changes{v3.2b}{2009/05/05}{New \texttt{email} option} +%\changes{v3.2c}{2009/05/28}{Fix so that \texttt{email} option is turned +% on by default} % It may be desirable to omit e-mail addresses from the front page of % a manuscript. The printing of e-mail addresses can be disabled using % the \opt{email} option, which takes Boolean values only. The default -% is to print e-mail addresses. +% is to print e-mail addresses. Notice that phone and fax numbers are +% only printed if e-mail addresses are printed. % % Other options are provided by the package, but when used with the % class these are silently ignored. @@ -516,11 +522,39 @@ This work consists of the file achemso.dtx % \alsoaffiliation{University of Somewhere, Sometown, USA} %\end{LaTeXdemo} % +%\DescribeMacro{\fax} +%\changes{v3.2c}{2009/05/29}{Added \cs{fax} macro} +%\DescribeMacro{\phone} +%\changes{v3.2c}{2009/05/29}{Added \cs{phone} macro} +% The class will recognise the optional information \cs{fax} and +% \cs{phone}, which will be printed along with the lead authors +% e-mail address. Note that this information is only used for authors +% who have an e-mail address supplied. +%\begin{LaTeXdemo}[code only] +% \author{Second Bloke} +% \email{second.bloke@some.place} +% \phone{+xxx (0)yyy zzzzzz} +% \fax{+xxx (0)yyy wwwwww} +% \affiliation[University of Sometown] +% {University of Somewhere, Sometown, USA} +%\end{LaTeXdemo} +% %\DescribeMacro{\and} %\DescribeMacro{\thanks} % The method used for setting the meta-data means that the normal % \cs{and} and \cs{thanks} macros are not appropriate in the \ % pkg{achemso} class. Both produce a warning if used. +% +%\DescribeMacro{\title} +% The \cs{title} macro is extended to accept an optional argument. +% This is intended for a shortened version of the journal title +% suitable for running headers. Some journals require that authors +% supply this data: if it is needed then it will be printed in the +% appropriate place. +%\begin{LaTeXdemo}[code only] +% \title[Short running title] +% {Long title which would not fit in running headers} +%\end{LaTeXdemo} % % The meta-data items should be given in the preamble to the \LaTeX\ % file, and no \cs{maketitle} macro is required in the document body. @@ -586,8 +620,6 @@ This work consists of the file achemso.dtx % % \begin{suppinfo} % Full characterization data for all new compounds. -% This material is available for download from -% \url{http://pubs.acs.org} % \end{suppinfo} %\end{LaTeXdemo} % @@ -765,14 +797,14 @@ This work consists of the file achemso.dtx % \begin{macrocode} %<*class> \ProvidesClass{achemso} - [2009/04/28 v3.2b Submission to ACS journals] + [2009/06/28 v3.2c Submission to ACS journals] \LoadClass[12pt,letter]{article} % \end{macrocode} % %\begin{macro}{\acs@warning} % The code for a warning is created so that it works for the package too. % \begin{macrocode} -\newcommand*{\acs@warning}{\ClassWarning{achemso}} +\newcommand*\acs@warning{\ClassWarning{achemso}} %</class> % \end{macrocode} %\end{macro} @@ -785,7 +817,7 @@ This work consists of the file achemso.dtx % \begin{macrocode} %<*package> \ProvidesPackage{achemso} - [2009/04/28 v3.2b Support for ACS journals] + [2009/06/28 v3.2c Support for ACS journals] \@ifclassloaded{achemso}{% \PackageInfo{achemso}{% You have already loaded the `achemso' class:\MessageBreak @@ -803,7 +835,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@warning} % The code for a warning is created so that it works for the class too. % \begin{macrocode} -\newcommand*{\acs@warning}{\PackageWarning{achemso}} +\newcommand*\acs@warning{\PackageWarning{achemso}} %</package> % \end{macrocode} %\end{macro} @@ -815,7 +847,7 @@ This work consists of the file achemso.dtx % table. % \begin{macrocode} %<*package|class> -\newcommand*{\acs@ifundefined}[1]{% +\newcommand*\acs@ifundefined[1]{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname #1\endcsname\relax \expandafter\@firstoftwo @@ -832,15 +864,19 @@ This work consists of the file achemso.dtx % \begin{macrocode} \RequirePackage{xkeyval} % \end{macrocode} +%\begin{macro}{\ifacs@abbreviations} %\begin{macro}{\ifacs@biochem} %\begin{macro}{\ifacs@email} +%\begin{macro}{\ifacs@keywords} %\begin{macro}{\ifacs@super} %\begin{macro}{\ifacs@usetitle} % These are all very trivial definitions: to avoid issues with older % versions of \pkg{xkeyval} each definition is done separately. % \begin{macrocode} +\define@boolkey{acs}[acs@]{abbreviations}[true]{} \define@boolkey{acs}[acs@]{biochem}[true]{} \define@boolkey{acs}[acs@]{email}[true]{} +\define@boolkey{acs}[acs@]{keywords}[true]{} \define@boolkey{acs}[acs@]{super}[true]{} \define@boolkey{acs}[acs@]{usetitle}[true]{} % \end{macrocode} @@ -848,14 +884,16 @@ This work consists of the file achemso.dtx %\end{macro} %\end{macro} %\end{macro} +%\end{macro} +%\end{macro} %\begin{macro}{\acs@journal} %\begin{macro}{\acs@manuscript} %\begin{macro}{\acs@maxauthors} % Trivial again. % \begin{macrocode} -\newcommand*{\acs@journal}{jacsat} -\newcommand*{\acs@manuscript}{article} -\newcommand*{\acs@maxauthors}{15} +\newcommand*\acs@journal{jacsat} +\newcommand*\acs@manuscript{article} +\newcommand*\acs@maxauthors{15} \define@cmdkey{acs}[acs@]{journal}{} \define@cmdkey{acs}[acs@]{manuscript}{} \define@cmdkey{acs}[acs@]{maxauthors}{} @@ -888,10 +926,10 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@biblabel@plain} % The macros to implement the idea above for biblabels. % \begin{macrocode} -\newcommand*{\acs@biblabel@brackets}{\def\@biblabel##1{(##1)}} -\newcommand*{\acs@biblabel@fullstop}{\def\@biblabel##1{##1.}} -\newcommand*{\acs@biblabel@period}{\def\@biblabel##1{##1.}} -\newcommand*{\acs@biblabel@plain}{\def\@biblabel##1{##1}} +\newcommand*\acs@biblabel@brackets{\def\@biblabel##1{(##1)}} +\newcommand*\acs@biblabel@fullstop{\def\@biblabel##1{##1.}} +\newcommand*\acs@biblabel@period{\def\@biblabel##1{##1.}} +\newcommand*\acs@biblabel@plain{\def\@biblabel##1{##1}} % \end{macrocode} %\end{macro} %\end{macro} @@ -900,6 +938,7 @@ This work consists of the file achemso.dtx % Set up some defaults. % \begin{macrocode} \setkeys{acs}{ + email = true, super = true } % \end{macrocode} @@ -909,6 +948,25 @@ This work consists of the file achemso.dtx \ProcessOptionsX*<acs> % \end{macrocode} % +%\begin{macro}{\acs@manuscript@communication} +%\begin{macro}{\acs@manuscript@letter} +%\begin{macro}{\acs@manuscript@note} +%\begin{macro}{\acs@manuscript@review} +%\begin{macro}{\acs@manuscript@suppinfo} +% For text comparisons. +% \begin{macrocode} +\newcommand*\acs@manuscript@communication{communication} +\newcommand*\acs@manuscript@letter{letter} +\newcommand*\acs@manuscript@note{note} +\newcommand*\acs@manuscript@review{review} +\newcommand*\acs@manuscript@suppinfo{suppinfo} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% %\begin{macro}{\acs@niib@create} %\begin{macro}{bibnote} %\begin{macro}{\thebibnote} @@ -923,13 +981,13 @@ This work consists of the file achemso.dtx % having been loaded. To allow the package and class to behave % differently these are actually applied later. % \begin{macrocode} -\newcommand*{\acs@niib@create}{% +\newcommand*\acs@niib@create{% \@namedef{ver@notes2bib.sty}{% 2009/04/20 v1.6a Integrating notes into the bibliography (achemso version) }% \newcounter{bibnote} - \renewcommand*{\thebibnote}{% + \def\thebibnote{% Note-\the\value{bibnote}% }% \DeclareRobustCommand*{\bibnote}[1][\thebibnote]{% @@ -945,7 +1003,7 @@ This work consists of the file achemso.dtx \let\acs@niib@after@text\relax \acs@niib@text{##1}% }% - \newcommand*{\printbibnotes}{% + \newcommand*\printbibnotes{% \ifnum\the\value{bibnote}>\z@\relax \nocite{achemso-control}% \acs@bibliography{acs-\jobname}% @@ -963,7 +1021,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@niib@after@text} % After the text. % \begin{macrocode} -\newcommand*{\acs@niib@after@text}{} +\newcommand*\acs@niib@after@text{} % \end{macrocode} %\end{macro} %\begin{macro}{\acs@niib@text} @@ -972,7 +1030,7 @@ This work consists of the file achemso.dtx % news. The same file is used for notes and the control entry for % the bibliography style. % \begin{macrocode} -\newcommand*{\acs@niib@text}{% +\newcommand*\acs@niib@text{% \@bsphack \if@filesw \expandafter\acs@niib@write @@ -987,7 +1045,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@niib@write@aux@ii} % Writing verbatim without \eTeX. % \begin{macrocode} -\newcommand*{\acs@niib@write}[1]{% +\newcommand*\acs@niib@write[1]{% \begingroup \let\do\@makeother \dospecials @@ -995,7 +1053,7 @@ This work consists of the file achemso.dtx \catcode`\} 2\relax \acs@niib@write@aux@i{#1}% } -\newcommand*{\acs@niib@write@aux@i}[1]{% +\newcommand*\acs@niib@write@aux@i[1]{% \long\def\@tempa##1{% \def\@tempa{##1}% \@onelevel@sanitize\@tempa @@ -1006,7 +1064,7 @@ This work consists of the file achemso.dtx \catcode`\^^M 10\relax \@tempa } -\newcommand*{\acs@niib@write@aux@ii}[1]{% +\newcommand*\acs@niib@write@aux@ii[1]{% \immediate\write\acs@bib@file{% @Misc\string{#1,^^J% \space\space note = \string{\@tempa\string},^^J% @@ -1022,7 +1080,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@niib@no@write} % If no files are to be written, a bit of tidying up. % \begin{macrocode} -\newcommand{\acs@niib@no@write}[2]{% +\newcommand\acs@niib@no@write[2]{% \@esphack \acs@niib@after@text } @@ -1036,7 +1094,7 @@ This work consists of the file achemso.dtx % \cs{cite} macro, to give automatic note-like data in the bibliography. % \begin{macrocode} \AtBeginDocument{ - \renewcommand*{\nmv@natbib@detect}{% + \def\nmv@natbib@detect{% \ifNAT@super \expandafter\acs@nmv@activate \else @@ -1044,7 +1102,7 @@ This work consists of the file achemso.dtx \fi } } -\newcommand*{\acs@nmv@activate}{% +\newcommand*\acs@nmv@activate{% \let\nmv@citex@nat\@citex \let\@citex\nmv@citex \let\nmv@cite\cite @@ -1058,7 +1116,7 @@ This work consists of the file achemso.dtx }% }% } -\newcommand*{\acs@autonote}{% +\newcommand*\acs@autonote{% \let\nmv@cite\cite \renewcommand*{\cite}[2][]{% \nmv@ifmtarg{##1}{% @@ -1080,10 +1138,10 @@ This work consists of the file achemso.dtx % user intervention. The style is stored as it may need to be % altered later. % \begin{macrocode} -\newcommand*{\acs@bibstyle}{achemso} +\newcommand*\acs@bibstyle{achemso} \bibliographystyle{achemso} \ifacs@biochem - \renewcommand*{\acs@bibstyle}{biochem} + \def\acs@bibstyle{biochem} \bibliographystyle{biochem} \fi % \end{macrocode} @@ -1094,9 +1152,9 @@ This work consists of the file achemso.dtx % underlying command is repeated otherwise problems cop up with % \pkg{chapterbib}. % \begin{macrocode} -\newcommand*{\acs@bibliographystyle}{} +\newcommand*\acs@bibliographystyle{} \let\acs@bibliographystyle\bibliographystyle -\renewcommand*{\bibliographystyle}[1]{% +\def\bibliographystyle#1{% \acs@warning{\string\bibliographystyle\space ignored}% \expandafter\acs@bibliographystyle\expandafter{\acs@bibstyle}% } @@ -1110,12 +1168,11 @@ This work consists of the file achemso.dtx % Some information or creating the control file for \BibTeX\ is set up. % \begin{macrocode} \newwrite\acs@bib@file -\newcommand*{\acs@bib@message}{% +\newcommand*\acs@bib@message{% This is an auxiliary file used by the `achemso' bundle.^^J% - This file may safely be deleted. It will be recreated as - required.^^J + This file may safely be deleted. It will be recreated as required.^^J } -\newcommand*{\acs@bib@name}{acs-\jobname.bib} +\newcommand*\acs@bib@name{acs-\jobname.bib} % \end{macrocode} %\end{macro} %\end{macro} @@ -1129,13 +1186,13 @@ This work consists of the file achemso.dtx % information is left to the code for \cs{bibliography}, so that this % only happens if needed. % \begin{macrocode} -\newcommand*{\acs@bib@write}{% +\newcommand*\acs@bib@write{% \if@filesw \expandafter\acs@bib@write@aux \fi } \AtBeginDocument{\acs@bib@write} -\newcommand*{\acs@bib@write@aux}{% +\newcommand*\acs@bib@write@aux{% \immediate\openout\acs@bib@file\acs@bib@name\relax \immediate\write\acs@bib@file{\acs@bib@message}% \edef\@tempa##1##2{% @@ -1178,7 +1235,7 @@ This work consists of the file achemso.dtx % \begin{macrocode} \AtBeginDocument{% \let\acs@bibliography\bibliography - \renewcommand*{\bibliography}[1]{% + \def\bibliography#1{% \acs@bibliography{acs-\jobname,#1}% }% } @@ -1194,11 +1251,13 @@ This work consists of the file achemso.dtx % \begin{macrocode} %<*class> \setkeys{acs}{ - biblabel = brackets, - biochem = false, - maxauthors = 15, - super = true, - usetitle = false + abbreviations = false, + biblabel = brackets, + biochem = false, + keywords = false, + maxauthors = 15, + super = true, + usetitle = false } % \end{macrocode} % When using the class, \pkg{notes2bib} is always emulated. Other @@ -1226,18 +1285,21 @@ This work consists of the file achemso.dtx % Short title no longer used although optional argument still % accepted: removed internal \cs{@shorttitle} macro %} +%\changes{v3.2c}{2009/05/29}{ +% Restored short title for some journals which do need this information +%} %\begin{macro}{\@title} -%\begin{macro}{\acs@title} +%\begin{macro}{\acs@title@short} % For the meta-data, the REV\TeX\ bundle provides a good model for % the commands to give the author. \cs{gdef} is used here to -% avoid any odd grouping issues. The various title macros are all -% ``trapped'' in the preamble. As the argument of \cs{title} is -% needed in the document body, \cs{acs@title} is defined to store it -% without deletion. +% avoid any odd grouping issues. % \begin{macrocode} \renewcommand*{\title}[2][]{% + \gdef\acs@title@short{#1}% \gdef\@title{#2}% - \gdef\acs@title{#2}% + \ifx\acs@title@short\@empty + \global\let\acs@title@short\@title + \fi } \@onlypreamble\title % \end{macrocode} @@ -1257,6 +1319,15 @@ This work consists of the file achemso.dtx %\end{macro} %\end{macro} %\end{macro} +%\begin{macro}{\acs@footnote@cnt} +%\begin{macro}{\acs@affil@marker@cnt} +% Two counts for getting affiliation footnotes correct. +% \begin{macrocode} +\newcount\acs@footnote@cnt +\newcount\acs@affil@marker@cnt +% \end{macrocode} +%\end{macro} +%\end{macro} %\changes{v3.1}{2008/09/28}{Meta-data system redesigned} %\begin{macro}{\author} % The author macro stores the current author details and sets the @@ -1265,7 +1336,7 @@ This work consists of the file achemso.dtx % group. The affiliation counter is always one behind, and so it is % locally incremented to keep the logic of the code clear elsewhere. % \begin{macrocode} -\renewcommand*{\author}[1]{% +\def\author#1{% \global\advance\acs@author@cnt\@ne\relax \expandafter\gdef\csname @author@\@roman\acs@author@cnt\endcsname{#1}% \begingroup @@ -1282,13 +1353,13 @@ This work consists of the file achemso.dtx %\begin{macro}{\thanks} % Neither \cs{and} nor \cs{thanks} are used by the document class. % \begin{macrocode} -\renewcommand*{\and}{% +\def\and{% \acs@warning{% \string\and\space not used by the achemso class: please see the\MessageBreak package documentation for details% }% } -\renewcommand*{\thanks}{% +\def\thanks{% \acs@warning{% \string\thanks\space not used by the achemso class: please see the\MessageBreak the package documentation for details% @@ -1303,7 +1374,7 @@ This work consists of the file achemso.dtx % is committed, a check is made that the affiliation has not already % been seen. % \begin{macrocode} -\newcommand*{\affiliation}[2][\relax]{% +\newcommand*\affiliation[2][\relax]{% \ifnum\acs@author@cnt>\z@\relax \acs@affil@ifdup{#2}{% \acs@affil@swap{#2}% @@ -1332,7 +1403,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@affil@ifdup@aux} % A short test for two addresses being identical. % \begin{macrocode} -\newcommand*{\acs@affil@ifdup}[1]{% +\newcommand*\acs@affil@ifdup[1]{% \begingroup \def\@tempa{#1}% \@tempswafalse @@ -1345,7 +1416,7 @@ This work consists of the file achemso.dtx \fi \endgroup } -\newcommand*{\acs@affil@ifdup@aux}{% +\newcommand*\acs@affil@ifdup@aux{% \advance\@tempcnta\@ne\relax \expandafter\expandafter\expandafter\def\expandafter\expandafter \expandafter\@tempb\expandafter\expandafter\expandafter @@ -1368,7 +1439,7 @@ This work consists of the file achemso.dtx % First, the loop from above is used to find the correct number for the % duplicate. % \begin{macrocode} -\newcommand*{\acs@affil@swap}[1]{% +\newcommand*\acs@affil@swap[1]{% \begingroup \def\@tempa{#1}% \@tempcnta\z@\relax @@ -1378,7 +1449,7 @@ This work consists of the file achemso.dtx \acs@affil@swap@aux \endgroup } -\newcommand*{\acs@affil@swap@aux}{% +\newcommand*\acs@affil@swap@aux{% \advance\@tempcntb\@ne\relax \expandafter\ifnum\csname @author@affil@\@roman\@tempcntb\endcsname = \acs@affil@cnt\relax @@ -1399,7 +1470,7 @@ This work consists of the file achemso.dtx % deals with affiliations that are in some way shared by several % authors. This is tracked on a per author basis. % \begin{macrocode} -\newcommand*{\alsoaffiliation}[2][\relax]{% +\newcommand*\alsoaffiliation[2][\relax]{% \ifnum\acs@author@cnt>\z@\relax \acs@affil@ifdup{#2}{% \acs@alsoaffil@find{#2}% @@ -1430,7 +1501,7 @@ This work consists of the file achemso.dtx \acs@warning{Affiliation with no author}% \fi } -\newcommand*{\acs@alsoaffil@find}[1]{% +\newcommand*\acs@alsoaffil@find[1]{% \begingroup \def\@tempa{#1}% \@tempcnta\z@\relax @@ -1446,7 +1517,7 @@ This work consists of the file achemso.dtx % For the alternative affiliation, a second count is kept, and the % affiliation is ``attached'' to the author. % \begin{macrocode} -\newcommand*{\altaffiliation}[1]{% +\newcommand*\altaffiliation[1]{% \ifnum\acs@author@cnt>\z@\relax \global\advance\acs@affil@alt@cnt\@ne\relax \expandafter\gdef\csname @altaffil@\@roman\acs@author@cnt\endcsname @@ -1463,7 +1534,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\email} % E-mail addresses are attached to authors as well. % \begin{macrocode} -\newcommand*{\email}[1]{% +\newcommand*\email[1]{% \ifnum\acs@author@cnt>\z@\relax \expandafter\gdef\csname @email@\@roman\acs@author@cnt\endcsname {#1}% @@ -1474,59 +1545,246 @@ This work consists of the file achemso.dtx \@onlypreamble\email % \end{macrocode} %\end{macro} +%\begin{macro}{\fax} +%\begin{macro}{\phone} +% Fax and phone numbers are similar. +% \begin{macrocode} +\newcommand*\fax[1]{% + \ifnum\acs@author@cnt>\z@\relax + \expandafter\gdef\csname @fax@\@roman\acs@author@cnt\endcsname + {#1}% + \else + \acs@warning{Fax number with no author}% + \fi +} +\@onlypreamble\fax +\newcommand*\phone[1]{% + \ifnum\acs@author@cnt>\z@\relax + \expandafter\gdef\csname @phone@\@roman\acs@author@cnt\endcsname + {#1}% + \else + \acs@warning{Phone number with no author}% + \fi +} +\@onlypreamble\phone +% \end{macrocode} +%\end{macro} +%\end{macro} % +%\begin{macro}{\abbreviations} +%\begin{macro}{\@abbreviations} +%\begin{macro}{\keywords} +%\begin{macro}{\@keywords} +% Some journals use these. +% \begin{macrocode} +\newcommand*\abbreviations[1]{% + \gdef\@abbreviations{#1}% +} +\newcommand*\@abbreviations{} +\@onlypreamble\abbreviations +\newcommand*\keywords[1]{% + \gdef\@keywords{#1}% +} +\newcommand*\@keywords{} +\@onlypreamble\keywords +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@abbreviations@print} +%\begin{macro}{\acs@keywords@print} +%\begin{macro}{\acs@title@short@print} +% For printing the key simple meta-data. +% \begin{macrocode} +\newcommand*\acs@abbreviations@print{% + \ifx\@abbreviations\@empty\else + ABBREVIATIONS: \@abbreviations + \par + \fi +} +\newcommand*\acs@keywords@print{% + \ifx\@keywords\@empty\else + KEYWORDS: \@keywords + \par + \fi +} +\newcommand*\acs@title@short@print{% + RUNNING HEADER: \acs@title@short +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@space@pre@title} +%\begin{macro}{\acs@space@post@title} +%\begin{macro}{\acs@space@post@author} +%\begin{macro}{\acs@space@post@address} +%\begin{macro}{\acs@space@post@email} +%\begin{macro}{\acs@maketitle@width} +% Lengths for \cs{@maketitle}. +% \begin{macrocode} +\newlength\acs@space@pre@title +\setlength\acs@space@pre@title{2em} +\newlength\acs@space@post@title +\setlength\acs@space@post@title{1.5em} +\newlength\acs@space@post@author +\setlength\acs@space@post@author{1em} +\newlength\acs@space@post@address +\setlength\acs@space@post@address{1em} +\newlength\acs@space@post@email +\setlength\acs@space@post@email{1.5em} +\newlength\acs@maketitle@width +\setlength\acs@maketitle@width{\textwidth} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\affilsize} +%\begin{macro}{\authorsize} +%\begin{macro}{\emailsize} +%\begin{macro}{\titlesize} +% Some simple size commands. +% \begin{macrocode} +\newcommand*\affilsize{\normalsize} +\newcommand*\authorsize{\large} +\newcommand*\emailsize{\normalsize} +\newcommand*\titlesize{\LARGE} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\authorfont} +%\begin{macro}{\authorfont} +%\begin{macro}{\emailfont} +%\begin{macro}{\titlefont} +% Font settings for \cs{@maketitle}. +% \begin{macrocode} +\newcommand*\affilfont{\itshape} +\newcommand*\authorfont{\sffamily} +\newcommand*\emailfont{} +\newcommand*\titlefont{\bfseries\sffamily} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\ps@acs} +% A shortcut to make page styles. +% \begin{macrocode} +\newcommand*{\ps@acs}{} +\let\ps@acs\ps@plain +% \end{macrocode} +%\end{macro} %\begin{macro}{\@maketitle} -%\changes{v3.0a}{2008/08/21}{ -% Skips footnotes for a single institution -%} +%\changes{v3.0a}{2008/08/21}{Skips footnotes for a single institution} %\changes{v3.1}{2008/08/28}{Slightly simplified code} +%\changes{v3.2c}{2008/05/29}{Uses same footnote symbols as author list} +%\changes{v3.2c}{2008/05/29}{Spacing and fonts made general} % With the changes outlined above in place, a new \cs{@maketitle} % macro is needed. This is partially a copy of the existing, but -% rather heavily modified. Some classes need a page break after the -% title: a hook is provided for this. +% rather heavily modified. % \begin{macrocode} -\renewcommand*{\@maketitle}{% +\def\@maketitle{% + \pagestyle{acs}% \ifnum\acs@author@cnt<\z@\relax \acs@warning{No authors defined: At least one author is required}% \fi \newpage \null - \vskip 2em\relax + \vspace*{\acs@space@pre@title}% \begin{center} - {% - \LARGE\bfseries\sffamily - \def\@tempa{suppinfo}% - \ifx\acs@manuscript\@tempa - Supporting information for: - \fi - \@title - \par - }% - \vskip 1.5em\relax - {% - \large\sffamily\frenchspacing\acs@author@list - }% - \vskip 1em\relax - {% - \itshape\acs@address@list - }% - \vskip 1em\relax - {% - \ifacs@email - \expandafter\acs@title@email - \fi + \begin{minipage}{\acs@maketitle@width} + \begin{center} + {% + \titlefont + \titlesize + \let\@fnsymbol\acs@author@fnsymbol + \let\footnote\acs@title@footnote + \acs@maketitle@suppinfo \@title + \acs@title@footnote@check + \global\acs@footnote@cnt\c@footnote\relax + \par + }% + \vspace*{\acs@space@post@title}% + {% + \authorsize + \authorfont + \frenchspacing + \acs@author@list + \par + }% + \vspace*{\acs@space@post@author}% + {% + \affilsize + \affilfont + \acs@address@list + \par + }% + \vspace*{\acs@space@post@address}% + {% + \emailsize + \emailfont + \ifacs@email + \expandafter\acs@contact@details + \fi + }% + \vspace*{\acs@space@post@email}% + \end{center} + \end{minipage} + \end{center}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@maketitle@suppinfo} +% This is spun out so that it can be avoided if necessary: this is done +% on the sly. +% \begin{macrocode} +\newcommand*\acs@maketitle@suppinfo{% + \ifx\acs@manuscript\acs@manuscript@suppinfo + Supporting information for: + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@title@footnote} +%\begin{macro}{\acs@title@footnote@check} +% Footnotes need to be created so that they appear correctly. +% \begin{macrocode} +\newcommand*\acs@title@footnote[1]{% + \footnotemark + \g@addto@macro\@thanks@hook{% + \footnotetext{#1}% + }% +} +\newcommand\acs@title@footnote@check{% + \ifx\@thanks@hook\@empty\else + \expandafter\gdef\expandafter\@thanks@hook\expandafter{% + \expandafter\begingroup + \expandafter\let\expandafter\@fnsymbol\expandafter + \acs@author@fnsymbol + \@thanks@hook + \endgroup }% - \end{center} - \par - \vskip 1.5em\relax + \fi } % \end{macrocode} %\end{macro} -%\begin{macro}{\acs@title@email} -% A short spin-out. +%\end{macro} +%\begin{macro}{\acs@contact@details} +%\changes{v3.2c}{2009/05/29}{Added phone and fax numbers to contact +% output} +% A general contact details macro. % \begin{macrocode} -\newcommand*{\acs@title@email}{% - \sffamily E-mail: \acs@email@list +\newcommand*\acs@contact@details{% + { \sffamily E-mail: \acs@email@list }% + \acs@number@list } % \end{macrocode} %\end{macro} @@ -1534,10 +1792,12 @@ This work consists of the file achemso.dtx %\changes{v3.1}{2008/08/29}{ % Moved footnote generation to \cs{@thanks} macro %} +%\begin{macro}{\@thanks@hook} % The \cs{@thanks} macro is used as a hook to generate the footnotes if % needed. % \begin{macrocode} -\renewcommand*{\@thanks}{% +\def\@thanks{% + \@thanks@hook \ifnum\acs@affil@cnt>\@ne\relax \expandafter\acs@affil@list \else @@ -1546,32 +1806,44 @@ This work consists of the file achemso.dtx \fi \fi } +\newcommand*\@thanks@hook{} % \end{macrocode} %\end{macro} +%\end{macro} %\begin{macro}{\acs@author@list} %\changes{v3.0a}{2008/08/21}{Skips footnotes for a single institution} %\changes{v3.2}{2009/04/20}{Logic made clearer with more sub-macros} +%\changes{v3.2c}{2009/05/28}{Includes a footnote to go with star for +% corresponding authors} +%\begin{macro}{\acs@author@list@star} % Printing the author list needs to do several things. The appropriate % separators between authors are created and the author names % themselves are printed. % \begin{macrocode} -\newcommand*{\acs@author@list}{% +\newcommand*\acs@author@list{% \@tempcnta\z@\relax \@tempcntb\acs@affil@cnt\relax \ifnum\acs@author@cnt=\z@\relax\else \expandafter\acs@author@list@main \fi + \acs@author@list@star +} +\newcommand*\acs@author@list@star{% + \g@addto@macro\@thanks@hook{% + \footnotetext{To whom correspondence should be addressed}% + }% } % \end{macrocode} %\end{macro} +%\end{macro} %\begin{macro}{\acs@author@footnotes} %\begin{macro}{\acs@author@list@main} % The main control macro for producing the author list iterates over % each author on the list. The result is stored as % \cs{acs@author@listing}. % \begin{macrocode} -\newcommand*{\acs@author@footnotes}{} -\newcommand*{\acs@author@list@main}{% +\newcommand*\acs@author@footnotes{} +\newcommand*\acs@author@list@main{% \advance\@tempcnta\@ne\relax \def\acs@author@footnotes{}% \acs@author@list@and @@ -1596,14 +1868,14 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@author@list@comma} % Simple checks to add an ``and'' and a comma. % \begin{macrocode} -\newcommand*{\acs@author@list@and}{% +\newcommand*\acs@author@list@and{% \ifnum\acs@author@cnt=\@ne\relax\else \ifnum\@tempcnta=\acs@author@cnt\relax \space and% \fi \fi } -\newcommand*{\acs@author@list@comma}{% +\newcommand*\acs@author@list@comma{% \ifnum\@tempcnta<\acs@author@cnt\relax ,% \fi @@ -1612,15 +1884,17 @@ This work consists of the file achemso.dtx %\end{macro} %\end{macro} %\begin{macro}{\acs@author@star} +%\changes{v3.2c}{2009/05/29}{Tracking added so that the need for a star +% is recorded} %\begin{macro}{\acs@author@star@aux} % A check for an e-mail for an author: if so, add a star. % \begin{macrocode} -\newcommand*{\acs@author@star}{% +\newcommand*\acs@author@star{% \acs@ifundefined{@email@\@roman\@tempcnta}{}{% \acs@author@star@aux }% } -\newcommand*{\acs@author@star@aux}{% +\newcommand*\acs@author@star@aux{% \protected@edef\acs@author@footnotes{% \acs@author@fnsymbol{\z@}% \ifnum\acs@affil@cnt>\@ne\relax @@ -1637,10 +1911,11 @@ This work consists of the file achemso.dtx %\end{macro} %\begin{macro}{\acs@author@affil} %\begin{macro}{\acs@author@affil@aux} +%\changes{v3.2c}{2009/05/29}{Extended to allow for footnotes to title} % The main affiliation of the author is checked for, and assuming one % is found the appropriate symbol is added to the list. % \begin{macrocode} -\newcommand*{\acs@author@affil}{% +\newcommand*\acs@author@affil{% \acs@ifundefined{% @affil@\@roman\csname @author@affil@\@roman\@tempcnta\endcsname }{% @@ -1652,19 +1927,22 @@ This work consists of the file achemso.dtx \acs@author@affil@aux }% } -\newcommand*{\acs@author@affil@aux}{% +\newcommand*\acs@author@affil@aux{% \ifnum\acs@affil@cnt>\@ne\relax + \expandafter\acs@affil@marker@cnt\csname @author@affil@\@roman + \@tempcnta\endcsname\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax \protected@edef\acs@author@footnotes{% \acs@author@footnotes - \acs@author@fnsymbol{% - \@nameuse{@author@affil@\@roman\@tempcnta}% - }% + \acs@author@fnsymbol{\acs@affil@marker@cnt}% }% \else \ifnum\acs@affil@alt@cnt>\z@\relax + \acs@affil@marker@cnt\@ne\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax \protected@edef\acs@author@fnsymbol{% \acs@author@footnotes - \acs@author@fnsymbol{\@ne}% + \acs@author@fnsymbol{\acs@affil@marker@cnt}% }% \fi \fi @@ -1674,21 +1952,24 @@ This work consists of the file achemso.dtx %\end{macro} %\begin{macro}{\acs@author@affil@also} %\begin{macro}{\acs@author@affil@also@aux} +%\changes{v3.2c}{2009/05/29}{Extended to allow for footnotes to title} % The ``also'' affiliations are generated by a loop as there may be more % than one. % \begin{macrocode} -\newcommand*{\acs@author@affil@also}{% +\newcommand*\acs@author@affil@also{% \acs@ifundefined{@author@alsoaffil@\@roman\@tempcnta}{}{% \acs@author@affil@also@aux }% } -\newcommand*{\acs@author@affil@also@aux}{% +\newcommand*\acs@author@affil@also@aux{% \expandafter\@for\expandafter\@tempa\expandafter:\expandafter =\csname @author@alsoaffil@\@roman\@tempcnta\endcsname\do{% + \acs@affil@marker@cnt\@tempa\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax \protected@edef\acs@author@footnotes{% \acs@author@footnotes ,% - \acs@author@fnsymbol{\@tempa}% + \acs@author@fnsymbol{\acs@affil@marker@cnt}% }% }% } @@ -1697,20 +1978,23 @@ This work consists of the file achemso.dtx %\end{macro} %\begin{macro}{\acs@author@affil@alt} %\begin{macro}{\acs@author@affil@alt@aux} +%\changes{v3.2c}{2009/05/29}{Extended to allow for footnotes to title} % Alternative affiliations use the secondary counter \cs{@tempcntb}, % which starts out at the end of the main list. % \begin{macrocode} -\newcommand*{\acs@author@affil@alt}{% +\newcommand*\acs@author@affil@alt{% \acs@ifundefined{@author@altaffil@\@roman\@tempcnta}{}{% \acs@author@affil@alt@aux }% } -\newcommand*{\acs@author@affil@alt@aux}{% +\newcommand*\acs@author@affil@alt@aux{% \advance\@tempcntb\@ne\relax + \acs@affil@marker@cnt\@tempcntb\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax \protected@edef\acs@author@footnotes{% \acs@author@footnotes ,% - \acs@author@fnsymbol{\@tempcntb}% + \acs@author@fnsymbol{\acs@affil@marker@cnt}% }% } % \end{macrocode} @@ -1721,7 +2005,7 @@ This work consists of the file achemso.dtx % The ACS have an extended list of symbols. The star appears at the % special position zero. % \begin{macrocode} -\newcommand*{\acs@author@fnsymbol}[1]{% +\newcommand*\acs@author@fnsymbol[1]{% \ensuremath{% \ifcase #1 *\or \dagger\or @@ -1745,7 +2029,7 @@ This work consists of the file achemso.dtx % The main address block is rather less complex than the author % printing: one print job per address. % \begin{macrocode} -\newcommand*{\acs@address@list}{% +\newcommand*\acs@address@list{% \@tempcnta\z@\relax \ifnum\acs@affil@cnt>\z@\relax \acs@address@list@aux @@ -1755,7 +2039,7 @@ This work consists of the file achemso.dtx }% \fi } -\newcommand*{\acs@address@list@aux}{% +\newcommand*\acs@address@list@aux{% \advance\@tempcnta\@ne\relax \ifnum\acs@affil@cnt>\@ne\relax \ifnum\@tempcnta=\acs@affil@cnt\relax @@ -1772,18 +2056,19 @@ This work consists of the file achemso.dtx %\end{macro} %\end{macro} %\begin{macro}{\acs@fnsymbol@org} -%\changes{v3.0a}{2008/08/21}{ -% Fixed bugs in printing affiliations correctly -%} +%\changes{v3.0a}{2008/08/21}{Fixed bugs in printing affiliations +% correctly} %\begin{macro}{\acs@affil@list} +%\changes{v3.2c}{2009/05/29}{Extended to allow for footnotes to title} %\begin{macro}{\acs@affil@list@aux} +%\changes{v3.2c}{2009/05/29}{Extended to allow for footnotes to title} % Footnotes are done in two stages. First the main affiliation is % handled, then the possible alternative. There is a need to check for % the possibility that there is only one main affiliation but one or % more alternative ones. % \begin{macrocode} -\newcommand*{\acs@fnsymbol@org}{} -\newcommand*{\acs@affil@list}{% +\newcommand*\acs@fnsymbol@org{} +\newcommand*\acs@affil@list{% \let\acs@fnsymbol@org\@fnsymbol \let\@fnsymbol\acs@author@fnsymbol \@tempcnta\z@\relax @@ -1792,7 +2077,9 @@ This work consists of the file achemso.dtx \expandafter\acs@affil@list@aux \else \ifnum\acs@affil@alt@cnt>\z@\relax - \footnotetext[\@ne]{\@affil@i}% + \acs@affil@marker@cnt\@ne\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \footnotetext[\acs@affil@marker@cnt]{\@affil@i}% \@tempcnta\@ne\relax \fi \fi @@ -1801,9 +2088,13 @@ This work consists of the file achemso.dtx \fi \let\@fnsymbol\acs@fnsymbol@org } -\newcommand*{\acs@affil@list@aux}{% +\newcommand*\acs@affil@list@aux{% \advance\@tempcnta\@ne\relax - \footnotetext[\@tempcnta]{\@nameuse{@affil@\@roman\@tempcnta}}% + \acs@affil@marker@cnt\@tempcnta\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \footnotetext[\acs@affil@marker@cnt]{% + \@nameuse{@affil@\@roman\@tempcnta}% + }% \ifnum\@tempcnta<\acs@affil@cnt\relax \expandafter\acs@affil@list@aux \fi @@ -1814,9 +2105,10 @@ This work consists of the file achemso.dtx %\end{macro} %\begin{macro}{\acs@affil@alt@list} %\begin{macro}{\acs@affil@alt@lista@aux} +%\changes{v3.2c}{2009/05/29}{Extended to allow for footnotes to title} % The secondary loop for alternative affiliations is similar. % \begin{macrocode} -\newcommand*{\acs@affil@alt@list}{% +\newcommand*\acs@affil@alt@list{% \advance\@tempcntb\@ne\relax \acs@ifundefined{@altaffil@\@roman\@tempcntb}{}{% \acs@altaffil@foot@aux @@ -1825,13 +2117,18 @@ This work consists of the file achemso.dtx \expandafter\acs@affil@alt@list \fi } -\newcommand*{\acs@altaffil@foot@aux}{% +\newcommand*\acs@altaffil@foot@aux{% \advance\@tempcnta\@ne\relax - \footnotetext[\@tempcnta]{\@nameuse{@altaffil@\@roman\@tempcntb}}% + \acs@affil@marker@cnt\@tempcnta\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \footnotetext[\acs@affil@marker@cnt]{% + \@nameuse{@altaffil@\@roman\@tempcntb}% + }% } % \end{macrocode} %\end{macro} %\end{macro} +%\begin{macro}{\acs@email@list@font} %\begin{macro}{\acs@email@list} %\changes{v3.0a}{2008/08/21}{Fixed error if only one address is given} %\begin{macro}{\acs@email@list@aux} @@ -1840,9 +2137,10 @@ This work consists of the file achemso.dtx % \cs{@tempcntb}, which means a warning can be given if there are % none. The group is used so that \cs{UrlFont} can be set correctly. % \begin{macrocode} -\newcommand*{\acs@email@list}{% +\newcommand*\acs@email@list@font{\sf} +\newcommand*\acs@email@list{% \begingroup - \def\UrlFont{\sf}% + \def\UrlFont{\acs@email@list@font}% \@tempcnta\z@\relax \@tempcntb\z@\relax \acs@email@list@aux @@ -1854,7 +2152,7 @@ This work consists of the file achemso.dtx \fi \endgroup } -\newcommand*{\acs@email@list@aux}{% +\newcommand*\acs@email@list@aux{% \advance\@tempcnta\@ne\relax \ifnum\@tempcnta>\acs@author@cnt\relax\else \acs@ifundefined{@email@\@roman\@tempcnta}{}{% @@ -1873,6 +2171,88 @@ This work consists of the file achemso.dtx % \end{macrocode} %\end{macro} %\end{macro} +%\end{macro} +%\begin{macro}{\acs@number@list} +%\begin{macro}{\acs@number@list@aux@i} +%\begin{macro}{\acs@number@list@aux@ii} +% Listing phone and fax numbers is easier as they don't have to be +% given. Everything is done in one block so that it is possible to know +% whether to add a new line and also to keep everything together. +% \begin{macrocode} +\newcommand*\acs@number@list{% + \begingroup + \acs@number@list@aux@i{phone}% + \let\@tempb\@tempa + \acs@number@list@aux@i{fax}% + \ifx\@tempa\@empty\else + \ifx\@tempb\@empty\else + \protected@edef\@tempa{% + \@tempb.\space\@tempa + }% + \fi + \fi + \ifx\@tempa\@empty\else + \par + \@tempa + \fi + \endgroup +} +\newcommand*\acs@number@list@aux@i[1]{% + \def\@tempa{}% + \@tempcnta\z@\relax + \def\acs@number@list@aux@ii{% + \advance\@tempcnta\@ne\relax + \ifnum\@tempcnta>\acs@author@cnt\relax\else + \acs@ifundefined{@#1@\@roman\@tempcnta}{}{% + \acs@ifundefined{@email@\@roman\@tempcnta}{}{% + \ifx\@tempa\@empty + \edef\@tempa{% + \@nameuse{@#1@\@roman\@tempcnta}% + }% + \else + \edef\@tempa{% + \@tempa + ; + \@nameuse{@#1@\@roman\@tempcnta}% + }% + \fi + }% + }% + \expandafter\acs@number@list@aux@ii + \fi + }% + \acs@number@list@aux@ii + \ifx\@tempa\@empty\else + \protected@edef\@tempa{% + \MakeUppercase#1: \@tempa + }% + \fi +} +\newcommand*\acs@number@list@aux@ii{} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@maketitle@extras} +%\begin{macro}{\acs@maketitle@extras@hook} +% A couple of things might need to be added to \cs{maketitle}. +% \begin{macrocode} +\newcommand*\acs@maketitle@extras{% + \acs@maketitle@extras@hook + \ifacs@abbreviations + \acs@abbreviations@print + \par + \fi + \ifacs@keywords + \acs@keywords@print + \par + \fi +} +\newcommand*\acs@maketitle@extras@hook{} +\g@addto@macro{\maketitle}{\acs@maketitle@extras} +% \end{macrocode} +%\end{macro} +%\end{macro} % \cs{maketitle} is required by the document class, and must start % the document. No variation is allowed, and so it is done % automatically. @@ -1903,9 +2283,9 @@ This work consists of the file achemso.dtx %\begin{macro}{\graphname} % Naming is set up in the same way as the kernel floats. % \begin{macrocode} -\newcommand*{\schemename}{Scheme} -\newcommand*{\chartname}{Chart} -\newcommand*{\graphname}{Graph} +\newcommand*\schemename{Scheme} +\newcommand*\chartname{Chart} +\newcommand*\graphname{Graph} % \end{macrocode} %\end{macro} %\end{macro} @@ -1921,7 +2301,7 @@ This work consists of the file achemso.dtx % Floats are all centred. % \begin{macrocode} \let\acs@floatboxreset\@floatboxreset -\renewcommand*{\@floatboxreset}{% +\def\@floatboxreset{% \centering \acs@floatboxreset } @@ -1944,13 +2324,13 @@ This work consists of the file achemso.dtx % altered. Some generic functions are therefore provided to deal with % this cleanly. First, some original definitions are saved. % \begin{macrocode} -\newcommand*{\acs@section}{} +\newcommand*\acs@section{} \let\acs@section\section -\newcommand*{\acs@subsection}{} +\newcommand*\acs@subsection{} \let\acs@subsection\subsection -\newcommand*{\acs@subsubsection}{} +\newcommand*\acs@subsubsection{} \let\acs@subsubsection\subsubsection -\newcommand*{\acs@startsection}{} +\newcommand*\acs@startsection{} \let\acs@startsection\@startsection % \end{macrocode} %\end{macro} @@ -1960,7 +2340,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@startsection@alt} % An alternative version of \cs{@startsection} which never adds numbers. % \begin{macrocode} -\newcommand*{\acs@startsection@alt}[6]{% +\newcommand*\acs@startsection@alt[6]{% \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax @@ -1986,14 +2366,14 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@sections@none@aux} % When removing sections entirely, a gobble macro is needed. % \begin{macrocode} -\newcommand*{\acs@sections@none}{% +\newcommand*\acs@sections@none{% \@ifstar{% \acs@sections@none@aux }{% \acs@sections@none@aux }% } -\newcommand*{\acs@sections@none@aux}[2][]{% +\newcommand*\acs@sections@none@aux[2][]{% \acs@warning{% (Sub)section `#2' ignored% }% @@ -2008,11 +2388,11 @@ This work consists of the file achemso.dtx % off. The names of these functions are both in design space so that % users can change the decision easily. % \begin{macrocode} -\newcommand*{\SectionNumbersOff}{% +\newcommand*\SectionNumbersOff{% \let\@startsection\acs@startsection@alt } \@onlypreamble\SectionNumbersOff -\newcommand*{\SectionNumbersOn}{% +\newcommand*\SectionNumbersOn{% \let\@startsection\acs@startsection } \@onlypreamble\SectionNumbersOn @@ -2023,13 +2403,13 @@ This work consists of the file achemso.dtx %\begin{macro}{\SectionsOn} % Quite similar for entire sections. % \begin{macrocode} -\newcommand*{\SectionsOff}{% +\newcommand*\SectionsOff{% \let\section\acs@sections@none \let\subsection\acs@sections@none \let\subsubsection\acs@sections@none } \@onlypreamble\SectionsOff -\newcommand*{\SectionsOn}{% +\newcommand*\SectionsOn{% \let\section\acs@section \let\subsection\acs@subsection \let\subsubsection\acs@subsubsection @@ -2040,6 +2420,8 @@ This work consists of the file achemso.dtx %\end{macro} %\begin{environment}{acknowledgement} %\begin{environment}{suppinfo} +%\changes{v3.2c}{2009/05/30}{Automatically includes sentence about +% on-line supplementary information} % Simple named sections. % \begin{macrocode} \newenvironment{acknowledgement}{% @@ -2047,23 +2429,34 @@ This work consists of the file achemso.dtx }{} \newenvironment{suppinfo}{% \acs@subsection*{\suppinfoname}% + \acs@toc@collect\acs@suppinfo@print }{} % \end{macrocode} %\end{environment} %\end{environment} +%\begin{macro}{\acs@suppinfo@print} +% A simple macro to print the supporting information. +% \begin{macrocode} +\newcommand\acs@suppinfo@print[1]{% + #1 + This material is available free of charge via the Internet at + \url{http://pubs.acs.org}. +} +% \end{macrocode} +%\end{macro} %\begin{macro}{\acknowledgementname} %\begin{macro}{\bibsection} %\changes{v3.2b}{2009/05/05}{Move redefinition to \cs{AtEndOfClass}} %\begin{macro}{\suppinfoname} % A few macros need to get around the changes. % \begin{macrocode} -\newcommand*{\acknowledgementname}{Acknowledgement} +\newcommand*\acknowledgementname{Acknowledgement} \AtEndOfClass{% - \renewcommand*{\bibsection}{% + \def\bibsection{% \acs@subsection*{\refname}% }% } -\newcommand*{\suppinfoname}{Supporting Information Available} +\newcommand*\suppinfoname{Supporting Information Available} % \end{macrocode} %\end{macro} %\end{macro} @@ -2078,9 +2471,9 @@ This work consists of the file achemso.dtx % \pkg{comment} package. However, it code is copied here to keep % requirements down. % \begin{macrocode} -\newcommand*{\acs@abstract}{} +\newcommand*\acs@abstract{} \let\acs@abstract\abstract -\newcommand*{\acs@endabstract}{} +\newcommand*\acs@endabstract{} \let\acs@endabstract\endabstract \begingroup \catcode`{ \active @@ -2112,7 +2505,7 @@ This work consists of the file achemso.dtx \fi ) \endgroup -\newcommand*{\acs@iffalse}{\iffalse} +\newcommand*\acs@iffalse{\iffalse} % \end{macrocode} %\end{macro} %\end{macro} @@ -2123,12 +2516,12 @@ This work consists of the file achemso.dtx %\begin{macro}{\AbstractOn} % A very similar pattern to before. % \begin{macrocode} -\newcommand*{\AbstractOff}{% +\newcommand*\AbstractOff{% \let\abstract\acs@abstract@start \let\endabstract\acs@abstract@end } \@onlypreamble\AbstractOff -\newcommand*{\AbstractOn}{% +\newcommand*\AbstractOn{% \let\abstract\acs@abstract \let\endabstract\acs@endabstract } @@ -2146,8 +2539,8 @@ This work consists of the file achemso.dtx % \begin{macrocode} \newtoks\acs@toc@toks \newtoks\acs@toc@empty@toks -\newcommand*{\acs@toc@begins}{} -\newcommand*{\acs@toc@content}{} +\newcommand*\acs@toc@begins{} +\newcommand*\acs@toc@content{} % \end{macrocode} %\end{macro} %\end{macro} @@ -2158,7 +2551,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@toc@collect@body} % This is a \cs{long} version of \cs{collect@body}. % \begin{macrocode} -\newcommand{\acs@toc@collect}[1]{% +\newcommand\acs@toc@collect[1]{% \acs@toc@toks{% \expandafter#1\expandafter{\the\acs@toc@toks}% }% @@ -2175,7 +2568,7 @@ This work consists of the file achemso.dtx }% \acs@toc@content } -\newcommand*{\acs@toc@collect@aux}{} +\newcommand*\acs@toc@collect@aux{} \long\def\acs@toc@collect@aux#1\end#2{% \edef\acs@toc@begins{% \acs@toc@collect@begins#1\begin\end @@ -2190,13 +2583,13 @@ This work consists of the file achemso.dtx \fi \acs@toc@content } -\newcommand*{\acs@toc@collect@begins}{} +\newcommand*\acs@toc@collect@begins{} \long\def\acs@toc@collect@begins#1\begin#2{% \ifx\end#2\else b\expandafter\acs@toc@collect@begins \fi } -\newcommand{\acs@toc@collect@body}[1]{% +\newcommand\acs@toc@collect@body[1]{% \global\acs@toc@toks\expandafter{\the\acs@toc@toks#1}% } % \end{macrocode} @@ -2207,7 +2600,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\acs@toc@print} % A simple macro to print the TOC contents. % \begin{macrocode} -\newcommand{\acs@toc@print}[1]{% +\newcommand\acs@toc@print[1]{% \begin{center} \fbox{% \begin{minipage}{9cm} @@ -2244,13 +2637,13 @@ This work consists of the file achemso.dtx %\begin{macro}{\tocentryname} % A simple name macro. % \begin{macrocode} -\newcommand*{\tocentryname}{Graphical TOC Entry} +\newcommand*\tocentryname{Graphical TOC Entry} % \end{macrocode} %\end{macro} %\begin{macro}{\tocsize} % The font size for printing the TOC entry. % \begin{macrocode} -\newcommand*{\tocsize}{% +\newcommand*\tocsize{% \@setfontsize\tocsize\@viiipt\@ixpt } % \end{macrocode} @@ -2263,9 +2656,9 @@ This work consists of the file achemso.dtx % up here: different journals can then alter it. A check function % is also provided along with a default. % \begin{macrocode} -\newcommand*{\acs@type@list}{article,communication,suppinfo} -\newcommand*{\acs@type@default}{article} -\newcommand*{\acs@type@check}{% +\newcommand*\acs@type@list{article,communication,suppinfo} +\newcommand*\acs@type@default{article} +\newcommand*\acs@type@check{% \@tempswafalse \@for\@tempa:=\acs@type@list\do{% \ifx\@tempa\acs@manuscript @@ -2290,7 +2683,7 @@ This work consists of the file achemso.dtx % bibliography should be ``Notes and References'' if any notes are % added. % \begin{macrocode} -\renewcommand*{\refname}{% +\def\refname{% \ifnum\the\value{bibnote}>\z@\relax Notes and \fi @@ -2301,14 +2694,127 @@ This work consists of the file achemso.dtx %\changes{v3.2b}{2009/05/05}{Some back-compatibility functions added} % A few bits for older versions. % \begin{macrocode} -\newcommand*{\acs@setkeys}{\setkeys{acs}} +\newcommand*\acs@setkeys{\setkeys{acs}} \let\acs@killabstract\AbstractOff \let\acs@killsecs\SectionsOff -\newcommand*{\acs@validtype}[2][article]{% - \renewcommand*{\acs@type@default}{#1}% - \renewcommand*{\acs@type@list}{#2}% +\newcommand*\acs@validtype[2][article]{% + \def\acs@type@default{#1}% + \def\acs@type@list{#2}% } -% \end{macrocode} +% \end{macrocode} +% +%\begin{macro}{\acs@par} +% A saved paragraph. +% \begin{macrocode} +\newcommand*\acs@par{} +\let\acs@par\par +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@layout@shared} +%\begin{environment}{acknowledgement} +%\begin{environment}{suppinfo} +% Some code is used generally when setting up ``press ready'' layouts. +% There is quite a bit here, mainly layout related. +% \begin{macrocode} +\newcommand*\acs@layout@shared{% + \AtBeginDocument{\singlespacing}% + \twocolumn + \tolerance=2000\relax + \emergencystretch=10pt\relax + \geometry{ + letterpaper, + top = 12.7mm, + bottom = 16.8mm, + left = 19.3mm, + right = 19.3mm + }% + \setlength{\columnsep}{8.1mm}% + \setlength{\parindent}{3.3mm}% + \renewenvironment{acknowledgement}{% + \def\@tempa{acknowledgement}% + \ifx\@currenvir\@tempa + \let\par\relax + \acksize + \vspace{6pt}% + \textbf{\acknowledgementname}% + \else + \acs@subsection*{\acknowledgementname}% + \fi + }{% + \acs@par + }% + \renewenvironment{suppinfo}{% + \def\@tempa{suppinfo}% + \ifx\@currenvir\@tempa + \expandafter\acs@suppinfo@aux + \else + \acs@subsection*{\suppinfoname}% + \fi + }{% + \acs@par + }% +} +% \end{macrocode} +%\end{environment} +%\end{environment} +%\end{macro} +%\begin{macro}{\acs@suppinfo@aux} +% A short spin out. +% \begin{macrocode} +\newcommand*\acs@suppinfo@aux{% + \let\par\relax + \suppsize + \vspace{6pt}% + \textbf{\suppinfoname:} + \acs@toc@collect\acs@suppinfo@print +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acksize} +%\begin{macro}{\suppsize} +% More sizes. +% \begin{macrocode} +\newcommand*\acksize{\normalsize} +\newcommand*\suppsize{\normalsize} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@layout@nine} +%\begin{macro}{\@xipt} +%\begin{macro}{\acs@layout@ten} +% The class loads twelve point text. To reset it for print layouts, it +% is easiest to do things directly. +% \begin{macrocode} +\newcommand*\acs@layout@nine{% + \def\@xipt{11}% + \long\def\normalsize{% + \@setfontsize\normalsize\@ixpt\@xipt + }% + \normalsize + \let\@listi\@listI + \abovedisplayskip 5\p@ \@plus2\p@ \@minus 5\p@\relax + \abovedisplayshortskip \z@ \@plus3\p@\relax + \belowdisplayshortskip 3\p@ \@plus3\p@ \@minus 3\p@\relax + \belowdisplayskip\abovedisplayskip\relax + \abovecaptionskip 5\p@\relax + \intextsep 7\p@ \@plus 2\p@ \@minus 2\p@\relax +} +\newcommand*\acs@layout@ten{% + \long\def\normalsize{% + \@setfontsize\normalsize\@xpt\@xiipt + }% + \normalsize + \@setfontsize\normalsize\@xpt\@xiipt + \let\@listi\@listI + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@\relax + \abovedisplayshortskip \z@ \@plus3\p@\relax + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@\relax + \belowdisplayskip \abovedisplayskip\relax +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} % % With all of the standard settings done, the journal configuration can % be loaded. @@ -2327,19 +2833,16 @@ This work consists of the file achemso.dtx % appropriate: this saves some repetition in the configuration files. % \begin{macrocode} \acs@type@check -\def\@tempa{note} -\ifx\acs@manuscript\@tempa +\ifx\acs@manuscript\acs@manuscript@note \SectionsOff \fi -\def\@tempa{review} -\ifx\acs@manuscript\@tempa +\ifx\acs@manuscript\acs@manuscript@review \SectionsOn \SectionNumbersOn \fi -\def\@tempa{suppinfo} -\ifx\acs@manuscript\@tempa +\ifx\acs@manuscript\acs@manuscript@suppinfo \setkeys{acs}{maxauthors = 0} - \renewcommand*{\thepage}{S\arabic{page}} + \def\thepage{S\arabic{page}} \fi %</class> % \end{macrocode} @@ -2396,8 +2899,8 @@ This work consists of the file achemso.dtx % To keep down dependence on other packages, the very short code block % from \pkg{ifmtarg} is copied here with an internal name. % \begin{macrocode} -\newcommand*{\nmv@ifmtarg}{} -\newcommand*{\nmv@xifmtarg}{} +\newcommand*\nmv@ifmtarg{} +\newcommand*\nmv@xifmtarg{} \begingroup \catcode`\Q 3\relax \long\gdef\nmv@ifmtarg#1{% @@ -2418,7 +2921,7 @@ This work consists of the file achemso.dtx % Using the flag, either the new internal macro, or the \pkg{natbib} % original, can be called. % \begin{macrocode} -\newcommand*{\nmv@citex}{% +\newcommand*\nmv@citex{% \ifnmv@cite \expandafter\nmv@citex@moving \else @@ -2430,7 +2933,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\nmv@after} % Later, the argument for \cs{cite} will need to be saved. % \begin{macrocode} -\newcommand*{\nmv@after}{} +\newcommand*\nmv@after{} % \end{macrocode} %\end{macro} %\begin{macro}{\nmv@citex@moving} @@ -2439,7 +2942,7 @@ This work consists of the file achemso.dtx % \cs{@citex} when using \pkg{natbib}. Other than that, the trick % used here is similar to that in \pkg{cite}. % \begin{macrocode} -\newcommand*{\nmv@citex@moving}{} +\newcommand*\nmv@citex@moving{} \def\nmv@citex@moving[#1][#2]#3{% \leavevmode \skip@\lastskip @@ -2454,7 +2957,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\nmv@citex@end} % To get things right at the end. % \begin{macrocode} -\newcommand*{\nmv@citex@end}{% +\newcommand*\nmv@citex@end{% \nmv@after \endgroup } @@ -2465,7 +2968,7 @@ This work consists of the file achemso.dtx % The next token on the input stack is saved into % \cs{nmv@citex@next}, after gobbling up one token. % \begin{macrocode} -\newcommand*{\nmv@citex@get@next}[1]{% +\newcommand*\nmv@citex@get@next[1]{% \futurelet\nmv@citex@next\nmv@citex@punct } % \end{macrocode} @@ -2478,7 +2981,7 @@ This work consists of the file achemso.dtx % is that the loop will terminate, and so the recursion call will % simply do the finalisation. % \begin{macrocode} -\newcommand*{\nmv@citex@punct}{% +\newcommand*\nmv@citex@punct{% \let\nmv@citex@loop\nmv@citex@end \ifx\nmv@citex@next.\relax \ifnum\spacefactor<\nmv@citex@sfac\else @@ -2489,14 +2992,14 @@ This work consists of the file achemso.dtx \expandafter\nmv@citex@punct@aux\natmovechars\@empty \nmv@citex@loop } -\newcommand*{\nmv@citex@loop}{} +\newcommand*\nmv@citex@loop{} % \end{macrocode} %\end{macro} %\end{macro} %\begin{macro}{\nmv@citex@pnct} % The final part of the punctuation moving system. % \begin{macrocode} -\newcommand*{\nmv@citex@punct@aux}{} +\newcommand*\nmv@citex@punct@aux{} \def\nmv@citex@punct@aux#1#2\@empty{% \ifx\nmv@citex@next#1\@empty #1% @@ -2534,8 +3037,8 @@ This work consists of the file achemso.dtx % circumstances we should be safe. \cs{cite} is also patched to make % the system active. % \begin{macrocode} -\newcommand*{\nmv@citex@nat}{} -\newcommand*{\nmv@activate}{% +\newcommand*\nmv@citex@nat{} +\newcommand*\nmv@activate{% \let\nmv@citex@nat\@citex \let\@citex\nmv@citex \let\nmv@cite\cite @@ -2558,7 +3061,7 @@ This work consists of the file achemso.dtx % to see if it is actually loaded. This is done as a macro so that the % effect can be changed by \pkg{achemso}. % \begin{macrocode} -\newcommand*{\nmv@natbib@detect}{% +\newcommand*\nmv@natbib@detect{% \@ifpackageloaded{natbib}{% \ifNAT@super \expandafter\nmv@activate @@ -2576,7 +3079,7 @@ This work consists of the file achemso.dtx %\begin{macro}{\natmovechars} % A user macro is needed for moving characters. % \begin{macrocode} -\newcommand*{\natmovechars}{.,;:} +\newcommand*\natmovechars{.,;:} %</natmove> % \end{macrocode} %\end{macro} @@ -2584,62 +3087,67 @@ This work consists of the file achemso.dtx %\subsection{The configuration files} % % The configuration files for different journals are not very complex. -% Keeping everything separate simply helps with maintenance. Most of -% this code is very, very boring, and so it is not typeset. +% Keeping everything separate simply helps with maintenance. % -%\iffalse % \begin{macrocode} %<*achre4> \ProvidesFile{achre4.cfg} - [2009/04/28 v3.2b achemso configuration: Acc. Chem. Res.] + [2009/06/28 v3.2c achemso configuration: Acc. Chem. Res.] \setkeys{acs}{ biblabel = plain } -\renewcommand*{\acs@type@list}{article,suppinfo} -\renewcommand*{\abstractname}{Conspectus} +\def\acs@type@list{article,suppinfo} +\def\abstractname{Conspectus} %</achre4> %<*acbcct> \ProvidesFile{acbcct.cfg} - [2009/04/28 v3.2b achemso configuration: ACS Chem. Biol.] + [2009/06/28 v3.2c achemso configuration: ACS Chem. Biol.] \setkeys{acs}{ biblabel = fullstop, biochem = true, super = false, usetitle = true } -\renewcommand*{\acs@type@list}{article,letter,review,suppinfo} +\def\acs@type@list{article,letter,review,suppinfo} \SectionNumbersOff %</acbcct> %<*ancac3> \ProvidesFile{acbcct.cfg} - [2009/04/28 v3.2b achemso configuration: ACS Nano] + [2009/06/28 v3.2c achemso configuration: ACS Nano] \setkeys{acs}{ biblabel = fullstop, usetitle = true } -\renewcommand*{\acs@type@list}{article,perspective,suppinfo} +\def\acs@type@list{article,perspective,suppinfo} \SectionNumbersOff %</ancac3> %<*ancham> \ProvidesFile{ancham.cfg} - [2009/04/28 v3.2b achemso configuration: Anal. Chem.] -\renewcommand*{\acs@type@list}{article,note,suppinfo} + [2009/06/28 v3.2c achemso configuration: Anal. Chem.] +\def\acs@type@list{article,note,suppinfo} \SectionNumbersOff %</ancham> %<*bichaw> \ProvidesFile{biochem.cfg} - [2009/04/28 v3.2b achemso configuration: Biochemistry] + [2009/06/28 v3.2c achemso configuration: Biochemistry] \setkeys{acs}{ - biblabel = fullstop, - biochem = true, - super = false, - usetitle = true + abbreviations = true, + biblabel = fullstop, + biochem = true, + keywords = true, + super = false, + usetitle = true } \SectionNumbersOff +\def\acs@maketitle@extras@hook{% + \par + \acs@title@short@print +} +\g@addto@macro{\maketitle}{\newpage} %</bichaw> %<*bcches> \ProvidesFile{bcches.cfg} - [2009/04/28 v3.2b achemso configuration: Bioconjugate Chem.] + [2009/06/28 v3.2c achemso configuration: Bioconjugate Chem.] \setkeys{acs}{ biochem = true, super = false, @@ -2649,7 +3157,7 @@ This work consists of the file achemso.dtx %</bcches> %<*bomaf6> \ProvidesFile{bomaf6.cfg} - [2009/04/28 v3.2b achemso configuration: Biomacromolecules] + [2009/06/28 v3.2c achemso configuration: Biomacromolecules] \setkeys{acs}{ super = false, usetitle = true @@ -2658,79 +3166,77 @@ This work consists of the file achemso.dtx %</bomaf6> %<*bipret> \ProvidesFile{bipret.cfg} - [2009/04/28 v3.2b achemso configuration: Biotechnol. Prog.] + [2009/06/28 v3.2c achemso configuration: Biotechnol. Prog.] \setkeys{acs}{ super = false, usetitle = true } -\renewcommand*{\acs@type@list}{article,review,suppinfo} +\def\acs@type@list{article,review,suppinfo} \SectionNumbersOff %</bipret> %<*crtoec> \ProvidesFile{crtoec.cfg} - [2009/04/28 v3.2b achemso configuration: Chem. Res. Toxicol.] + [2009/06/28 v3.2c achemso configuration: Chem. Res. Toxicol.] \setkeys{acs}{ biochem = true, super = false, usetitle = true } -\renewcommand*{\acs@type@list}{% +\def\acs@type@list{% article,perspective,profile,review,suppinfo% } \SectionNumbersOff %</crtoec> %<*chreay> \ProvidesFile{chreay.cfg} - [2009/04/28 v3.2b achemso configuration: Chem. Rev.] -\renewcommand*{\acs@type@default}{review} -\renewcommand*{\acs@type@list}{review} + [2009/06/28 v3.2c achemso configuration: Chem. Rev.] +\def\acs@type@default{review} +\def\acs@type@list{review} % \end{macrocode} % The references section is numbered in \emph{Chem.\ Rev.} % \begin{macrocode} -\renewcommand*{\bibsection}{\acs@section{\refname}} +\def\bibsection{\acs@section{\refname}} %</chreay> %<*cmatex> % \begin{macrocode} \ProvidesFile{cmatex.cfg} - [2009/04/28 v3.2b achemso configuration: Chem. Mater.] + [2009/06/28 v3.2c achemso configuration: Chem. Mater.] \SectionNumbersOff -\def\@tempa{communication} -\ifx\acs@manuscript\@tempa +\ifx\acs@manuscript\acs@manuscript@communication \AbstractOff \SectionsOff \fi %</cmatex> %<*cgdefu> \ProvidesFile{cgdefu.cfg} - [2009/04/28 v3.2b achemso configuration: Cryst. Growth Des.] -\renewcommand*{\acs@type@list}{% + [2009/06/28 v3.2c achemso configuration: Cryst. Growth Des.] +\def\acs@type@list{% article,communication,perspective,suppinfo% } \SectionNumbersOff -\def\@tempa{communication} -\ifx\acs@manuscript\@tempa +\ifx\acs@manuscript\acs@manuscript@communication \SectionsOff \fi %</cgdefu> %<*enfuem> \ProvidesFile{enfuem.cfg} - [2009/04/28 v3.2b achemso configuration: Energy Fuels] -\renewcommand*{\acs@type@list}{article,review,suppinfo} + [2009/06/28 v3.2c achemso configuration: Energy Fuels] +\def\acs@type@list{article,review,suppinfo} \SectionNumbersOff %</enfuem> %<*esthag> \ProvidesFile{esthag.cfg} - [2009/04/28 v3.2b achemso configuration: Environ. Sci. Technol.] + [2009/06/28 v3.2c achemso configuration: Environ. Sci. Technol.] \setkeys{acs}{ super = false, usetitle = true } -\renewcommand*{\acs@type@list}{article,suppinfo} +\def\acs@type@list{article,suppinfo} \SectionNumbersOff %</esthag> %<*iecred> \ProvidesFile{iecred.cfg} - [2009/04/28 v3.2b achemso configuration: Ind. Eng. Chem. Res.] + [2009/06/28 v3.2c achemso configuration: Ind. Eng. Chem. Res.] \setkeys{acs}{ biblabel = fullstop, usetitle = true @@ -2739,16 +3245,14 @@ This work consists of the file achemso.dtx %</iecred> %<*inoraj> \ProvidesFile{inoraj.cfg} - [2009/04/28 v3.2b achemso configuration: Inorg. Chem.] + [2009/06/28 v3.2c achemso configuration: Inorg. Chem.] \SectionNumbersOff -\def\@tempa{communication} -\ifx\acs@manuscript\@tempa +\ifx\acs@manuscript\acs@manuscript@communication \AbstractOff \SectionsOff \fi %</inoraj> % \end{macrocode} -%\fi % % The \emph{J.~Am.\ Chem.\ Soc.}~configuration is rather more % complicated as there is the need to construct a ``galley-like'' @@ -2756,62 +3260,23 @@ This work consists of the file achemso.dtx % \begin{macrocode} %<*jacsat> \ProvidesFile{jacsat.cfg} - [2009/04/28 v3.2b achemso configuration: J. Am. Chem. Soc.] + [2009/06/28 v3.2c achemso configuration: J. Am. Chem. Soc.] \SectionNumbersOff -\def\@tempa{communication} -\ifx\acs@manuscript\@tempa\else +\ifx\acs@manuscript\acs@manuscript@communication\else \expandafter\endinput \fi % \end{macrocode} % Everything from here onward applies only to communications. Some % adjustments are now made using the existing tools. % \begin{macrocode} -\setkeys{ +\setkeys{acs}{ email = true } \AbstractOff \SectionsOff -\AtBeginDocument{\singlespacing} +\acs@layout@nine % \end{macrocode} -%\begin{macro}{\@xipt} -% The class is already using 12 pt text, and the easiest way to change -% the size now is to define it by hand. -% \begin{macrocode} -\twocolumn -\renewcommand*{\@xipt}{11} -\renewcommand{\normalsize}{% - \@setfontsize\normalsize\@ixpt\@xipt -} -\normalsize -\let\@listi\@listI -% \end{macrocode} -%\end{macro} -% The page geometry is set up, along with the various spacings around -% display content. -% \begin{macrocode} -\geometry{ - letterpaper, - top = 12.7mm, - bottom = 16.8mm, - left = 19.3mm, - right = 19.3mm, - dvips -} -\setlength{\columnsep}{8.1mm} -\setlength{\parindent}{3.3mm} -\abovedisplayskip 5\p@ \@plus2\p@ \@minus 5\p@\relax -\abovedisplayshortskip \z@ \@plus3\p@\relax -\belowdisplayshortskip 3\p@ \@plus3\p@ \@minus 3\p@\relax -\belowdisplayskip\abovedisplayskip\relax -\abovecaptionskip 5\p@\relax -\intextsep 7\p@ \@plus 2\p@ \@minus 2\p@\relax -% \end{macrocode} -% \TeX\ is given some extra play with the spacing, as narrow columns -% otherwise need a lot of hyphens. -% \begin{macrocode} -\tolerance=2000\relax -\emergencystretch=10pt\relax -% \end{macrocode} +% %\begin{macro}{\acksize} %\begin{macro}{\affilsize} %\begin{macro}{\authorsize} @@ -2821,30 +3286,30 @@ This work consists of the file achemso.dtx %\begin{macro}{\suppsize} %\begin{macro}{\titlesize} % To keep things logical, the size macros are given names related to -% their function. +% their function. Some of these are new, some are defined in the class. % \begin{macrocode} -\newcommand*{\affilsize}{% +\def\affilsize{% \@setfontsize\affilsize\@ixpt\@xpt } -\newcommand*{\acksize}{% +\def\acksize{% \@setfontsize\acksize\@ixpt\@xipt } -\newcommand*{\authorsize}{% +\def\authorsize{% \@setfontsize\authorsize{10.5}{12.5}% } -\newcommand*{\capsize}{% +\newcommand*\capsize{% \@setfontsize\capsize\@viiipt\@ixpt } -\newcommand*{\emailsize}{% +\def\emailsize{% \@setfontsize\emailsize\@viiipt{15}% } -\newcommand*{\refsize}{% +\newcommand*\refsize{% \@setfontsize\refsize{7.5}{7.5}% } -\newcommand*{\suppsize}{% +\def\suppsize{% \@setfontsize\suppsize{8.5}{10.5}% } -\newcommand*{\titlesize}{% +\def\titlesize{% \@setfontsize\titlesize\@xiipt{13}% } \let\footnotesize\refsize @@ -2858,15 +3323,21 @@ This work consists of the file achemso.dtx %\end{macro} %\end{macro} %\end{macro} +%\begin{macro}{\emailfont} +% A slight font change. +% \begin{macrocode} +\def\emailfont{\sffamily} +% \end{macrocode} +%\end{macro} %\begin{macro}{\ps@plain} %\begin{macro}{\ps@jacs} % The header styles are done the hard way, to keep down the number of % packages loaded. % \begin{macrocode} -\renewcommand*{\ps@plain}{% +\def\ps@plain{% \let\@mkboth\@gobbletwo \let\@oddhead\@empty - \renewcommand*{\@oddfoot}{% + \def\@oddfoot{% \reset@font \sffamily \textbf{\thepage}% @@ -2875,76 +3346,63 @@ This work consists of the file achemso.dtx \let\@evenhead\@empty \let\@evenfoot\@oddfoot } -\newcommand*{\ps@jacs}{% - \renewcommand*{\@oddfoot}{% +\def\ps@acs{% + \def\@oddfoot{% \reset@font \sffamily \textbf{\thepage}% \hfil }% - \renewcommand*{\@evenfoot}{% + \def\@evenfoot{% \reset@font \hfil \sffamily \textbf{\thepage}% }% - \renewcommand*{\@oddhead}{}% + \def\@oddhead{}% \let\@evenhead\@oddhead } -\pagestyle{jacs} +\pagestyle{acs} % \end{macrocode} %\end{macro} %\end{macro} -%\begin{macro}{\@maketitle} -% The title-making macro is completely re-written to force the desired -% spacing. +%\begin{macro}{\acs@space@pre@title} +%\begin{macro}{\acs@space@post@title} +%\begin{macro}{\acs@space@post@author} +%\begin{macro}{\acs@space@post@address} +%\begin{macro}{\acs@space@post@email} +% Length adjustments for the title. % \begin{macrocode} -\renewcommand*{\@maketitle}{% - \pagestyle{jacs}% - \ifnum\acs@author@cnt<\z@\relax - \acs@warning{No authors defined: At least one author is required}% - \fi - \newpage - \null - {% - \titlesize - \vspace*{16mm}% - }% - \begin{center} - \begin{minipage}{152.4mm} - \begin{center} - {% - \titlesize - \bfseries - \sffamily - \@title\par - }% - {% - \authorsize - \sffamily - \frenchspacing - \acs@author@list - \par - }% - {% - \affilsize - \itshape - \acs@address@list - \par - }% - {% - \emailsize - \sffamily - Received \today; - E-mail: \acs@email@list - }% - \vspace{-1mm}% - \end{center} - \end{minipage} - \end{center}% +\setlength\acs@space@pre@title{16mm} +\setlength\acs@space@post@title{0mm} +\setlength\acs@space@post@author{0mm} +\setlength\acs@space@post@address{0mm} +\setlength\acs@space@post@email{-1mm} +\setlength\acs@maketitle@width{152.4mm} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@contact@details} +% Contact details are different here. +% \begin{macrocode} +\def\acs@contact@details{% + Received \today; E-mail: \acs@email@list } % \end{macrocode} %\end{macro} +%\begin{macro}{\acs@author@list@star} +%\begin{macro}{\acs@maketitle@extras} +% No star in the footnotes in \emph{J.~Am.\ Chem.\ Soc.}, and no +% keywords or abbreviations. +% \begin{macrocode} +\let\acs@author@list@star\relax +\let\acs@maketitle@extras\relax +% \end{macrocode} +%\end{macro} +%\end{macro} % Getting the floats correct is a difficult task ``by hand''; using % the \pkg{caption} package makes this a lot easier. % \begin{macrocode} @@ -2964,57 +3422,20 @@ This work consists of the file achemso.dtx %\begin{macro}{\table} % A patch or \cs{table}. % \begin{macrocode} -\newcommand*{\acs@table}{} +\newcommand*\acs@table{} \let\acs@table\table -\renewcommand*{\table}{% +\def\table{% \capsize \acs@table } % \end{macrocode} %\end{macro} %\end{macro} -%\begin{macro}{\acs@par} -%\begin{environment}{acknowledgement} -%\begin{environment}{suppinfo} -% Supporting information and acknowledgements are turned into -% environments proper here; this allows control of text size. -% \begin{macrocode} -\newcommand*{\acs@par}{} -\let\acs@par\par -\renewenvironment{acknowledgement}{% - \def\@tempa{acknowledgement}% - \ifx\@currenvir\@tempa - \let\par\relax - \acksize - \vspace{6pt}% - \textbf{\acknowledgementname} - \else - \acs@subsection*{\acknowledgementname} - \fi -}{% - \acs@par -} -\renewenvironment{suppinfo}{% - \def\@tempa{suppinfo}% - \ifx\@currenvir\@tempa - \let\par\relax - \suppsize - \vspace{6pt}% - \textbf{\suppinfoname:} - \else - \acs@subsection*{\suppinfoname} - \fi -}{% - \acs@par -} -% \end{macrocode} -%\end{environment} -%\end{environment} -%\end{macro} % The bibliography has to be adjusted. % \begin{macrocode} +\acs@layout@shared \AtBeginDocument{% - \renewcommand*{\bibsection}{% + \def\bibsection{% \@startsection {section} {1} @@ -3029,78 +3450,75 @@ This work consists of the file achemso.dtx %</jacsat> % \end{macrocode} % -%\iffalse % \begin{macrocode} %<*jafcau> \ProvidesFile{jafcau.cfg} - [2009/04/28 v3.2b achemso configuration: J. Agric. Food Chem.] + [2009/06/28 v3.2c achemso configuration: J. Agric. Food Chem.] \setkeys{acs}{ super = false, usetitle = true } -\renewcommand*{\acs@type@list}{article,suppinfo} +\def\acs@type@list{article,suppinfo} \SectionNumbersOff %</jafcau> %<*jceaax> \ProvidesFile{jceaax.cfg} - [2009/04/28 v3.2b achemso configuration: J. Chem. Eng. Data] + [2009/06/28 v3.2c achemso configuration: J. Chem. Eng. Data] \setkeys{acs}{ usetitle = true } -\renewcommand*{\acs@type@list}{article,suppinfo} +\def\acs@type@list{article,suppinfo} \SectionNumbersOff %</jceaax> %<*jcisd8> \ProvidesFile{jcisd8.cfg} - [2009/04/28 v3.2b achemso configuration: J. Chem. Inf. Model.] + [2009/06/28 v3.2c achemso configuration: J. Chem. Inf. Model.] \setkeys{acs}{ usetitle = true } -\renewcommand*{\acs@type@list}{article,suppinfo} +\def\acs@type@list{article,suppinfo} \SectionNumbersOff %</jcisd8> %<*jctcce> \ProvidesFile{jctcce.cfg} - [2009/04/28 v3.2b achemso configuration: J. Chem. Theory Comput.] -\renewcommand*{\acs@type@list}{article,suppinfo} + [2009/06/28 v3.2c achemso configuration: J. Chem. Theory Comput.] +\def\acs@type@list{article,suppinfo} %</jctcce> %<*jcchff> \ProvidesFile{jcchff.cfg} - [2009/04/28 v3.2b achemso configuration: J. Comb. Chem.] -\renewcommand*{\acs@type@list}{article,report,perspective,suppinfo} + [2009/06/28 v3.2c achemso configuration: J. Comb. Chem.] +\def\acs@type@list{article,report,perspective,suppinfo} \SectionNumbersOff %</jcchff> %<*jmcmar> \ProvidesFile{jmcmar.cfg} - [2009/04/28 v3.2b achemso configuration: J. Med. Chem.] + [2009/06/28 v3.2c achemso configuration: J. Med. Chem.] \setkeys{acs}{ usetitle = true } -\renewcommand*{\acs@type@list}{article,letter,perspective,suppinfo} +\def\acs@type@list{article,letter,perspective,suppinfo} \SectionNumbersOff %</jmcmar> %<*jnprdf> \ProvidesFile{jnprdf.cfg} - [2009/04/28 v3.2b achemso configuration: J. Nat. Prod.] -\def\@tempa{communication} -\ifx\acs@manuscript\@tempa + [2009/06/28 v3.2c achemso configuration: J. Nat. Prod.] +\ifx\acs@manuscript\acs@manuscript@communication \AbstractOff \SectionsOff \fi %</jnprdf> %<*joceah> \ProvidesFile{joceah.cfg} - [2009/04/28 v3.2b achemso configuration: J. Org. Chem.] -\def\@tempa{communication} -\ifx\acs@manuscript\@tempa + [2009/06/28 v3.2c achemso configuration: J. Org. Chem.] +\ifx\acs@manuscript\acs@manuscript@communication \AbstractOff \SectionsOff \fi %</joceah> %<*jpcafh> \ProvidesFile{jpcafh.cfg} - [2009/04/28 v3.2b achemso configuration: J. Phys. Chem. A] -\renewcommand*{\acs@type@list}{article,letter,suppinfo} + [2009/06/28 v3.2c achemso configuration: J. Phys. Chem. A] +\def\acs@type@list{article,letter,suppinfo} \SectionNumbersOff \captionsetup[table]{labelfont=bf,textfont=bf} % \end{macrocode} @@ -3110,8 +3528,8 @@ This work consists of the file achemso.dtx %</jpcafh> %<*jpcbfk> \ProvidesFile{jpcbfk.cfg} - [2009/04/28 v3.2b achemso configuration: J. Phys. Chem. B] -\renewcommand*{\acs@type@list}{article,letter,suppinfo} + [2009/06/28 v3.2c achemso configuration: J. Phys. Chem. B] +\def\acs@type@list{article,letter,suppinfo} \SectionNumbersOff \captionsetup[table]{labelfont=bf,textfont=bf} \g@addto@macro{\maketitle}{\newpage} @@ -3126,60 +3544,62 @@ This work consists of the file achemso.dtx %</jpccck> %<*jprobs> \ProvidesFile{jprobs.cfg} - [2009/04/28 v3.2b achemso configuration: J. Proteome Res.] + [2009/06/28 v3.2c achemso configuration: J. Proteome Res.] \setkeys{acs}{ usetitle = true } -\renewcommand*{\acs@type@list}{article,review,suppinfo} +\def\acs@type@list{article,review,suppinfo} \SectionNumbersOff %</jprobs> %<*langd5> \ProvidesFile{langd5.cfg} - [2009/04/28 v3.2b achemso configuration: Langmuir] -\renewcommand*{\acs@type@list}{article,letter,suppinfo} + [2009/06/28 v3.2c achemso configuration: Langmuir] +\def\acs@type@list{article,letter,suppinfo} \SectionNumbersOff %</langd5> %<*mamobx> \ProvidesFile{mamobx.cfg} - [2009/04/28 v3.2b achemso configuration: Macromolecules] + [2009/06/28 v3.2c achemso configuration: Macromolecules] \SectionNumbersOff %</mamobx> %<*mpohbp> \ProvidesFile{mamobx.cfg} - [2009/04/28 v3.2b achemso configuration: Mol. Pharm.] + [2009/06/28 v3.2c achemso configuration: Mol. Pharm.] \setkeys{acs}{ usetitle = true } -\renewcommand*{\acs@type@list}{article,suppinfo} +\def\acs@type@list{article,suppinfo} \SectionNumbersOff %</mpohbp> %<*nalefd> \ProvidesFile{nalefd.cfg} - [2009/04/28 v3.2b achemso configuration: Nano Lett.] -\renewcommand*{\acs@type@default}{letter} -\renewcommand*{\acs@type@list}{letter} + [2009/06/28 v3.2c achemso configuration: Nano Lett.] +\def\acs@type@default{letter} +\def\acs@type@list{letter} \SectionNumbersOff %</nalefd> %<*orlef7> \ProvidesFile{orlef7.cfg} - [2009/04/28 v3.2b achemso configuration: Org. Lett.] -\renewcommand*{\acs@type@default}{letter} -\renewcommand*{\acs@type@list}{letter} + [2009/06/28 v3.2c achemso configuration: Org. Lett.] +\def\acs@type@default{letter} +\def\acs@type@list{letter} \SectionNumbersOff +\acs@layout@shared +\RequirePackage{xcolor} +\definecolor{orglett}{RGB}{128,0,0} %</orlef7> %<*oprdfk> \ProvidesFile{oprdfk.cfg} - [2009/04/28 v3.2b achemso configuration: Org. Proc. Res. Dev.] -\renewcommand*{\acs@type@list}{article,highlight,review,suppinfo} + [2009/06/28 v3.2c achemso configuration: Org. Proc. Res. Dev.] +\def\acs@type@list{article,highlight,review,suppinfo} \SectionNumbersOff %</oprdfk> %<*orgnd7> \ProvidesFile{orgnd7.cfg} - [2009/04/28 v3.2b achemso configuration: Organometallics] + [2009/06/28 v3.2c achemso configuration: Organometallics] \SectionNumbersOff %</orgnd7> % \end{macrocode} -%\fi % %\Finale % @@ -3221,7 +3641,8 @@ This work consists of the file achemso.dtx %% Each author should be given as a separate \author command. %% %% Corresponding authors should have an e-mail given after the author -%% name as an \email command. +%% name as an \email command. Phone and fax numbers can be given +%% using \phone and \fax, respectively; this information is optional. %% %% The affiliation of authors is given after the authors; each %% \affiliation command applies to all preceding authors not already @@ -3240,6 +3661,8 @@ This work consists of the file achemso.dtx Germany} \author{I. Ken Groupleader} \email{i.k.groupleader@unknown.uu} +\phone{+123 (0)123 4445556} +\fax{+123 (0)123 4445557} \affiliation[Unknown University] {Department of Chemistry, Unknown University, Unknown Town} \alsoaffiliation[Second University] @@ -3255,9 +3678,21 @@ Germany} {Department of Chemistry, Second University, Nearby Town} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% The document title should be given as usual +%% The document title should be given as usual. Some journals require +%% a running title from the author: this should be supplied as an +%% optional argument to \title. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title[An \textsf{achemso} demo] + {A demonstration of the \textsf{achemso} \LaTeX\ + class\footnote{A footnote for the title}} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\title{A demonstration of the \textsf{achemso} \LaTeX\ class} +%% Some journals require a list of abbreviations or keywords to be +%% supplied. These should be set up here, and will be printed after +%% the title and author information, if needed. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\abbreviations{IR,NMR,UV} +\keywords{American Chemical Society, \LaTeX} \begin{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3393,8 +3828,8 @@ content. The usual experimental details should appear here. This could include a table, which can be referenced as \ref{tbl:example}. Notice that the caption is positioned at the top of the table. Do not worry -about the appearance of the table: this will be altered during -production. +too much about the appearance of the table: this will be altered +during production. \begin{table} \caption{An example table} \label{tbl:example} @@ -3426,7 +3861,7 @@ method is to generate these using the basic & Entry two \\ Entry three\textsuperscript{\emph{b}} & Entry four \\ - \hline + \hline \end{tabular} \textsuperscript{\emph{a}} Some text; @@ -3487,14 +3922,8 @@ citations after punctuation. \begin{suppinfo} This will usually read something like: ``Experimental procedures and -characterization data for all new compounds. This material is -availble free of charge via the Internet at -\url{http://pubs.acs.org}.'' - -The entire \textsf{achemso} bundle is generated by running -\texttt{achemso.dtx} through \TeX. Running \LaTeX\ on the same file -will generate the general documentation for both the class and -package files. +characterization data for all new compounds. The class will +automatically add a sentence pointing to the information on-line: \end{suppinfo} |