achemso Support for submissions to
American Chemical Society journals
Joseph Wright
Released 2024-01-30
Abstract
The achemso bundle provides a L
A
T
E
X class file and BibT
E
X style file in
accordance with the requirements of the American Chemical Society (acs).
The files can be used for any documents, but have been carefully designed
and tested to be suitable for submission to acs journals.
The bundle also includes the natmove package. This package is loaded
by achemso, and provides automatic moving of superscript citations after
punctuation.
Contents
1 Introduction 1
2 Installation 2
3 Requirements 2
4 The class file 3
4.1 Class options . . . . . . 3
4.2 Manuscript meta-data . 4
4.3 Floats . . . . . . . . . . . 5
4.4 Section headers . . . . . 5
4.5 Special sections . . . . . 5
4.6 Miscellaneous commands 6
5 The package file 6
5.1 Package options . . . . . 6
5.2 Bibliography notes . . . 7
6 The BibT
E
X style files 7
7 The natmove package 8
8 Implementation 8
8.1 Early class-only code . . 9
8.2 Early package-only code 9
8.3 Common code . . . . . . 9
8.4 Late class-only code . . 16
8.5 Late shared code . . . . 40
8.6 Late package-only code 41
8.7
Moving citations with
natbib . . . . . . . . . . . 41
8.8 The configuration files . 44
9 Index 59
10 References 68
1 Introduction
Support for BibT
E
X bibliography following the requirements of the American
Chemical Society (acs), along with a package to make these easy to have been
This file describes version v3.13g, last revised 2024-01-30.
E-mail: joseph.wright@morningstar2.co.uk
1
available since version one of achemso. The re-write from version 1 to version
2 made a number of improvements to the package, and also added a number
of new features. However, neither version one nor version two of the package
was targeted directly at use for submissions to acs journals. This new release of
achemso addresses this issue.
The bundle consists of four parts. The first is a
L
A
T
E
X 2
ε
class, intended for
use in submissions. It is based on the standard article class, but makes various
changes to facilitate ease of use. The second part is the L
A
T
E
X package. The
package contains the parts of the bundle which are appropriate for use with other
document classes.
1
Thirdly, two BibT
E
X style files are included. These are used
by both the class and the package, but can be used directly if desired. Finally, an
example document is included; this is intended to act a potential template for
submission, and illustrates the use of the class file.
2 Installation
The package is supplied in
dtx
format and as a pre-extracted zip file,
achemso.tds.zip
. The later is most convenient for most users: simply unzip
this in your local texmf directory and run
texhash
to update the database of file
locations. If you want to unpack the
dtx
yourself, running
tex achemso.dtx
will
extract the package whereas
latex achemso.dtx
will extract it and also typeset
the documentation.
Typesetting the documentation requires a number of packages in addition
to those needed to use the package. This is mainly because of the number of
demonstration items included in the text. To compile the documentation without
error, you will need the packages:
array
booktabs
hypdoc
listings
lmodern
mathpazo
microtype
3 Requirements
The achemso class requires the following packages:
caption
float
geometry
1
For example, when writing a thesis.
2
natbib
setspace
xkeyval
These are normally present in the current major T
E
X distributions, but are also
available from The Comprehensive TeX Archive Network.
4 The class file
The class file has been designed for use in submitting journals to the acs. It uses
all of the modifications described here (those in the package as well as those in
the class). The accompanying example manuscript can be used as a template for
the correct use of the class file. It is intended to act as a model for submission.
When submitting communications to J. Am. Chem. Soc., the class will automat-
ically lay the document out in the publication style. This allows the author to
judge the length of text submitted more accurately. Changing the
manuscript
in
the demonstration document to communication will illustrate the effect.
4.1 Class options
The class supports a limited number of options, which are specifically-targeted at
journal (env.)
submission. The class uses the keyval system for options, in the form
key=value
.
The most important option is
journal
. This is an identifier for the target jour-
nal: from
https://pubs.acs.org/
, the identifier is the part of the URL after
https://pubs.acs.org/journal/
, e.g. for J. Org. Chem. it would be
joceah
. If an
unknown journal is specified, the package will fall-back on the
journal=jacsat
option.
The second option is the
manuscript
option. This specifies the type of paper
manuscript (env.)
in the manuscript. The values here are
article
,
note
,
communication
,
review
,
letter
and
perspective
. The valid values will depend on the value of
journal
.
The
manuscript
option determines whether sections and an abstract are valid.
The value suppinfo is also available for supporting information.
The achemso class can produce drafts in two layout styles. The standard
layout (env.)
setting for the
layout
option is
traditional
, which produces a double-spaced
single column manuscript. The alternative setting
twocolumn
will use single
spacing and print the text in two columns. The second option is obviously more
compact. If the journal requires a particular style this option may be ignored.
It may be desirable to omit e-mail addresses from the front page of a
email (env.)
manuscript. The printing of e-mail addresses can be disabled using the
email
option, which takes Boolean values only. The default 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. If you need to override the settings chosen by the class,
include the settings after the \documentclass line using \setkeys:
\documentclass[journal = jacsat ]{achemso}
\setkeys{a cs}{articletitle = false}
3
4.2 Manuscript meta-data
Inspired by REVT
E
X, the achemso class alters the method for adding author
\author
\affiliation
\alsoaffiliation
\altaffiliation
\email
information to the manuscript. Each author should be given as a separate
\author
command. These should be followed by an
\affiliation
, which applies to the
preceding authors. The
\affiliation
macro takes an optional argument, for a
short version of the affiliation.
2
At least one author should be followed by an
\email
macro, containing contact details. All authors with an e-mail address are
automatically marked with a star. The example manuscript demonstrates the
use of all of these macros. Notice that
\alsoaffiliation
is used when one (or
more) authors work at multiple institutions, while
\altaffiliation
is intended
for previous addresses (or other notes). Only
\affiliation
applies to multiple
authors: both
\alsoaffiliation
and
\altaffiliation
are set on a per author
basis.
\author{Author Person}
\author{Second Bloke}
\email{second.bloke@some.place}
\affiliation[University of Sometown]
{University of Somewhere, Sometown, USA}
\altaffiliation
{Previous address: Mi nute University, Nowherevil le, USA}
\author{In dus Trialguy}
\email{i.trialguy@sponsor.co}
\affiliation[SponsoCo]
{Research Department, Spo nsorCo, BigCity, USA}
\alsoaffiliation{Univ ersity of Somewhere, Sometown, USA}
Repeated entries for
\affiliation
and
\alsoaffiliation
will result in only
one address being printed in the address list and footnotes. Repeated
\altaffiliation
entries only produce a single footnote, and can therefore be
used for entries such as
\author{Fi rst Coworker}
\altaffiliation{C ontributed equally to this work}
\author{Second Coworker}
\altaffiliation{C ontributed equally to this work}
if required.
The class will recognise the optional information
\fax
and
\phone
, which will
\fax
\phone
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.
\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}
The method used for setting the meta-data means that the normal
\and
and
\and
\thanks \thanks
macros are not appropriate in the pkgachemso class. Both produce a
warning if used.
The
\title
macro is extended to accept an optional argument. This is
\title
2
This will usually be the university or company name.
4
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.
\title[Short running title]
{Long title which would not fit in running headers}
The meta-data items should be given in the preamble to the L
A
T
E
X file, and
no
\maketitle
macro is required in the document body. This is all handled by
the class file directly. At least one author, affiliation and e-mail address must be
specified.
4.3 Floats
The class defines three new floating environments:
scheme
,
chart
and
graph
.
scheme (env.)
chart (env.)
graph (env.)
These can be used as expected to include graphical content. The placement of
these new floats and the standard
table
and
figure
floats is altered to be “here”
if possible. The contents of all floats is automatically horizontally centred on the
page.
4.4 Section headers
Some journals have no section numbering by default. This can be set up in
\SectionNumbersOff
\SectionNumbersOn
the appropriate configuration file, but it may be that individual users need to
change the decision. The macros
\SectionNumbersOff
and
\SectionNumbersOn
are therefore available: these should be given in the preamble.
More radically, the entire availability of sections can be turned on and of. This
\SectionsOff
\SectionsOn
is functionality is available to the user via the
\SectionsOn
and
\SectionsOff
macros, which again are preamble-only. Similar functions are available for the
\AbstractOff
\AbstractOn abstract: \AbstractOff and \AbstractOn.
4.5 Special sections
The sections for acknowledgements and supporting information have dedicated
acknowledgement (env.)
suppinfo (env.)
environments available. These ensure that the section headings are generated,
and that the text is sized corrected when using creating a Communication.
\begin{acknowledgement}
The au thors t hank A.N.~Other.
\end{a ckno wled geme nt}
\begin{suppinfo}
Full characterization data for all new compounds.
\end{suppinfo}
For generating an entry for the graphical table of content, required by some
tocentry (env.)
journals, the environment
tocentry
is available. This prints its content in an ap-
propriately sized box on a separate page. In contrast to the rest of the manuscript,
this section is intended to be “print ready” in appearance.
\begin{tocentry}
\includegraphics{toc-entry-graphic}
Some text to explain the graphic.
\end{tocentry}
5
4.6 Miscellaneous commands
\latin
The command
\latin
is provided by the class to format Latin phrases such
as “et al.” Most ACS journals do not make these italic, but some (for example
ACS Nano) do. By providing a command, the formatting is left flexible.
\doi
The bibliography style prints any doi values as the argument to the command
\doi
. The default definition will allow printing of special characters but does not
create hyperlinks. A more sophisticated version of the command may be set up
if hyperref is loaded, for example
\begin{tocentry}
\newcommand{\doi}[1]{\hre f{http://dx.doi.org/#1}{\ nolinkurl{#1}}}
\end{tocentry}
5 The package file
The achemso package is independent of the class file, and contains parts of the
bundle useful outside of submission to the acs.
5.1 Package options
As with the class options, the package uses the key–value method for option set
up. These are used to control the output of citations and bibliographic data. The
same options are used when creating journal configurations for the class: this is
a task most users will not need to undertake!
The
super
option affects the handling of superscript reference markers. The
super (env.)
option switches this behaviour on and off (and takes Boolean values:
super=true
and super=false are valid).
The
articletitle
option is a Boolean, and sets whether the title of a paper
articletitle (env.)
referenced appears in the bibliography. The default is articletitle=true.
The boolean
doi
option is provided to allow a doi (Digital Object Identifier)
doi (env.)
to be included for bibliography entries even where other identification such as
page numbers is available. The standard setting is
false
: setting it to
true
will
cause doi numbers to be printed if available.
The boolean
chaptertitle
option is provided to allow flexibility for the
chaptertitle (env.)
inclusion of chapter titles for
book
and related entries. The standard setting is
false: setting it to true will cause chapter titles to be included.
Many journals require that long lists of authors are shortened using ‘et al.’
etalmode (env.)
maxauthors (env.)
in the references section. The behaviour of the BibT
E
X styles in this regard is
controlled by two options,
etalmode
and
maxauthors
. There are two possible
ways to shorten a long list of authors. Some journals require that only the first
author is given, followed by ‘et al.’: for this behaviour, set
etalmode=firstonly
:
Jones, A.N. et al.
On the other hand, some journals request that the list of authors is truncated
after n authors. This is set up by the etalmode=truncate option:
Jones, A.N.; Bloggs, F.; Nobacon, D. et al.
6
In both cases, the maximum number of authors permitted before introducing ‘et
al.’ is governed by the
maxauthors
option. This option recognises the sentinel
value 0, which indicates that no shortening should occur at all.
Redefining the formatting of the numbers used in the bibliography usually
biblabel (env.)
requires modifying internal L
A
T
E
X macros. The
biblabel
option makes these
changes more accessible: valid values are
plain
(use the number only),
brackets
(surround the number in brackets) and
period
or
fullstop
(follow the number
by a full stop/period).
Most acs journals use the same bibliography style, with the only variation
biochem (env.)
biochemistry (env.)
being the inclusion of article titles. However, a small number of journals use
a rather different style; the journal Biochemistry is probably the most promi-
nent. The biochemistry or biochem option uses the style of Biochemistry for the
bibliography, rather than the normal acs style.
5.2 Bibliography notes
achemso provides the
\bibnote
macro. This is intended for addition of notes
\bibnote
\bibnotemark
\bibnotetext
to the bibliography (references). The macro accepts a single argument, which is
transferred to the bibliography by BibT
E
X. In analogy to
\footnote
, the macros
\bibnotemark
and
\bibnotetext
are available for dividing up the marker for a
note from the text.
Some text \bib note{This note text wil l be in the bibliography}.
Some text.
1
The functionality for bibnotes in achemso is based on that in the notes2bib
package. The notes2bib package can be loaded with the achemso package, and
no clash will occur. With the class file, notes2bib will be ignored if requested, to
prevent issues on submission to the acs.
6 The BibT
E
X style files
achemso is supplied with two style files,
achemso.bst
and
biochem.bst
. The di-
rect use of these without the achemso package file is not recommended, but is pos-
sible. The style files can be loaded in the usual way, with a
\bibliographystyle
command. The natbib package must be loaded by the L
A
T
E
X file concerned, if the
achemso package is not in use.
The style files are designed to use the mciteplus package if it is available, but
to work even if is not. When mciteplus is present, it is possible to automatically
produce references of the form
(5) (a) Arduengo, A. J., III; Dias, H. V. R.; Harlow, R. L.; Kline, M. J. Am.
Chem. Soc. 1992, 114, 55305534; (b) Appelhans, L. N.; Zuccaccia, D.;
Kovacevic, A.; Chianese, A. R.; Miecznikowski, J. R.; Macchioni, A.;
Clot, E.; Eisenstein, O.; Crabtree, R. H. J. Am. Chem. Soc. 2005, 127,
1629916311; (c) Arduengo, A. J., III; Gamper, S. F.; Calabrese, J. C.;
Davidson, F. J. Am. Chem. Soc. 1994, 116, 43914394.
as demonstrated in the example document. When mciteplus is not present, this
functionality is not available but the style files will work normally.
7
The BibT
E
X style files implement the bibliographic style specified by the acs
in The ACS Style Guide.
2
By default, article titles are not included in output using
the achemso.bst file, but are with the biochem.bst file.
The style used by the acs does not differentiate between BibT
E
X
book
,
inbook
,
collection
and
incollection
entries. As a result, the appearance of these
entry types depends on the fields available. Named subdivisions of a book (for
example, chapters where each has a named author) should be given in the
title
field, with the title of the book itself in the
booktitle
field. The
chapter
field
should be used for a chapter number, and is printed as part of the pagination.
One frequently asked question is why some people see an empty first item
in their bibliography when using the achemso package or class. This is usually
because they have downloaded the L
A
T
E
X files and done a local installation
without also updating the BibT
E
X style. The two must be from the same version
of achemso: they are designed to work together.
7 The natmove package
The natmove package does only one job. It brings the ability to move punctuation
after citations, using code borrowed from the cite package. Both the achemso
class and package load natmove automatically.
Some text \cite{Coghill2006} some more text.\\
Some text ending a sentence \cite {Coghill2006}.
Some text
2
some more text.
Some text ending a sentence.
2
This is deactivated for other citation types.
Some text \cit eyear{Coghill2006}.\\
Some text \citeaut hor{Coghill2006}.\\
Some text \cit enum{Coghill2006}.
Some text 2006.
Some text Coghill and Garson.
Some text 2.
The package does nothing if the
super
option has not been given to natbib. This
means that the source can be written without needing to decide where citations
will to appear, with the super option for natbib controlling the result.
One user macro is provided:
\natmovechars
. This contains the characters
\natmovechars
which are moved before superscript punctuation. The default contents is
,;:.
and can be set using \renewcommand*:
Some text
2
, more text.
2
\renewcommand*{\n atmovechars}{.}
Some text \cite{Coghill2006},
more text \cite{Coghill20 06}.
8 Implementation
A lot of the work done by the package is also needed by the class. Loading the
package and the class makes load-order awkward. Instead, the two parts are
done in one place. Sandwiching the common code are two slices of dedicated
8
material for the class and the package. Some of this is needed “early”, before the
common material, whilst the rest is “late”.
8.1 Early class-only code
So that there is no confusion, the base class is loaded early.
1 ⟨∗class
2 \ProvidesClass{achemso}
3 [2024-01-30 v3.13g Submission to ACS journals]
4 \LoadClass[12pt,letter]{article}
\acs@warning The code for a warning is created so that it works for the package too.
5 \newcommand*\acs@warning{\ClassWarning{achemso}}
6 /class
8.2 Early package-only code
The package and the class should not both be loaded, as the two use the same
internal macro names. On the other hand, if the class is not in use a reminder is
printed to use it if possible.
7 ⟨∗package
8 \ProvidesPackage{achemso}
9 [2024-01-30 v3.13g Support for ACS journals]
10 \@ifclassloaded{achemso}{%
11 \PackageInfo{achemso}{%
12 You have already loaded the ‘achemso’ class:\MessageBreak
13 loading the package will abort%
14 }%
15 \endinput
16 }{%
17 \PackageInfo{achemso}{%
18 When writing a submission to an ACS journal, please\MessageBreak
19 use the achemso document class%
20 }%
21 }
\acs@warning The code for a warning is created so that it works for the class too.
22 \newcommand*\acs@warning{\PackageWarning{achemso}}
23 /package
8.3 Common code
\acs@ifundefined A non-expandable test for defined macros: does not add to the hash table.
24 ⟨∗package | class
25 \newcommand*\acs@ifundefined[1]{%
26 \begingroup\expandafter\expandafter\expandafter\endgroup
27 \expandafter\ifx\csname #1\endcsname\relax
28 \expandafter\@firstoftwo
29 \else
30 \expandafter\@secondoftwo
31 \fi
32 }
9
The first stage needed is to read the package options given. Although xkeyval
was perhaps not the best choice, changing this now would be rather risky.
33 \RequirePackage{xkeyval}
\acs@keyval@bool
A support macro for making Boolean options: the xkeyval version is only available
in newer releases.
34 \newcommand*\acs@keyval@bool[2]{%
35 \acs@ifundefined{acs@#1#2}{%
36 \acs@warning{Unknown option ‘#2’ for key #1}%
37 }{%
38 \@nameuse{acs@#1#2}%
39 }%
40 }
\ifacs@abbreviations
\ifacs@articletitle
\ifacs@biochem
\ifacs@chaptertitle
\ifacs@doi
\ifacs@email
\ifacs@hyperref
\ifacs@keywords
\ifacs@super
These are all very trivial definitions: to avoid issues with older versions of xkeyval
each definition is done directly.
41 \newif\ifacs@abbreviations
42 \newif\ifacs@articletitle
43 \newif\ifacs@biochem
44 \newif\ifacs@doi
45 \newif\ifacs@chaptertitle
46 \newif\ifacs@email
47 \newif\ifacs@hyperref
48 \newif\ifacs@keywords
49 \newif\ifacs@super
50 \define@key{acs}{abbreviations}[true]{%
51 \acs@keyval@bool{abbreviations}{#1}%
52 }
53 \define@key{acs}{articletitle}[true]{%
54 \acs@keyval@bool{articletitle}{#1}%
55 }
56 \define@key{acs}{biochem}[true]{%
57 \acs@keyval@bool{biochem}{#1}%
58 }
59 \define@key{acs}{doi}[true]{%
60 \acs@keyval@bool{doi}{#1}%
61 }
62 \define@key{acs}{chaptertitle}[true]{%
63 \acs@keyval@bool{chaptertitle}{#1}%
64 }
65 \define@key{acs}{email}[true]{%
66 \acs@keyval@bool{email}{#1}%
67 }
68 \define@key{acs}{hyperref}[true]{%
69 \acs@keyval@bool{hyperref}{#1}%
70 }
71 \define@key{acs}{keywords}[true]{%
72 \acs@keyval@bool{keywords}{#1}%
73 }
74 \define@key{acs}{super}[true]{%
75 \acs@keyval@bool{super}{#1}%
76 }
77 \define@key{acs}{usetitle}[true]{%
10
78 \acs@keyval@bool{articletitle}{#1}%
79 }
\acs@journal
\acs@layout
\acs@manuscript
\acs@maxauthors
Trivial again: done without using xkeyval for the same reasons as before.
80 \newcommand*\acs@journal{jacsat}
81 \newcommand*\acs@layout{traditional}
82 \newcommand*\acs@manuscript{article}
83 \newcommand*\acs@maxauthors{15}
84 \define@key{acs}{journal}{%
85 \def\acs@journal{#1}%
86 }
87 \define@key{acs}{layout}{%
88 \def\acs@layout{#1}%
89 }
90 \define@key{acs}{manuscript}{%
91 \def\acs@manuscript{#1}%
92 }
93 \define@key{acs}{maxauthors}{%
94 \def\acs@maxauthors{#1}%
95 }
\ifacs@etal@truncate
\acs@etal@firstonly
\acs@etal@truncate
The setup for the
etalmode
option is quite simple: just look for the appropriate
macros.
96 \newif\ifacs@etal@truncate
97 \define@key{acs}{etalmode}{%
98 \acs@ifundefined{acs@etal@#1}{%
99 \acs@warning{%
100 Unknown value ‘#1’ for\MessageBreak etalmode option%
101 }%
102 }{%
103 \@nameuse{acs@etal@#1}%
104 }%
105 }
106 \newcommand*\acs@etal@firstonly{\acs@etal@truncatefalse}
107 \newcommand*\acs@etal@truncate{\acs@etal@truncatetrue}
\acs@activate@biblabel
The
biochemistry
option is an alias for
biochem
. The
biblabel
option is a
choice, which is implemented using a csname search. The group here prevents
hash table pollution, whilst the xkeyval method is avoided as it is more complex
than it is worth!
108 \define@key{acs}{biochemistry}{%
109 \setkeys{acs}{biochem = #1}%
110 }
111 \define@key{acs}{biblabel}{%
112 \acs@ifundefined{acs@biblabel@#1}{%
113 \acs@warning{%
114 Unknown value ‘#1’ for\MessageBreak biblabel option%
115 }%
116 }{%
117 \acs@activate@biblabel{\@nameuse{acs@biblabel@#1}}%
118 }%
119 }
120 \newcommand*\acs@activate@biblabel{}
11
121 ⟨∗class
122 \let\acs@activate@biblabel\AtEndOfClass
123 \AtEndOfClass{\let\acs@activate@biblabel\@firstofone}
124 /class
125 ⟨∗package
126 \let\acs@activate@biblabel\AtEndOfPackage
127 \AtEndOfPackage{\let\acs@activate@biblabel\@firstofone}
128 /package
\acs@biblabel@brackets
\acs@biblabel@fullstop
\acs@biblabel@period
\acs@biblabel@plain
The macros to implement the idea above for biblabels.
129 \newcommand*\acs@biblabel@brackets{\def\bibnumfmt##1{(##1)}}
130 \newcommand*\acs@biblabel@fullstop{\def\bibnumfmt##1{##1.}}
131 \newcommand*\acs@biblabel@period{\def\bibnumfmt##1{##1.}}
132 \newcommand*\acs@biblabel@plain{\def\bibnumfmt##1{##1}}
Set up some defaults.
133 \setkeys{acs}{
134 email = true,
135 super = true
136 }
Loading some other packages depends on the options chosen, so they are pro-
cessed now.
137 \ProcessOptionsX*<acs>
\acs@manuscript@communication
\acs@manuscript@letter
\acs@manuscript@note
\acs@manuscript@review
\acs@manuscript@suppinfo
For text comparisons.
138 \newcommand*\acs@manuscript@communication{communication}
139 \newcommand*\acs@manuscript@letter{letter}
140 \newcommand*\acs@manuscript@note{note}
141 \newcommand*\acs@manuscript@review{review}
142 \newcommand*\acs@manuscript@suppinfo{suppinfo}
\acs@niib@create
bibnote
\thebibnote
\bibnote
\bibnotemark
\bibnotetext
\printbibnotes
To avoid needing to load the notes2bib package, especially as the plan is to move
that package to L
A
T
E
X3 internal syntax, achemso provides a minimal version
here. The first step is to create macros which will need a guard against notes2bib
already having been loaded. To allow the package and class to behave differently
these are actually applied later.
143 \newcommand*\acs@niib@create{%
144 \@namedef{[email protected]}{%
145 2009/04/20 v1.6a Integrating notes into the bibliography (achemso
146 version)
147 }%
148 \@ifundefined{c@bibnote}{\newcounter{bibnote}}{}
149 \def\thebibnote{%
150 Note-\the\value{bibnote}%
151 }%
152 \DeclareRobustCommand*{\bibnote}[1][\thebibnote]{%
153 \stepcounter{bibnote}%
154 \def\acs@niib@after@text{\cite{##1}}%
155 \acs@niib@text{##1}%
156 }%
157 \DeclareRobustCommand*{\bibnotemark}[1][\thebibnote]{%
158 \stepcounter{bibnote}%
159 \cite{##1}%
12
160 }%
161 \DeclareRobustCommand*{\bibnotetext}[1][\thebibnote]{%
162 \let\acs@niib@after@text\relax
163 \acs@niib@text{##1}%
164 }%
165 \newcommand*\printbibnotes{%
166 \ifnum\the\value{bibnote}>\z@\relax
167 \nocite{achemso-control}%
168 \acs@bibliography{acs-\jobname}%
169 \fi
170 }%
171 }
\acs@niib@after@text After the text.
172 \newcommand*\acs@niib@after@text{}
\acs@niib@text
The
\acs@niib@text
macro is the outer part of the writing system. It does not
absorb the text of note, as without
ε
-T
E
X this is bad news. The same file is used
for notes and the control entry for the bibliography style.
173 \newcommand*\acs@niib@text{%
174 \@bsphack
175 \if@filesw
176 \expandafter\acs@niib@write
177 \else
178 \expandafter\acs@niib@no@write
179 \fi
180 }
\acs@niib@write
\acs@niib@write@aux@i
\acs@niib@write@aux@ii
Writing verbatim without ε-T
E
X.
181 \newcommand*\acs@niib@write[1]{%
182 \begingroup
183 \let\do\@makeother
184 \dospecials
185 \catcode‘\{ 1\relax
186 \catcode‘\} 2\relax
187 \acs@niib@write@aux@i{#1}%
188 }
189 \newcommand*\acs@niib@write@aux@i[1]{%
190 \long\def\@tempa##1{%
191 \def\@tempa{##1}%
192 \@onelevel@sanitize\@tempa
193 \expandafter\endgroup
194 \expandafter\def\expandafter\@tempa\expandafter{\@tempa}%
195 \acs@niib@write@aux@ii{#1}%
196 }%
197 \catcode‘\^^M 10\relax
198 \@tempa
199 }
200 \newcommand*\acs@niib@write@aux@ii[1]{%
201 \immediate\write\acs@bib@file{%
202 @Misc\string{#1,^^J%
203 \space\space note = \string{\@tempa\string},^^J%
204 \string}^^J%
205 }%
13
206 \@esphack
207 \acs@niib@after@text
208 }
\acs@niib@no@write If no files are to be written, a bit of tidying up.
209 \newcommand\acs@niib@no@write[2]{%
210 \@esphack
211 \acs@niib@after@text
212 }
\nmv@natbib@detect
\acs@nmv@activate
\acs@autonote
The functionality of notes2bib is combined with the standard
\cite
macro, to
give automatic note-like data in the bibliography.
213 \AtBeginDocument{
214 \def\nmv@natbib@detect{%
215 \ifNAT@super
216 \expandafter\acs@nmv@activate
217 \else
218 \expandafter\acs@autonote
219 \fi
220 }
221 }
222 \newcommand*\acs@nmv@activate{%
223 \let\nmv@citex@nat\@citex
224 \let\@citex\nmv@citex
225 \let\nmv@cite\cite
226 \renewcommand*{\cite}[2][]{%
227 \nmv@ifmtarg{##1}{%
228 \nmv@citetrue
229 \nmv@cite{##2}%
230 }{%
231 \nocite{##2}%
232 \bibnote{Ref.~\citenum{##2}, ##1}%
233 }%
234 }%
235 }
236 \newcommand*\acs@autonote{%
237 \let\nmv@cite\cite
238 \renewcommand*{\cite}[2][]{%
239 \nmv@ifmtarg{##1}{%
240 \nmv@cite{##2}%
241 }{%
242 \nocite{##2}%
243 \bibnote{Ref.~\citenum{##2}, ##1}%
244 }%
245 }%
246 }
\acs@bib@file
\acs@bib@message
\acs@bib@name
Some information or creating the control file for BibT
E
X is set up.
247 \newwrite\acs@bib@file
248 \newcommand*\acs@bib@message{%
249 This is an auxiliary file used by the ‘achemso’ bundle.^^J%
250 This file may safely be deleted. It will be recreated as required.^^J
251 }
252 \newcommand*\acs@bib@name{acs-\jobname.bib}
14
\acs@bib@write
\acs@bib@write@aux
The control information for BibT
E
X needs to be written to a special file. The main
writing macro is quite simple. Actually writing the information is left to the code
for \bibliography, so that this only happens if needed.
253 \newcommand*\acs@bib@write{%
254 \if@filesw
255 \expandafter\acs@bib@write@aux
256 \fi
257 }
258 \AtBeginDocument{\acs@bib@write}
259 \newcommand*\acs@bib@write@aux{%
260 \immediate\openout\acs@bib@file\acs@bib@name\relax
261 \immediate\write\acs@bib@file{\acs@bib@message}%
262 \edef\@tempa##1##2{%
263 \space\space##1\space = "##2",^^J%
264 }%
265 \immediate\write\acs@bib@file{%
266 @Control\string{%
267 achemso-control,^^J%
268 \@tempa{ctrl-article-title\space}{%
269 \ifacs@articletitle yes\else no\fi
270 }%
271 \@tempa{ctrl-chapter-title\space}{%
272 \ifacs@chaptertitle yes\else no\fi
273 }%
274 \@tempa{ctrl-doi\space\space\space\space\space\space\space
275 \space\space\space\space}{%
276 \ifacs@doi yes\else no\fi
277 }%
278 \@tempa{ctrl-etal-number\space\space\space}{\acs@maxauthors}%
279 \@tempa{ctrl-etal-firstonly}{%
280 \ifacs@etal@truncate no\else yes\fi
281 }%
282 \string}^^J%
283 }%
284 \immediate\write\@auxout{%
285 \string\citation\string{achemso-control\string}%
286 }%
287 \AtEndDocument{%
288 \immediate\closeout\acs@bib@file\relax
289 }%
290 }
\acs@bibliography
\bibliography
The \bibliography macro is now patched so that everything works correctly.
291 \AtBeginDocument{%
292 \let\acs@bibliography\bibliography
293 \def\bibliography#1{%
294 \acs@bibliography{acs-\jobname,#1}%
295 }%
296 }
\latin
The journal ACS Nano formats Latin phrases differently from every other ACS
journal: we provide a \latin command to cover this.
297 \AtBeginDocument{
15
298 \providecommand{\latin}[1]{#1}
299 }
300 /package | class
8.4 Late class-only code
Most of the power of the class is now created. First, a few options are reset so
that any given by the user are effectively ignored.
301 ⟨∗class
302 \setkeys{acs}{
303 abbreviations = false,
304 articletitle = true,
305 biblabel = brackets,
306 biochem = false,
307 doi = false,
308 etalmode = firstonly,
309 keywords = false,
310 maxauthors = 15,
311 super = true
312 }
When using the class, notes2bib is always emulated. Other standard support
packages can now be loaded.
313 \acs@niib@create
314 \RequirePackage[margin=2.54cm]{geometry}
315 \RequirePackage{
316 caption,
317 float,
318 graphicx,
319 setspace,
320 url
321 }
322 \ifacs@hyperref
323 \expandafter\RequirePackage
324 \else
325 \expandafter\@gobble
326 \fi
327 {hyperref}
328 \AtBeginDocument{\doublespacing}
\title
\@title
\acs@title@short
For the meta-data, the REVT
E
X bundle provides a good model for the commands
to give the author. \gdef is used here to avoid any odd grouping issues.
329 \renewcommand*{\title}[2][]{%
330 \gdef\acs@title@short{#1}%
331 \gdef\@title{#2}%
332 \ifx\acs@title@short\@empty
333 \global\let\acs@title@short\@title
334 \fi
335 }
336 \@onlypreamble\title
\acs@author@cnt
\acs@affil@cnt
\acs@affil@alt@cnt
achemso tracks the number authors, affiliations and alternative affiliations.
337 \newcount\acs@author@cnt
16
338 \newcount\acs@affil@cnt
339 \newcount\acs@affil@alt@cnt
\acs@footnote@cnt
\acs@affil@marker@cnt
Two counts for getting affiliation footnotes correct.
340 \newcount\acs@footnote@cnt
341 \newcount\acs@affil@marker@cnt
\author
The author macro stores the current author details and sets the affiliation of the
author to the current one. Everything is
\global
so that there is no possibility of
begin trapped inside a group. The affiliation counter is always one behind, and
so it is locally incremented to keep the logic of the code clear elsewhere.
342 \def\author#1{%
343 \global\advance\acs@author@cnt\@ne\relax
344 \expandafter\gdef\csname @author@\@roman\acs@author@cnt\endcsname{#1}%
345 \begingroup
346 \advance\acs@affil@cnt\@ne
347 \expandafter\xdef\csname @author@affil@\@roman
348 \acs@author@cnt\endcsname
349 {\the\acs@affil@cnt}%
350 \endgroup
351 }
352 \@onlypreamble\author
\and
\thanks
Neither \and nor \thanks are used by the document class.
353 \def\and{%
354 \acs@warning{%
355 \string\and\space not used by the achemso class: please see
356 the\MessageBreak package documentation for details%
357 }%
358 }
359 \def\thanks{%
360 \acs@warning{%
361 \string\thanks\space not used by the achemso class: please see
362 the\MessageBreak the package documentation for details%
363 }%
364 }
\affiliation
As with
\author
, everything is
\global
just in case. The system insists that
affiliations come after authors. Before anything is committed, a check is made
that the affiliation has not already been seen.
365 \newcommand*\affiliation[2][\relax]{%
366 \ifnum\acs@author@cnt>\z@\relax
367 \acs@affil@ifdup{#2}{%
368 \acs@affil@swap{#2}%
369 }{%
370 \global\advance\acs@affil@cnt\@ne\relax
371 \expandafter\gdef\csname @address@\@roman\acs@affil@cnt\endcsname
372 {#2}%
373 \ifx\relax#1\relax
374 \expandafter\gdef\csname @affil@\@roman\acs@affil@cnt\endcsname
375 {#2}%
376 \else
377 \expandafter\gdef\csname @affil@\@roman\acs@affil@cnt\endcsname
17
378 {#1}%
379 \fi
380 }%
381 \else
382 \acs@warning{Affiliation with no author}%
383 \fi
384 }
385 \@onlypreamble\affiliation
\acs@affil@ifdup
\acs@affil@ifdup@aux
A short test for two addresses being identical.
386 \newcommand*\acs@affil@ifdup[1]{%
387 \begingroup
388 \def\@tempa{#1}%
389 \@tempswafalse
390 \@tempcnta\z@\relax
391 \acs@affil@ifdup@aux
392 \if@tempswa
393 \aftergroup\@firstoftwo
394 \else
395 \aftergroup\@secondoftwo
396 \fi
397 \endgroup
398 }
399 \newcommand*\acs@affil@ifdup@aux{%
400 \advance\@tempcnta\@ne\relax
401 \expandafter\expandafter\expandafter\def\expandafter\expandafter
402 \expandafter\@tempb\expandafter\expandafter\expandafter
403 {\csname @address@\@roman\@tempcnta\endcsname}%
404 \ifx\@tempa\@tempb
405 \expandafter\@tempswatrue
406 \else
407 \ifnum\@tempcnta<\acs@affil@cnt\relax
408 \expandafter\expandafter\expandafter\acs@affil@ifdup@aux
409 \fi
410 \fi
411 }
\acs@affil@swap
\acs@affil@swap@aux
If the affiliation has already been given, then all of the authors need to be checked
to make sure that the correct affiliation is used. First, the loop from above is used
to find the correct number for the duplicate.
412 \newcommand*\acs@affil@swap[1]{%
413 \begingroup
414 \def\@tempa{#1}%
415 \@tempcnta\z@\relax
416 \@tempcntb\z@\relax
417 \acs@affil@ifdup@aux
418 \advance\acs@affil@cnt\@ne\relax
419 \acs@affil@swap@aux
420 \endgroup
421 }
422 \newcommand*\acs@affil@swap@aux{%
423 \advance\@tempcntb\@ne\relax
424 \expandafter\ifnum\csname @author@affil@\@roman\@tempcntb\endcsname
425 = \acs@affil@cnt\relax
18
426 \expandafter\xdef\csname @author@affil@\@roman\@tempcntb\endcsname{%
427 \the\@tempcnta
428 }%
429 \fi
430 \ifnum\@tempcntb<\acs@author@cnt\relax
431 \expandafter\acs@affil@swap@aux
432 \fi
433 }
\alsoaffiliation
\acs@alsoaffil@find
To allow complex affiliations , two commands are needed. The first deals with
affiliations that are in some way shared by several authors. This is tracked on a
per author basis.
434 \newcommand*\alsoaffiliation[2][\relax]{%
435 \ifnum\acs@author@cnt>\z@\relax
436 \acs@affil@ifdup{#2}{%
437 \acs@alsoaffil@find{#2}%
438 }{%
439 \global\advance\acs@affil@cnt\@ne\relax
440 \@tempcnta\acs@affil@cnt\relax
441 \expandafter\gdef\csname @address@\@roman\acs@affil@cnt\endcsname
442 {#2}%
443 \ifx\relax#1\relax
444 \expandafter\gdef\csname @affil@\@roman\acs@affil@cnt\endcsname
445 {#2}%
446 \else
447 \expandafter\gdef\csname @affil@\@roman\acs@affil@cnt\endcsname
448 {#1}%
449 \fi
450 }%
451 \@ifundefined{@author@alsoaffil@\@roman\acs@author@cnt}{%
452 \expandafter\xdef\csname @author@alsoaffil@\@roman\acs@author@cnt
453 \endcsname{\the\@tempcnta}%
454 }{%
455 \expandafter\xdef\csname @author@alsoaffil@\@roman\acs@author@cnt
456 \endcsname{%
457 \csname @author@alsoaffil@\@roman\acs@author@cnt\endcsname
458 ,\the\@tempcnta
459 }%
460 }%
461 \else
462 \acs@warning{Affiliation with no author}%
463 \fi
464 }
465 \newcommand*\acs@alsoaffil@find[1]{%
466 \begingroup
467 \def\@tempa{#1}%
468 \@tempcnta\z@\relax
469 \@tempcntb\z@\relax
470 \acs@affil@ifdup@aux
471 \expandafter\endgroup
472 \expandafter\@tempcnta\the\@tempcnta\relax
473 }
\altaffiliation
For the alternative affiliation, a second count is kept, and the affiliation is “at-
19
tached” to the author. The way these are stored means that the appropriate
affiliation number can be recovered later, and so printed correctly when things
get complex.
474 \newcommand*\altaffiliation[1]{%
475 \ifnum\acs@author@cnt>\z@\relax
476 \begingroup
477 \acs@altaffil@ifdup{#1}{%
478 \expandafter\xdef\csname @author@altaffil@\@roman\acs@author@cnt
479 \endcsname{\the\@tempcnta}%
480 }{%
481 \global\advance\acs@affil@alt@cnt\@ne\relax
482 \expandafter\gdef\csname @altaffil@\@roman\acs@affil@alt@cnt
483 \endcsname{#1}%
484 \expandafter\xdef\csname @author@altaffil@\@roman\acs@author@cnt
485 \endcsname{\the\acs@affil@alt@cnt}%
486 }%
487 \endgroup
488 \else
489 \acs@warning{Affiliation with no author}%
490 \fi
491 }
492 \@onlypreamble\altaffiliation
\acs@altaffil@ifdup
\acs@altaffil@ifdup@aux
This is very similar to the same routine for normal affiliations but with the
appropriate name changes.
493 \newcommand*\acs@altaffil@ifdup[1]{%
494 \def\@tempa{#1}%
495 \@tempswafalse
496 \@tempcnta\z@\relax
497 \ifnum\acs@affil@alt@cnt>\z@\relax
498 \expandafter\acs@altaffil@ifdup@aux
499 \fi
500 \if@tempswa
501 \expandafter\@firstoftwo
502 \else
503 \expandafter\@secondoftwo
504 \fi
505 }
506 \newcommand*\acs@altaffil@ifdup@aux{%
507 \advance\@tempcnta\@ne\relax
508 \expandafter\expandafter\expandafter\def\expandafter\expandafter
509 \expandafter\@tempb\expandafter\expandafter\expandafter
510 {\csname @altaffil@\@roman\@tempcnta\endcsname}%
511 \ifx\@tempa\@tempb
512 \expandafter\@tempswatrue
513 \else
514 \ifnum\@tempcnta<\acs@affil@alt@cnt\relax
515 \expandafter\expandafter\expandafter\acs@altaffil@ifdup@aux
516 \fi
517 \fi
518 }
\email E-mail addresses are attached to authors as well.
20
519 \newcommand*\email[1]{%
520 \ifnum\acs@author@cnt>\z@\relax
521 \expandafter\gdef\csname @email@\@roman\acs@author@cnt\endcsname
522 {#1}%
523 \else
524 \acs@warning{E-mail with no author}%
525 \fi
526 }
527 \@onlypreamble\email
\fax
\phone
Fax and phone numbers are similar.
528 \newcommand*\fax[1]{%
529 \ifnum\acs@author@cnt>\z@\relax
530 \expandafter\gdef\csname @fax@\@roman\acs@author@cnt\endcsname
531 {#1}%
532 \else
533 \acs@warning{Fax number with no author}%
534 \fi
535 }
536 \@onlypreamble\fax
537 \newcommand*\phone[1]{%
538 \ifnum\acs@author@cnt>\z@\relax
539 \expandafter\gdef\csname @phone@\@roman\acs@author@cnt\endcsname
540 {#1}%
541 \else
542 \acs@warning{Phone number with no author}%
543 \fi
544 }
545 \@onlypreamble\phone
\abbreviations
\@abbreviations
\keywords
\@keywords
Some journals use these.
546 \newcommand*\abbreviations[1]{%
547 \gdef\@abbreviations{#1}%
548 }
549 \newcommand*\@abbreviations{}
550 \@onlypreamble\abbreviations
551 \newcommand*\keywords[1]{%
552 \gdef\@keywords{#1}%
553 }
554 \newcommand*\@keywords{}
555 \@onlypreamble\keywords
\acs@abbreviations@print
\acs@keywords@print
\acs@title@short@print
For printing the key simple meta-data.
556 \newcommand*\acs@abbreviations@print{%
557 \ifx\@abbreviations\@empty\else
558 \section*{Abbreviations}
559 \@abbreviations
560 \par
561 \fi
562 }
563 \newcommand*\acs@keywords@print{%
564 \ifx\@keywords\@empty\else
565 \section*{Keywords}
566 \@keywords
21
567 \par
568 \fi
569 }
570 \newcommand*\acs@title@short@print{%
571 \section*{Running header}
572 \acs@title@short
573 \par
574 }
\acs@space@pre@title
\acs@space@post@title
\acs@space@post@author
\acs@space@post@address
\acs@space@post@email
\acs@maketitle@width
Lengths for \@maketitle.
575 \newlength\acs@space@pre@title
576 \setlength\acs@space@pre@title{2em}
577 \newlength\acs@space@post@title
578 \setlength\acs@space@post@title{1.5em}
579 \newlength\acs@space@post@author
580 \setlength\acs@space@post@author{1em}
581 \newlength\acs@space@post@address
582 \setlength\acs@space@post@address{1em}
583 \newlength\acs@space@post@email
584 \setlength\acs@space@post@email{1.5em}
585 \newlength\acs@maketitle@width
586 \setlength\acs@maketitle@width{\textwidth}
\affilsize
\authorsize
\emailsize
\titlesize
Some simple size commands.
587 \newcommand*\affilsize{\normalsize}
588 \newcommand*\authorsize{\large}
589 \newcommand*\emailsize{\normalsize}
590 \newcommand*\titlesize{\LARGE}
\authorfont
\authorfont
\emailfont
\titlefont
Font settings for \@maketitle.
591 \newcommand*\affilfont{\itshape}
592 \newcommand*\authorfont{\sffamily}
593 \newcommand*\emailfont{}
594 \newcommand*\titlefont{\bfseries\sffamily}
\ps@acs A shortcut to make page styles.
595 \newcommand*{\ps@acs}{}
596 \let\ps@acs\ps@plain
\@maketitle
\@maketitle@title@hook
With the changes outlined above in place, a new
\@maketitle
macro is needed.
This is partially a copy of the existing, but rather heavily modified.
597 \def\@maketitle{%
598 \pagestyle{acs}%
599 \ifnum\acs@author@cnt<\z@\relax
600 \acs@warning{No authors defined: At least one author is required}%
601 \fi
602 \newpage
603 \null
604 \vspace*{\acs@space@pre@title}%
605 \begin{center}
606 \begin{minipage}{\acs@maketitle@width}
607 \begin{center}
608 {%
22
609 \titlefont
610 \titlesize
611 \let\@fnsymbol\acs@author@fnsymbol
612 \let\footnote\acs@title@footnote
613 \acs@maketitle@suppinfo \@title
614 \acs@title@footnote@check
615 \global\acs@footnote@cnt\c@footnote
616 \@maketitle@title@hook
617 \par
618 }%
619 \vspace*{\acs@space@post@title}%
620 {%
621 \authorsize
622 \authorfont
623 \frenchspacing
624 \acs@author@list
625 \par
626 }%
627 \vspace*{\acs@space@post@author}%
628 {%
629 \affilsize
630 \affilfont
631 \acs@address@list
632 \par
633 }%
634 \vspace*{\acs@space@post@address}%
635 {%
636 \emailsize
637 \emailfont
638 \ifacs@email
639 \expandafter\acs@contact@details
640 \fi
641 }%
642 \vspace*{\acs@space@post@email}%
643 \end{center}
644 \end{minipage}
645 \end{center}%
646 }
647 \newcommand*\@maketitle@title@hook{}
\acs@maketitle@suppinfo This is spun out so that it can be avoided if necessary: this is done on the sly.
648 \newcommand*\acs@maketitle@suppinfo{%
649 \ifx\acs@manuscript\acs@manuscript@suppinfo
650 Supporting Information:\\
651 \fi
652 }
\acs@title@footnote
\acs@title@footnote@check
Footnotes need to be created so that they appear correctly.
653 \newcommand*\acs@title@footnote[1]{%
654 \footnotemark
655 \g@addto@macro\@thanks{\footnotetext{#1}}%
656 }
657 \newcommand\acs@title@footnote@check{%
658 \ifx\@thanks\@empty
23
659 \else
660 \begingroup
661 \toks@=\expandafter{\@thanks}%
662 \xdef\@thanks{%
663 \begingroup
664 \let\noexpand\@fnsymbol\noexpand\acs@author@fnsymbol
665 \the\toks@
666 \endgroup
667 }%
668 \endgroup
669 \fi
670 }
\acs@contact@details A general contact details macro.
671 \newcommand*\acs@contact@details{%
672 { \sffamily E-mail: \acs@email@list }%
673 \acs@number@list
674 }
\@thanks The \@thanks macro is used as a hook to generate the footnotes if needed.
675 \let\@thanks\@empty
\acs@author@list
Printing the author list needs to do several things. The appropriate separators
between authors are created and the author names themselves are printed.
676 \newcommand*\acs@author@list{%
677 \@tempcnta\z@\relax
678 \ifnum\acs@author@cnt=\z@\relax\else
679 \expandafter\acs@author@list@main
680 \fi
681 }
\acs@author@footnotes
\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 \acs@author@listing.
682 \newcommand*\acs@author@footnotes{}
683 \newcommand*\acs@author@list@main{%
684 \advance\@tempcnta\@ne\relax
685 \def\acs@author@footnotes{}%
686 \acs@author@list@and
687 \space
688 \@nameuse{@author@\@roman\@tempcnta}%
689 \acs@author@list@comma
690 \acs@author@star
691 \acs@author@affil
692 \acs@author@affil@also
693 \acs@author@affil@alt
694 \ifx\@empty\acs@author@footnotes\else
695 \textsuperscript{\acs@author@footnotes}%
696 \fi
697 \ifnum\@tempcnta<\acs@author@cnt\relax
698 \expandafter\acs@author@list@main
699 \fi
700 }
24
\acs@author@list@and
\acs@author@list@comma
Simple checks to add an “and” and a comma.
701 \newcommand*\acs@author@list@and{%
702 \ifnum\acs@author@cnt=\@ne\relax\else
703 \ifnum\@tempcnta=\acs@author@cnt\relax
704 \space and%
705 \fi
706 \fi
707 }
708 \newcommand*\acs@author@list@comma{%
709 \ifnum\acs@author@cnt>\tw@\relax
710 \ifnum\@tempcnta<\acs@author@cnt\relax
711 ,%
712 \fi
713 \fi
714 }
\acs@author@star
\acs@author@star@aux
A check for an e-mail for an author: if so, add a star.
715 \newcommand*\acs@author@star{%
716 \acs@ifundefined{@email@\@roman\@tempcnta}{}{%
717 \acs@author@star@aux
718 }%
719 }
720 \newcommand*\acs@author@star@aux{%
721 \protected@edef\acs@author@footnotes{%
722 \acs@author@fnsymbol{\z@}%
723 \ifnum\acs@affil@cnt>\@ne\relax
724 ,%
725 \else
726 \ifnum\acs@affil@alt@cnt>\z@\relax
727 ,%
728 \fi
729 \fi
730 }%
731 }
\acs@author@affil
\acs@author@affil@aux
The main affiliation of the author is checked for, and assuming one is found the
appropriate symbol is added to the list.
732 \newcommand*\acs@author@affil{%
733 \acs@ifundefined{%
734 @affil@\@roman\csname @author@affil@\@roman\@tempcnta\endcsname
735 }{%
736 \acs@warning{%
737 No affiliation given for author\MessageBreak
738 \@nameuse{@author@\@roman\@tempcnta}%
739 }%
740 }{%
741 \acs@author@affil@aux
742 }%
743 }
744 \newcommand*\acs@author@affil@aux{%
745 \ifnum\acs@affil@cnt>\@ne\relax
746 \expandafter\acs@affil@marker@cnt\csname @author@affil@\@roman
747 \@tempcnta\endcsname\relax
748 \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
25
749 \protected@edef\acs@author@footnotes{%
750 \acs@author@footnotes
751 \acs@author@fnsymbol{\acs@affil@marker@cnt}%
752 }%
753 \else
754 \ifnum\acs@affil@alt@cnt>\z@\relax
755 \acs@affil@marker@cnt\@ne\relax
756 \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
757 \protected@edef\acs@author@footnotes{%
758 \acs@author@footnotes
759 \acs@author@fnsymbol{\acs@affil@marker@cnt}%
760 }%
761 \fi
762 \fi
763 }
\acs@author@affil@also
\acs@author@affil@also@aux
The “also” affiliations are generated by a loop as there may be more than one.
764 \newcommand*\acs@author@affil@also{%
765 \acs@ifundefined{@author@alsoaffil@\@roman\@tempcnta}{}{%
766 \acs@author@affil@also@aux
767 }%
768 }
769 \newcommand*\acs@author@affil@also@aux{%
770 \expandafter\@for\expandafter\@tempa\expandafter:\expandafter
771 =\csname @author@alsoaffil@\@roman\@tempcnta\endcsname\do{%
772 \acs@affil@marker@cnt\@tempa\relax
773 \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
774 \protected@edef\acs@author@footnotes{%
775 \acs@author@footnotes
776 ,%
777 \acs@author@fnsymbol{\acs@affil@marker@cnt}%
778 }%
779 }%
780 }
\acs@author@affil@alt
\acs@author@affil@alt@aux
Alternative affiliations get the correct affiliation number back out from the stored
data. There are then two corrections: one for the total number of main affiliations
and a second in case there is a footnote to the title.
781 \newcommand*\acs@author@affil@alt{%
782 \acs@ifundefined{@author@altaffil@\@roman\@tempcnta}{}{%
783 \acs@author@affil@alt@aux
784 }%
785 }
786 \newcommand*\acs@author@affil@alt@aux{%
787 \expandafter\acs@affil@marker@cnt
788 \csname @author@altaffil@\@roman\@tempcnta\endcsname\relax
789 \advance\acs@affil@marker@cnt\acs@affil@cnt\relax
790 \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
791 \protected@edef\acs@author@footnotes{%
792 \acs@author@footnotes
793 ,%
794 \acs@author@fnsymbol{\acs@affil@marker@cnt}%
795 }%
796 }
26
\acs@author@fnsymbol
\acs@author@fnsymbol@aux
\acs@author@fnsymbol@loop
\acs@author@fnsymbol@loop@aux@i
\acs@author@fnsymbol@loop@aux@ii
\acs@author@fnsymbol@loop@aux@m
\acs@author@fnsymbol@loop@aux@Q
\acs@author@fnsymbol@symbol
The ACS have an extended list of symbols. The star appears at the special position
zero.
797 \newcommand*{\acs@author@fnsymbol}[1]{%
798 \ensuremath{%
799 \expandafter\acs@author@fnsymbol@aux\expandafter{\number#1 }%
800 }%
801 }
802 \newcommand*{\acs@author@fnsymbol@aux}[1]{%
803 \ifnum#1>10 %
804 \expandafter\acs@author@fnsymbol@loop
805 \else
806 \expandafter\acs@author@fnsymbol@symbol
807 \fi
808 {#1}%
809 }
810 \newcommand*{\acs@author@fnsymbol@loop}[1]{%
811 \acs@author@fnsymbol@loop@aux@i#1%
812 }
813 \newcommand*{\acs@author@fnsymbol@loop@aux@i}[2]{%
814 \acs@author@fnsymbol@symbol{\ifnum#2=0 10\else #2\fi}%
815 \expandafter\acs@author@fnsymbol@loop@aux@ii\romannumeral #1000Q{}%
816 {\acs@author@fnsymbol@symbol{\ifnum#2=0 10\else #2\fi}}%
817 }
818 \newcommand*{\acs@author@fnsymbol@loop@aux@ii}[1]{%
819 \@nameuse{acs@author@fnsymbol@loop@aux@#1}%
820 }
821 \def\acs@author@fnsymbol@loop@aux@m#1Q#2#3{%
822 \acs@author@fnsymbol@loop@aux@ii#1Q{#2#3}{#3}%
823 }
824 \newcommand*{\acs@author@fnsymbol@loop@aux@Q}[2]{#1}
825 \newcommand*{\acs@author@fnsymbol@symbol}[1]{%
826 \ifcase #1 *\or
827 \dagger\or
828 \ddagger\or
829 \P\or
830 \S\or
831 \|\or
832 \bot\or
833 \#\or
834 @\or
835 \triangle\or
836 \nabla
837 \fi
838 }
\acs@address@list
\acs@address@list@auxi
\acs@address@list@auxii
Loop over the addresses and any extra affiliations and print them all: if there
is only one, omit the marker entirely. There is also a need to watch out for any
footnotes from the title.
839 \newcommand*\acs@address@list{%
840 \ifnum\acs@affil@cnt>\z@
841 \expandafter\acs@address@list@auxi
842 \else
843 \acs@warning{No affiliations: at least one affiliation is needed}%
844 \fi
27
845 }
846 \newcommand*\acs@address@list@auxi{%
847 \ifnum0%
848 \ifnum\acs@affil@cnt>\@ne 1\fi
849 \ifnum\acs@affil@alt@cnt>\z@ 1\fi
850 >\z@
851 \expandafter\acs@address@list@auxii
852 \else
853 \@address@i\par
854 \fi
855 }
856 \newcommand*\acs@address@list@auxii{%
857 \@tempcnta\z@
858 \acs@affil@marker@cnt\acs@footnote@cnt
859 \loop\ifnum\@tempcnta<\acs@affil@cnt
860 \advance\@tempcnta\@ne
861 \advance\acs@affil@marker@cnt\@ne
862 \acs@author@fnsymbol{\acs@affil@marker@cnt}%
863 \@nameuse{@address@\@roman\@tempcnta}\par
864 \repeat
865 \@tempcnta\z@
866 \loop\ifnum\@tempcnta<\acs@affil@cnt
867 \advance\@tempcnta\@ne
868 \advance\acs@affil@marker@cnt\@ne
869 \acs@ifundefined{@altaffil@\@roman\@tempcnta}
870 {}
871 {%
872 \acs@author@fnsymbol{\acs@affil@marker@cnt}%
873 \@nameuse{@altaffil@\@roman\@tempcnta}\par
874 }%
875 \repeat
876 }
\acs@fnsymbol@org
\acs@affil@list
\acs@affil@list@aux
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.
877 \newcommand*\acs@fnsymbol@org{}
878 \newcommand*\acs@affil@list{%
879 \let\acs@fnsymbol@org\@fnsymbol
880 \let\@fnsymbol\acs@author@fnsymbol
881 \@tempcnta\z@\relax
882 \@tempcntb\z@\relax
883 \ifnum\acs@affil@cnt>\@ne\relax
884 \expandafter\acs@affil@list@aux
885 \else
886 \ifnum\acs@affil@alt@cnt>\z@\relax
887 \acs@affil@marker@cnt\@ne\relax
888 \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
889 \footnotetext[\acs@affil@marker@cnt]{\@affil@i}%
890 \@tempcnta\@ne\relax
891 \fi
892 \fi
893 \ifnum\acs@affil@alt@cnt>\z@\relax
894 \expandafter\acs@affil@alt@list
28
895 \fi
896 \let\@fnsymbol\acs@fnsymbol@org
897 }
898 \newcommand*\acs@affil@list@aux{%
899 \advance\@tempcnta\@ne\relax
900 \acs@affil@marker@cnt\@tempcnta\relax
901 \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
902 \footnotetext[\acs@affil@marker@cnt]{%
903 \@nameuse{@affil@\@roman\@tempcnta}%
904 }%
905 \ifnum\@tempcnta<\acs@affil@cnt\relax
906 \expandafter\acs@affil@list@aux
907 \fi
908 }
\acs@affil@alt@list
\acs@affil@alt@lista@aux
The secondary loop for alternative affiliations is similar.
909 \newcommand*\acs@affil@alt@list{%
910 \advance\@tempcntb\@ne\relax
911 \acs@ifundefined{@altaffil@\@roman\@tempcntb}{}{%
912 \acs@altaffil@foot@aux
913 }
914 \ifnum\@tempcntb<\acs@author@cnt\relax
915 \expandafter\acs@affil@alt@list
916 \fi
917 }
918 \newcommand*\acs@altaffil@foot@aux{%
919 \advance\@tempcnta\@ne\relax
920 \acs@affil@marker@cnt\@tempcnta\relax
921 \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
922 \footnotetext[\acs@affil@marker@cnt]{%
923 \@nameuse{@altaffil@\@roman\@tempcntb}%
924 }%
925 }
\acs@email@list@font
\acs@email@list
\acs@email@list@aux
The final piece of meta-data to print is the e-mail address list. The total number
of e-mail addresses given it counted in
\@tempcntb
, which means a warning
can be given if there are none. The group is used so that
\UrlFont
can be set
correctly.
926 \newcommand*\acs@email@list@font{\sf}
927 \newcommand*\acs@email@list{%
928 \begingroup
929 \def\UrlFont{\acs@email@list@font}%
930 \@tempcnta\z@\relax
931 \@tempcntb\z@\relax
932 \acs@email@list@aux
933 \ifnum\@tempcntb=\z@\relax
934 \acs@warning{%
935 No e-mail given:\MessageBreak
936 at lest one author must have a contact e-mail%
937 }%
938 \fi
939 \endgroup
940 }
941 \newcommand*\acs@email@list@aux{%
29
942 \advance\@tempcnta\@ne\relax
943 \ifnum\@tempcnta>\acs@author@cnt\relax\else
944 \acs@ifundefined{@email@\@roman\@tempcnta}{}{%
945 \advance\@tempcntb\@ne\relax
946 \ifnum\@tempcntb>\@ne\relax
947 ;
948 \fi
949 \expandafter\expandafter\expandafter\url\expandafter
950 \expandafter\expandafter{%
951 \csname @email@\@roman\@tempcnta\endcsname
952 }%
953 }%
954 \expandafter\acs@email@list@aux
955 \fi
956 }
\acs@number@list
\acs@number@list@aux@i
\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.
957 \newcommand*\acs@number@list{%
958 \begingroup
959 \acs@number@list@aux@i{phone}%
960 \let\@tempb\@tempa
961 \acs@number@list@aux@i{fax}%
962 \ifx\@tempa\@empty
963 \let\@tempa\@tempb
964 \else
965 \ifx\@tempb\@empty\else
966 \protected@edef\@tempa{%
967 \@tempb.\space\@tempa
968 }%
969 \fi
970 \fi
971 \ifx\@tempa\@empty\else
972 \par
973 \@tempa
974 \fi
975 \endgroup
976 }
977 \newcommand*\acs@number@list@aux@i[1]{%
978 \def\@tempa{}%
979 \@tempcnta\z@\relax
980 \def\acs@number@list@aux@ii{%
981 \advance\@tempcnta\@ne\relax
982 \ifnum\@tempcnta>\acs@author@cnt\relax\else
983 \acs@ifundefined{@#1@\@roman\@tempcnta}{}{%
984 \acs@ifundefined{@email@\@roman\@tempcnta}{}{%
985 \ifx\@tempa\@empty
986 \edef\@tempa{%
987 \@nameuse{@#1@\@roman\@tempcnta}%
988 }%
989 \else
990 \edef\@tempa{%
991 \@tempa
30
992 ;
993 \@nameuse{@#1@\@roman\@tempcnta}%
994 }%
995 \fi
996 }%
997 }%
998 \expandafter\acs@number@list@aux@ii
999 \fi
1000 }%
1001 \acs@number@list@aux@ii
1002 \ifx\@tempa\@empty\else
1003 \protected@edef\@tempa{%
1004 \MakeUppercase#1: \@tempa
1005 }%
1006 \fi
1007 }
1008 \newcommand*\acs@number@list@aux@ii{}
\endabstract
\acs@abstract@extras
1009 \g@addto@macro\endabstract{%
1010 \aftergroup\acs@abstract@extras
1011 }
1012 \newcommand*{\acs@abstract@extras}{%
1013 \ifacs@abbreviations
1014 \acs@abbreviations@print
1015 \par
1016 \fi
1017 \ifacs@keywords
1018 \acs@keywords@print
1019 \par
1020 \fi
1021 }
\acs@maketitle@extras
\acs@maketitle@extras@hook
A couple of things might need to be added to \maketitle.
1022 \newcommand*\acs@maketitle@extras{%
1023 \acs@maketitle@extras@hook
1024 }
1025 \newcommand*\acs@maketitle@extras@hook{}
1026 \g@addto@macro{\maketitle}{\acs@maketitle@extras}
\maketitle
is required by the document class, and must start the document. No
variation is allowed, and so it is done automatically.
1027 \g@addto@macro{\document}{\maketitle}
scheme (env.)
chart (env.)
graph (env.)
Three new float types are provided,
scheme
,
chart
and
graph
. These are the
most obvious types; for graphs, a slight problem arises with the file extension.
1028 \newfloat{scheme}{htbp}{los}
1029 \floatname{scheme}{Scheme}
1030 \newfloat{chart}{htbp}{loc}
1031 \floatname{chart}{Chart}
1032 \newfloat{graph}{htbp}{loh}
1033 \floatname{graph}{Graph}
31
\schemename
\chartname
\graphname
Naming is set up in the same way as the kernel floats.
1034 \newcommand*\schemename{Scheme}
1035 \newcommand*\chartname{Chart}
1036 \newcommand*\graphname{Graph}
The standard floats should appear “here” by default.
1037 \floatplacement{table}{htbp}
1038 \floatplacement{figure}{htbp}
1039 \floatstyle{plaintop}
1040 \restylefloat{table}
\acs@floatboxreset Floats are all centred.
1041 \let\acs@floatboxreset\@floatboxreset
1042 \def\@floatboxreset{%
1043 \centering
1044 \acs@floatboxreset
1045 }
\plainref
\ref
For legacy support.
1046 \newcommand*\plainref{}
1047 \AtBeginDocument{\let\plainref\ref}
\acs@section
\acs@subsection
\acs@subsubsection
\acs@startsection@orig
Both the numbering and existence of section headers may need to be altered.
Some generic functions are therefore provided to deal with this cleanly. First,
some original definitions are saved.
1048 \newcommand*\acs@section{}
1049 \let\acs@section\section
1050 \newcommand*\acs@subsection{}
1051 \let\acs@subsection\subsection
1052 \newcommand*\acs@subsubsection{}
1053 \let\acs@subsubsection\subsubsection
1054 \newcommand*\acs@startsection@orig{}
1055 \let\acs@startsection@orig\@startsection
\acs@startsection
A version of
\@startsection
which adds unnumbered sections to the TOC:
modelled on amsart. This is active as standard.
1056 \newcommand\acs@startsection[6]{%
1057 \if@noskipsec \leavevmode \fi
1058 \par \@tempskipa #4\relax
1059 \@afterindenttrue
1060 \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
1061 \if@nobreak \everypar{}\else
1062 \addpenalty\@secpenalty\addvspace\@tempskipa\fi
1063 \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}%
1064 {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
1065 }
1066 \let\@startsection\acs@startsection
\acs@startsection@alt An alternative version of \@startsection which never adds numbers.
1067 \newcommand*\acs@startsection@alt[6]{%
1068 \if@noskipsec \leavevmode \fi
1069 \par \@tempskipa #4\relax
1070 \@afterindenttrue
32
1071 \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
1072 \if@nobreak \everypar{}\else
1073 \addpenalty\@secpenalty\addvspace\@tempskipa\fi
1074 \@ifstar{\@ssect{#3}{#4}{#5}{#6}}
1075 {\@ssect{#3}{#4}{#5}{#6}}%
1076 }
\acs@sections@none
\acs@sections@none@aux
When removing sections entirely, a gobble macro is needed.
1077 \newcommand*\acs@sections@none{%
1078 \@ifstar{%
1079 \acs@sections@none@aux
1080 }{%
1081 \acs@sections@none@aux
1082 }%
1083 }
1084 \newcommand*\acs@sections@none@aux[2][]{%
1085 \acs@warning{%
1086 (Sub)section ‘#2’ ignored%
1087 }%
1088 }
\SectionNumbersOff
\SectionNumbersOn
To macros to add or remove the section numbers. The standard setting for the
class has them on, but some configurations will turn them off. The names of
these functions are both in design space so that users can change the decision
easily.
1089 \newcommand*\SectionNumbersOff{%
1090 \let\@startsection\acs@startsection@alt
1091 }
1092 \@onlypreamble\SectionNumbersOff
1093 \newcommand*\SectionNumbersOn{%
1094 \let\@startsection\acs@startsection
1095 }
1096 \@onlypreamble\SectionNumbersOn
\SectionsOff
\SectionsOn
Quite similar for entire sections.
1097 \newcommand*\SectionsOff{%
1098 \let\section\acs@sections@none
1099 \let\subsection\acs@sections@none
1100 \let\subsubsection\acs@sections@none
1101 }
1102 \@onlypreamble\SectionsOff
1103 \newcommand*\SectionsOn{%
1104 \let\section\acs@section
1105 \let\subsection\acs@subsection
1106 \let\subsubsection\acs@subsubsection
1107 }
1108 \@onlypreamble\SectionsOn
\tableofcontents Never print TOC in itself.
1109 \begingroup
1110 \toks@=\expandafter{\tableofcontents}
1111 \xdef\tableofcontents{%
1112 \begingroup
33
1113 \let\noexpand\@startsection\noexpand\acs@startsection@orig
1114 \the\toks@
1115 \endgroup
1116 }
1117 \endgroup
acknowledgement (env.)
suppinfo (env.)
Simple named sections.
1118 \newenvironment{acknowledgement}{%
1119 \acs@section*{\acknowledgementname}%
1120 }{}
1121 \newenvironment{suppinfo}{%
1122 \acs@section*{\suppinfoname}%
1123 }{}
\acknowledgementname
\bibsection
\suppinfoname
A few macros need to get around the changes.
1124 \newcommand*\acknowledgementname{Acknowledgement}
1125 \AtEndOfClass{%
1126 \def\bibsection{%
1127 \acs@section*{\refname}%
1128 }%
1129 }
1130 \newcommand*\suppinfoname{Supporting Information Available}
\acs@abstract
\acs@endabstract
\acs@abstract@start
\acs@abstract@end
\acs@abstract@iffalse
Removing the abstract, if necessary, is done using a trick from the comment
package. However, it code is copied here to keep requirements down.
1131 \newcommand*\acs@abstract{}
1132 \let\acs@abstract\abstract
1133 \newcommand*\acs@endabstract{}
1134 \let\acs@endabstract\endabstract
1135 \begingroup
1136 \catcode‘{ \active
1137 \catcode‘} 12\relax
1138 \catcode‘( 1\relax
1139 \catcode‘) 2\relax
1140 \gdef\acs@abstract@start(%
1141 \acs@warning(%
1142 Abstract not allowed for this\MessageBreak
1143 manuscript type
1144 )%
1145 \@bsphack
1146 \catcode‘{ \active
1147 \catcode‘} 12\relax
1148 \let\end\fi
1149 \let{\acs@abstract@end% }
1150 \iffalse
1151 )%{
1152 \gdef\acs@abstract@end#1}(%
1153 \def\@tempa(#1)%
1154 \ifx\@tempa\@currenvir
1155 \@Esphack\endgroup
1156 \if@ignore
1157 \global\@ignorefalse
1158 \ignorespaces
1159 \fi
34
1160 \else
1161 \expandafter\acs@abstract@iffalse
1162 \fi
1163 )
1164 \endgroup
1165 \newcommand*\acs@iffalse{\iffalse}
\AbstractOff
\AbstractOn
A very similar pattern to before.
1166 \newcommand*\AbstractOff{%
1167 \let\abstract\acs@abstract@start
1168 \let\endabstract\acs@abstract@end
1169 }
1170 \@onlypreamble\AbstractOff
1171 \newcommand*\AbstractOn{%
1172 \let\abstract\acs@abstract
1173 \let\endabstract\acs@endabstract
1174 }
1175 \@onlypreamble\AbstractOn
\acs@collect@toks
\acs@collect@content
\acs@collect@content
The content of the graphic TOC entry is processed using a method from amsmath
via environ. The entire environment is gathered for typesetting in a box. First,
some storage is needed.
1176 \newtoks\acs@collect@toks
1177 \newtoks\acs@collect@empty@toks
1178 \newcommand*\acs@collect@begins{}
1179 \newcommand*\acs@collect@content{}
\acs@collect
\acs@collect@aux
\acs@collect@begins@
\acs@collect@body
This is a \long version of \collect@body.
1180 \newcommand\acs@collect[1]{%
1181 \acs@collect@toks{%
1182 \expandafter#1\expandafter{\the\acs@collect@toks}%
1183 }%
1184 \edef\acs@collect@content{%
1185 \the\acs@collect@toks
1186 \noexpand\end{\@currenvir}%
1187 }%
1188 \acs@collect@toks\acs@collect@empty@toks
1189 \def\acs@collect@begins{b}%
1190 \begingroup
1191 \expandafter\let\csname\@currenvir\endcsname\acs@collect@aux
1192 \edef\acs@collect@content{%
1193 \expandafter\noexpand\csname\@currenvir\endcsname
1194 }%
1195 \acs@collect@content
1196 }
1197 \newcommand*\acs@collect@aux{}
1198 \long\def\acs@collect@aux#1\end#2{%
1199 \edef\acs@collect@begins{%
1200 \acs@collect@begins@#1\begin\end
1201 \expandafter\@gobble\acs@collect@begins
1202 }%
1203 \ifx\@empty\acs@collect@begins
1204 \endgroup
1205 \@checkend{#2}%
35
1206 \acs@collect@body{#1}%
1207 \else
1208 \acs@collect@body{#1\end{#2}}%
1209 \fi
1210 \acs@collect@content
1211 }
1212 \newcommand*\acs@collect@begins@{}
1213 \long\def\acs@collect@begins@#1\begin#2{%
1214 \ifx\end#2\else
1215 b\expandafter\acs@collect@begins@
1216 \fi
1217 }
1218 \newcommand\acs@collect@body[1]{%
1219 \global\acs@collect@toks\expandafter{\the\acs@collect@toks#1}%
1220 }
\acs@abstract@print
Delayed abstract printing works in a similar way, but with some formatting
‘built-in’.
1221 \newcommand\acs@abstract@print[1]{%
1222 \global\long\def\acs@abstract@text{%
1223 \if@twocolumn
1224 \@restonecoltrue\onecolumn
1225 \else
1226 \@restonecolfalse\newpage
1227 \fi
1228 \acs@section*{Abstract}%
1229 #1%
1230 \if@restonecol
1231 \twocolumn
1232 \else
1233 \newpage
1234 \fi
1235 }%
1236 \AtEndDocument{\acs@abstract@text}%
1237 }
\acs@tocentry@print
\acs@tocentry@print@aux
\acs@tocentry@text
The same approach is taken for the graphical table of content printing. This is
done in a box so that everything has a frame around it.
1238 \newcommand{\acs@tocentry@print}[1]{%
1239 \gdef\acs@tocentry@text{\normalsize#1}%
1240 \AtEndDocument{%
1241 \if@twocolumn
1242 \@restonecoltrue\onecolumn
1243 \else
1244 \@restonecolfalse\newpage
1245 \fi
1246 \acs@tocentry@print@aux
1247 \if@restonecol
1248 \twocolumn
1249 \else
1250 \newpage
1251 \fi
1252 }%
1253 }
36
1254 \newcommand*{\acs@tocentry@print@aux}{%
1255 \begingroup
1256 \let\@startsection\acs@startsection@orig
1257 \acs@section*{\tocentryname}%
1258 \tocsize
1259 \sffamily
1260 \singlespacing
1261 \begin{center}
1262 \fbox
1263 {%
1264 \begin{minipage}{\acs@tocentry@width}
1265 \vbox to \acs@tocentry@height{\acs@tocentry@text}%
1266 \end{minipage}%
1267 }%
1268 \end{center}%
1269 \endgroup
1270 }
1271 \newcommand*\acs@tocentry@text{TOC ENTRY REQUIRED}
1272 \newlength{\acs@tocentry@height}
1273 \newlength{\acs@tocentry@width}
1274 \setlength{\acs@tocentry@height}{1.75in}
1275 \setlength{\acs@tocentry@width}{3.25in}
tocentry (env.) Actually creating the entry is pretty easy.
1276 \newenvironment{tocentry}{\acs@collect\acs@tocentry@print}{}
\tocentryname A simple name macro.
1277 \newcommand*\tocentryname{TOC Graphic}
\tocsize The font size for printing the TOC entry.
1278 \newcommand*\tocsize{%
1279 \@setfontsize\tocsize\@viiipt\@ixpt
1280 }
\acs@type@list
\acs@type@default
\acs@type@check
Different journals allow different types of article. A list is set up here: different
journals can then alter it. A check function is also provided along with a default.
1281 \newcommand*\acs@type@list{article,communication,suppinfo}
1282 \newcommand*\acs@type@default{article}
1283 \newcommand*\acs@type@check{%
1284 \@tempswafalse
1285 \@for\@tempa:=\acs@type@list\do{%
1286 \ifx\@tempa\acs@manuscript
1287 \expandafter\@tempswatrue
1288 \fi
1289 }%
1290 \if@tempswa\else
1291 \acs@warning{%
1292 Invalid manuscript type \acs@manuscript:\MessageBreak
1293 changed to default type \acs@type@default
1294 }%
1295 \let\acs@manuscript\acs@type@default
1296 \fi
1297 }
37
A few bits for older versions.
1298 \newcommand*\acs@setkeys{\setkeys{acs}}
1299 \let\acs@killabstract\AbstractOff
1300 \let\acs@killsecs\SectionsOff
1301 \newcommand*\acs@validtype[2][article]{%
1302 \def\acs@type@default{#1}%
1303 \def\acs@type@list{#2}%
1304 }
\acs@par A saved paragraph.
1305 \newcommand*\acs@par{}
1306 \let\acs@par\par
\acs@layout@shared
acknowledgement (env.)
suppinfo (env.)
Some code is used generally when setting up “press ready” layouts. There is
quite a bit here, mainly layout related.
1307 \newcommand*\acs@layout@shared{%
1308 \AtBeginDocument{\singlespacing}%
1309 \twocolumn
1310 \tolerance=2000\relax
1311 \emergencystretch=10pt\relax
1312 \geometry{
1313 letterpaper,
1314 top = 12.7mm,
1315 bottom = 16.8mm,
1316 left = 19.3mm,
1317 right = 19.3mm
1318 }%
1319 \setlength{\columnsep}{8.1mm}%
1320 \setlength{\parindent}{3.3mm}%
1321 \renewenvironment{acknowledgement}{%
1322 \def\@tempa{acknowledgement}%
1323 \ifx\@currenvir\@tempa
1324 \let\par\relax
1325 \acksize
1326 \vspace{6pt}%
1327 \textbf{\acknowledgementname}%
1328 \else
1329 \acs@section*{\acknowledgementname}%
1330 \fi
1331 }{%
1332 \acs@par
1333 }%
1334 }
\acksize
\suppsize
More sizes.
1335 \newcommand*\acksize{\normalsize}
1336 \newcommand*\suppsize{\normalsize}
\acs@layout@nine
\@xipt
\acs@layout@ten
The class loads twelve point text. To reset it for print layouts, it is easiest to do
things directly.
1337 \newcommand*\acs@layout@nine{%
1338 \def\@xipt{11}%
1339 \long\def\normalsize{%
38
1340 \@setfontsize\normalsize\@ixpt\@xipt
1341 }%
1342 \normalsize
1343 \let\@listi\@listI
1344 \abovedisplayskip 5\p@ \@plus2\p@ \@minus 5\p@\relax
1345 \abovedisplayshortskip \z@ \@plus3\p@\relax
1346 \belowdisplayshortskip 3\p@ \@plus3\p@ \@minus 3\p@\relax
1347 \belowdisplayskip\abovedisplayskip\relax
1348 \abovecaptionskip 5\p@\relax
1349 \intextsep 7\p@ \@plus 2\p@ \@minus 2\p@\relax
1350 }
1351 \newcommand*\acs@layout@ten{%
1352 \long\def\normalsize{%
1353 \@setfontsize\normalsize\@xpt\@xiipt
1354 }%
1355 \normalsize
1356 \@setfontsize\normalsize\@xpt\@xiipt
1357 \let\@listi\@listI
1358 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@\relax
1359 \abovedisplayshortskip \z@ \@plus3\p@\relax
1360 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@\relax
1361 \belowdisplayskip \abovedisplayskip\relax
1362 }
With all of the standard settings done, the journal configuration can be loaded.
1363 \InputIfFileExists{achemso-\[email protected]}{}{%
1364 \acs@warning{%
1365 Unknown journal ‘\acs@journal’:\MessageBreak
1366 using default configuration JACSAT%
1367 }%
1368 \input{achemso-jacsat.cfg}%
1369 }
Suppress spurious warnings.
1370 \let\@unusedoptionlist\@empty
\thepage
Some changes that can always be applied if the manuscript type is appropriate:
this saves some repetition in the configuration files.
1371 \acs@type@check
1372 \ifx\acs@manuscript\acs@manuscript@note
1373 \SectionsOff
1374 \fi
1375 \ifx\acs@manuscript\acs@manuscript@review
1376 \SectionsOn
1377 \SectionNumbersOn
1378 \fi
1379 \ifx\acs@manuscript\acs@manuscript@suppinfo
1380 \setkeys{acs}{maxauthors = 0}
1381 \def\thepage{S-\arabic{page}}
1382 \renewcommand*\thefigure{S\@arabic\c@figure}
1383 \renewcommand*\thescheme{S\@arabic\c@scheme}
1384 \renewcommand*\thetable{S\@arabic\c@table}
1385 \AtBeginDocument
1386 {%
39
1387 \renewcommand*\citenumfont[1]{S#1}%
1388 \renewcommand*\bibnumfmt[1]{(S#1)}%
1389 }
1390 \fi
Set up two column layout.
1391 \begingroup
1392 \def\@tempa{twocolumn}
1393 \ifx\acs@layout\@tempa
1394 \aftergroup\acs@layout@shared
1395 \fi
1396 \def\@tempa{two-column}
1397 \ifx\acs@layout\@tempa
1398 \aftergroup\acs@layout@shared
1399 \fi
1400 \endgroup
1401 /class
8.5 Late shared code
\citenumfont
Changes to citations can now be made. The citation styles supplied here require
natbib, which is loaded with the appropriate options. This part applies to the
package as well as the class: it is here so that the load order is correct.
1402 ⟨∗class | package
1403 \ifacs@super
1404 \RequirePackage[sort&compress,numbers,super]{natbib}
1405 \else
1406 \RequirePackage[sort&compress,numbers,round]{natbib}
1407 \def\citenumfont{\textit}
1408 \fi
1409 \define@key{acs}{super}[true]{%
1410 \def\@tempa{#1}%
1411 \def\@tempb{true}%
1412 \ifx\@tempa\@tempb
1413 \setcitestyle{super,open={},close={}}%
1414 \renewcommand*\citenumfont{}%
1415 \else
1416 \setcitestyle{round}%
1417 \renewcommand*\citenumfont{\textit}
1418 \fi
1419 }
1420 \RequirePackage{natmove}
The mciteplus package allows the construction of lists of references with sub-
letters. However, it might not be available, and so it is only loaded if available:
the
.bst
files should work either way. There is also a patch to get cross-references
correct with the modified
\ref
macro used here. The reason for ensuring that
\@mciteNatbibCiteCmdList
is defined is that it allows for the case where people
prevent mciteplus being loaded using \[email protected].
1421 \IfFileExists{mciteplus.sty}{%
1422 \RequirePackage{mciteplus}
1423 \providecommand*{\@mciteNatbibCiteCmdList}{}%
1424 \edef\@tempa{\noexpand\in@{citenum}{\@mciteNatbibCiteCmdList}}%
40
1425 \@tempa
1426 \ifin@
1427 \else
1428 \edef\@mciteNatbibCiteCmdList{\@mciteNatbibCiteCmdList,citenum}%
1429 \fi
1430 ⟨∗!package
1431 \def\@mciteSubRef[##1]##2{\plainref{\@mcitereflabelprefix:##1:##2}}
1432 /!package
1433 }{}
\acs@bibstyle
The next step is to sort out bibliography formatting. With both the package and
the class, the bibliography style is determined without user intervention. The
style is stored as it may need to be altered later.
1434 \newcommand*\acs@bibstyle{achemso}
1435 \ifacs@biochem
1436 \def\acs@bibstyle{biochem}
1437 \bibliographystyle{biochem}
1438 \else
1439 \bibliographystyle{achemso}
1440 \fi
\acs@bibliographystyle
\bibliographystyle
The original
\bibliographystyle
macro is now disabled: the underlying com-
mand is repeated otherwise problems cop up with chapterbib.
1441 \newcommand*\acs@bibliographystyle{}
1442 \let\acs@bibliographystyle\bibliographystyle
1443 \def\bibliographystyle#1{%
1444 \acs@warning{\string\bibliographystyle\space ignored}%
1445 \expandafter\acs@bibliographystyle\expandafter{\acs@bibstyle}%
1446 }
1447 /class | package
8.6 Late package-only code
The notes2bib code may or may not be activated.
1448 ⟨∗package
1449 \AtBeginDocument{%
1450 \@ifpackageloaded{notes2bib}{}{%
1451 \acs@niib@create
1452 }%
1453 }
1454 /package
8.7 Moving citations with natbib
The code for moving citations is created as a separate package, as the code needed
is the same in both cases.
1455 ⟨∗natmove
1456 \ProvidesPackage{natmove}
1457 [2010/01/15 v1.1a Automatic citation moving with natbib]
1458 \RequirePackage{natbib}
41
\nmv@ifmtarg
\nmv@xifmtarg
To keep down dependence on other packages, the very short code block from
ifmtarg is copied here with an internal name.
1459 \newcommand*\nmv@ifmtarg{}
1460 \newcommand*\nmv@xifmtarg{}
1461 \begingroup
1462 \catcode‘\Q 3\relax
1463 \long\gdef\nmv@ifmtarg#1{%
1464 \nmv@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil
1465 }
1466 \long\gdef\nmv@xifmtarg#1#2Q#3#4#5\@nil{#4}
1467 \endgroup
\ifnmv@cite A flag is need to watch whether \cite or another macro is in use.
1468 \newif\ifnmv@cite
\nmv@citex
Using the flag, either the new internal macro, or the natbib original, can be called.
1469 \newcommand*\nmv@citex{%
1470 \ifnmv@cite
1471 \expandafter\nmv@citex@moving
1472 \else
1473 \expandafter\nmv@citex@nat
1474 \fi
1475 }
\nmv@after Later, the argument for \cite will need to be saved.
1476 \newcommand*\nmv@after{}
\nmv@citex@moving
The new version of
\@citex
is needed that looks ahead of the citation using
\futurelet
. There are three arguments to
\@citex
when using natbib. Other
than that, the trick used here is similar to that in cite.
1477 \newcommand*\nmv@citex@moving{}
1478 \def\nmv@citex@moving[#1][#2]#3{%
1479 \leavevmode
1480 \skip@\lastskip\relax
1481 \unskip
1482 \begingroup
1483 \def\nmv@after{\nmv@citex@nat[#1][#2]{#3}}%
1484 \global\nmv@citefalse
1485 \nmv@citex@get@next\relax
1486 }
\nmv@citex@end To get things right at the end.
1487 \newcommand*\nmv@citex@end{%
1488 \nmv@after
1489 \endgroup
1490 }
\nmv@citex@get@next
\nmv@citex@next
The next token on the input stack is saved into
\nmv@citex@next
, after gobbling
up one token.
1491 \newcommand*\nmv@citex@get@next[1]{%
1492 \futurelet\nmv@citex@next\nmv@citex@punct
1493 }
42
\nmv@citex@punct
\nmv@citex@punct@undouble
\nmv@citex@loop
The working macro for moving the punctuation. This is very much like
\@citey
in the cite package. The initial assumption is that the loop will terminate, and so
the recursion call will simply do the finalisation.
1494 \newcommand*\nmv@citex@punct{%
1495 \let\nmv@citex@loop\nmv@citex@end
1496 \ifx\nmv@citex@next.\relax
1497 \ifnum\spacefactor<\nmv@citex@sfac\else
1498 \expandafter\expandafter\expandafter\nmv@citex@punct@undouble
1499 \fi
1500 \fi
1501 \expandafter\nmv@citex@punct@aux\natmovechars\@nil
1502 \nmv@citex@loop
1503 }
1504 \newcommand*\nmv@citex@punct@undouble{%
1505 \let\nmv@citex@next\relax
1506 \let\nmv@citex@loop\nmv@citex@get@next
1507 }
1508 \newcommand*\nmv@citex@loop{}
\nmv@citex@punct@aux The final part of the punctuation moving system.
1509 \newcommand*\nmv@citex@punct@aux[1]{%
1510 \ifx\nmv@citex@next#1\@empty
1511 #1%
1512 \let\nmv@citex@loop\nmv@citex@get@next
1513 \fi
1514 \ifx#1\@nil\else
1515 \expandafter\nmv@citex@punct@aux
1516 \fi
1517 }
\nmv@citex@sfac
The value of the spacing factor after a full stop is used to signal doubled punctu-
ation. For French spacing, a bit of patching is needed.
1518 \mathchardef\nmv@citex@sfac3000\relax
1519 \expandafter\def\expandafter\frenchspacing\expandafter{%
1520 \frenchspacing
1521 \mathchardef\nmv@citex@sfac1001\relax
1522 \sfcode‘\.\nmv@citex@sfac
1523 \sfcode‘\?\nmv@citex@sfac
1524 \sfcode‘\!\nmv@citex@sfac
1525 }
1526 \ifnum\sfcode‘\.=\@m
1527 \frenchspacing
1528 \fi
\nmv@citex@nat
\nmv@activate
\cite
The swap has to be done at the beginning of the document. The internal flag
from natbib is used, but under the circumstances we should be safe.
\cite
is also
patched to make the system active.
1529 \newcommand*\nmv@citex@nat{}
1530 \newcommand*\nmv@activate{%
1531 \let\nmv@citex@nat\@citex
1532 \let\@citex\nmv@citex
1533 \let\nmv@cite\cite
1534 \renewcommand*{\cite}[2][]{%
43
1535 \nmv@ifmtarg{##1}{%
1536 \nmv@citetrue
1537 \nmv@cite{##2}%
1538 }{%
1539 \nmv@citefalse
1540 \nmv@cite[##1]{##2}}%
1541 }%
1542 }
\nmv@natbib@detect
So that natbib options can be set without worrying about load order, natmove
doesn’t require natbib. So a test is needed to see if it is actually loaded. This is
done as a macro so that the effect can be changed by achemso.
1543 \newcommand*\nmv@natbib@detect{%
1544 \@ifpackageloaded{natbib}{%
1545 \ifNAT@super
1546 \expandafter\nmv@activate
1547 \fi
1548 }{%
1549 \PackageInfo{natmove}{%
1550 The natbib package is not loaded.\MessageBreak
1551 Loading natmove will do nothing
1552 }%
1553 }%
1554 }
1555 \AtBeginDocument{\nmv@natbib@detect}
\natmovechars A user macro is needed for moving characters.
1556 \newcommand*\natmovechars{.,;:}
1557 /natmove
8.8 The configuration files
The configuration files for different journals are not very complex. Keeping
everything separate simply helps with maintenance.
1558 ⟨∗abmcb8
1559 \ProvidesFile{achemso-abmcb8.cfg}
1560 [2024-01-30 v3.13g achemso configuration: ACS Bio. Med. Chem. Au]
1561 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1562 \setkeys{acs}{keywords = true}
1563 /abmcb8
1564 ⟨∗aeacb3
1565 \ProvidesFile{achemso-aeacb3.cfg}
1566 [2024-01-30 v3.13g achemso configuration: ACS Eng. Au]
1567 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1568 \setkeys{acs}{keywords = true}
1569 /aeacb3
1570 ⟨∗aeacc4
1571 \ProvidesFile{achemso-aeacc4.cfg}
1572 [2024-01-30 v3.13g achemso configuration: ACS Env. Au]
1573 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1574 \setkeys{acs}{keywords = true}
1575 /aeacc4
1576 ⟨∗amacgu
44
1577 \ProvidesFile{achemso-amacgu.cfg}
1578 [2024-01-30 v3.13g achemso configuration: ACS Mater. Au]
1579 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1580 \setkeys{acs}{keywords = true}
1581 /amacgu
1582 ⟨∗amachv
1583 \ProvidesFile{achemso-amachv.cfg}
1584 [2024-01-30 v3.13g achemso configuration: ACS Meas. Au]
1585 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1586 \setkeys{acs}{keywords = true}
1587 /amachv
1588 ⟨∗anaccx
1589 \ProvidesFile{achemso-anaccx.cfg}
1590 [2024-01-30 v3.13g achemso configuration: ACS Nanosci. Au]
1591 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1592 \setkeys{acs}{keywords = true}
1593 /anaccx
1594 ⟨∗abmcb8
1595 \ProvidesFile{achemso-abmcb8.cfg}
1596 [2024-01-30 v3.13g achemso configuration: ACS Bio. Med. Chem. Au]
1597 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1598 \setkeys{acs}{keywords = true}
1599 /abmcb8
1600 ⟨∗aoiab5
1601 \ProvidesFile{achemso-aoiab5.cfg}
1602 [2024-01-30 v3.13g achemso configuration: ACS Org. Inorg. Au]
1603 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1604 \setkeys{acs}{keywords = true}
1605 /aoiab5
1606 ⟨∗apcach
1607 \ProvidesFile{achemso-apcach.cfg}
1608 [2024-01-30 v3.13g achemso configuration: ACS Phys. Bio. Med. Chem. Au]
1609 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1610 \setkeys{acs}{keywords = true}
1611 /apcach
1612 ⟨∗appccd
1613 \ProvidesFile{achemso-appccd.cfg}
1614 [2024-01-30 v3.13g achemso configuration: ACS Polym. Au]
1615 \def\acs@type@list{article,review,letter,perspective,suppinfo}
1616 \setkeys{acs}{keywords = true}
1617 /appccd
1618 ⟨∗achre4
1619 \ProvidesFile{achemso-achre4.cfg}
1620 [2024-01-30 v3.13g achemso configuration: Acc. Chem. Res.]
1621 \setkeys{acs}{biblabel = plain}
1622 \def\acs@type@list{article,suppinfo}
1623 \def\abstractname{Conspectus}
1624 /achre4
1625 ⟨∗aaembp
1626 \ProvidesFile{achemso-aaembp.cfg}
1627 [2024-01-30 v3.13g achemso configuration: ACS Appl. Electron. Mater.]
1628 \def\acs@type@list{article,letter,suppinfo}
1629 \setkeys{acs}{keywords = true}
1630 /aaembp
45
1631 ⟨∗aaemcq
1632 \ProvidesFile{achemso-aaemcq.cfg}
1633 [2024-01-30 v3.13g achemso configuration: ACS Appl. Energy Mater.]
1634 \def\acs@type@list{article,letter,suppinfo}
1635 \setkeys{acs}{keywords = true}
1636 /aaemcq
1637 ⟨∗aamick
1638 \ProvidesFile{achemso-aamick.cfg}
1639 [2024-01-30 v3.13g achemso configuration: ACS Appl. Mater. Interfaces]
1640 \def\acs@type@list{article,letter,suppinfo}
1641 \setkeys{acs}{keywords = true}
1642 /aamick
1643 ⟨∗aanmf6
1644 \ProvidesFile{achemso-aanmf6.cfg}
1645 [2024-01-30 v3.13g achemso configuration: ACS Appl. Nano Mater.]
1646 \def\acs@type@list{article,letter,suppinfo}
1647 \setkeys{acs}{keywords = true}
1648 /aanmf6
1649 ⟨∗aapmcd
1650 \ProvidesFile{achemso-aapmcd.cfg}
1651 [2024-01-30 v3.13g achemso configuration: ACS Appl. Polym. Mater.]
1652 \def\acs@type@list{article,letter,suppinfo}
1653 \setkeys{acs}{keywords = true}
1654 /aapmcd
1655 ⟨∗aastgj
1656 \ProvidesFile{achemso-aastgj.cfg}
1657 [2024-01-30 v3.13g achemso configuration: ACS Agri. Sci. Tech.]
1658 \def\acs@type@list{account,article,letter,retraction,review,viewpoint,suppinfo}
1659 \setkeys{acs}{keywords = true}
1660 /aastgj
1661 ⟨∗abseba
1662 \ProvidesFile{achemso-abseba.cfg}
1663 [2024-01-30 v3.13g achemso configuration: ACS Biomater. Sci. Eng.]
1664 \setkeys{acs}{keywords = true}
1665 \def\acs@type@list{article,review,suppinfo}
1666 /abseba
1667 ⟨∗accacs
1668 \ProvidesFile{achemso-accacs.cfg}
1669 [2024-01-30 v3.13g achemso configuration: ACS Catal.]
1670 \setkeys{acs}{keywords = true}
1671 \def\acs@type@list{article,letter,perspective,review,viewpoints,suppinfo}
1672 \SectionNumbersOff
1673 /accacs
1674 ⟨∗acscii
1675 \ProvidesFile{achemso-acscii.cfg}
1676 [2024-01-30 v3.13g achemso configuration: ACS Central Sci.]
1677 \def\acs@type@list{article,review,suppinfo}
1678 \setkeys{acs}{doi = true}
1679 \SectionNumbersOff
1680 /acscii
1681 ⟨∗acbcct
1682 \ProvidesFile{achemso-acbcct.cfg}
1683 [2024-01-30 v3.13g achemso configuration: ACS Chem. Biol.]
1684 \setkeys{acs}{
46
1685 biblabel = fullstop,
1686 biochem = true,
1687 super = false
1688 }
1689 \def\acs@type@list{article,letter,review,suppinfo}
1690 \SectionNumbersOff
1691 /acbcct
1692 ⟨∗acncdm
1693 \ProvidesFile{achemso-acncdm.cfg}
1694 [2024-01-30 v3.13g achemso configuration: ACS Chem. Neurosci.]
1695 \def\acs@type@list{article,review,letter,suppinfo,viewpoint}
1696 \setkeys{acs}{
1697 biblabel = fullstop,
1698 biochem = true,
1699 keywords = true,
1700 super = false
1701 }
1702 /acncdm
1703 ⟨∗acsccc
1704 \ProvidesFile{achemso-acsccc.cfg}
1705 [2024-01-30 v3.13g achemso configuration: ACS Combinatorial Sci.]
1706 \def\acs@type@list{article,letter,review,perspective,account,note,suppinfo}
1707 \setkeys{acs}{keywords = true}
1708 \SectionNumbersOff
1709 /acsccc
1710 ⟨∗aesccq
1711 \ProvidesFile{achemso-aesccq.cfg}
1712 [2024-01-30 v3.13g achemso configuration: ACS Earth Space Chem.]
1713 \def\acs@type@list{article,suppinfo}
1714 \setkeys{acs}{keywords = true}
1715 /aesccq
1716 ⟨∗aelccp
1717 \ProvidesFile{achemso-aelccp.cfg}
1718 [2024-01-30 v3.13g achemso configuration: ACS Energy Lett.]
1719 \def\acs@type@list{letter,perspective,review,viewpoint,focus}
1720 \SectionsOff
1721 /aelccp
1722 ⟨∗aeecco
1723 \ProvidesFile{achemso-aeecco.cfg}
1724 [2024-01-30 v3.13g achemso configuration: ACS ES&T Eng.]
1725 \def\acs@type@list{article,feature,perspective,review,viewpoint}
1726 \setkeys{acs}{keywords = true}
1727 /aeecco
1728 ⟨∗aewcaa
1729 \ProvidesFile{achemso-aewcaa.cfg}
1730 [2024-01-30 v3.13g achemso configuration: ACS ES&T Water]
1731 \def\acs@type@list{article,feature,perspective,review,viewpoint}
1732 \setkeys{acs}{keywords = true}
1733 /aewcaa
1734 ⟨∗afsthl
1735 \ProvidesFile{achemso-afsthl.cfg}
1736 [2024-01-30 v3.13g achemso configuration: ACS Food Sci. Tech.]
1737 \def\acs@type@list{account,article,perspective,retraction,review,viewpoint}
1738 \setkeys{acs}{keywords = true}
47
1739 /afsthl
1740 ⟨∗ascefj
1741 \ProvidesFile{achemso-ascefj.cfg}
1742 [2024-01-30 v3.13g achemso configuration: ACS Infect. Dis.]
1743 \def\acs@type@list{article,letter,perspective,review,viewpoint,suppinfo}
1744 \setkeys{acs}{keywords = true}
1745 \SectionsOff
1746 /ascefj
1747 ⟨∗amlccd
1748 \ProvidesFile{achemso-amlccd.cfg}
1749 [2024-01-30 v3.13g achemso configuration: ACS Macro Lett.]
1750 \def\acs@type@list{letter,suppinfo}
1751 \SectionsOff
1752 \setlength{\acs@tocentry@height}{4cm}
1753 \setlength{\acs@tocentry@width}{8cm}
1754 /amlccd
1755 ⟨∗amlcef
1756 \ProvidesFile{achemso-amlcef.cfg}
1757 [2024-01-30 v3.13g achemso configuration: ACS Mater. Lett.]
1758 \def\acs@type@list{letter,perspective,review,viewpoint,focus}
1759 \SectionsOff
1760 /amlcef
1761 ⟨∗amclct
1762 \ProvidesFile{achemso-amclct.cfg}
1763 [2024-01-30 v3.13g achemso configuration: ACS Med. Chem. Lett.]
1764 \def\acs@type@list{article,letter,perspective,suppinfo}
1765 \SectionNumbersOff
1766 /amclct
1767 ⟨∗amrcda
1768 \ProvidesFile{achemso-amrcda.cfg}
1769 [2024-01-30 v3.13g achemso configuration: Acc. Mater. Res.]
1770 \def\acs@type@list{account,article,editorial,retraction,suppinfo}
1771 /amrcda
1772 ⟨∗ancac3
1773 \ProvidesFile{achemso-ancac3.cfg}
1774 [2024-01-30 v3.13g achemso configuration: ACS Nano]
1775 \setkeys{acs}{
1776 abbreviations = true,
1777 biblabel = fullstop,
1778 etalmode = truncate,
1779 maxauthors = 20,
1780 keywords = true
1781 }
1782 \def\acs@type@list{article,perspective,suppinfo}
1783 \newcommand*{\latin}[1]{\emph{#1}}
1784 \SectionNumbersOff
1785 /ancac3
1786 ⟨∗acsodf
1787 \ProvidesFile{achemso-acsodf.cfg}
1788 [2024-01-30 v3.13g achemso configuration: ACS Omega.]
1789 \def\acs@type@list{article}
1790 /acsodf
1791 ⟨∗apchd5
1792 \ProvidesFile{achemso-apchd5.cfg}
48
1793 [2024-01-30 v3.13g achemso configuration: ACS Photon.]
1794 \def\acs@type@list{article,letter,perspective,review,suppinfo}
1795 \setkeys{acs}{keywords = true}
1796 \ifx\acs@manuscript\acs@manuscript@letter
1797 \SectionNumbersOff
1798 \fi
1799 /apchd5
1800 ⟨∗aidcbc
1801 \ProvidesFile{achemso-aidcbc.cfg}
1802 [2024-01-30 v3.13g achemso configuration: ACS Sensors]
1803 \def\acs@type@list{article,letter,perspective,review,suppinfo}
1804 \setkeys{acs}{keywords = true}
1805 \SectionNumbersOff
1806 /aidcbc
1807 ⟨∗ascecg
1808 \ProvidesFile{achemso-ascecg.cfg}
1809 [2024-01-30 v3.13g achemso configuration: ACS Sustainable Chem Eng.]
1810 \setkeys{acs}{
1811 biblabel = fullstop,
1812 keywords = true
1813 }
1814 \SectionNumbersOff
1815 \def\acs@type@list{article,feature,letter,perspective,review,suppinfo}
1816 /ascecg
1817 ⟨∗asbcd6
1818 \ProvidesFile{achemso-asbcd6.cfg}
1819 [2024-01-30 v3.13g achemso configuration: ACS Synth. Biol.]
1820 \setkeys{acs}{
1821 abbreviations = true,
1822 biblabel = fullstop,
1823 biochem = true,
1824 keywords = true,
1825 super = false
1826 }
1827 \def\acs@type@list{article,letter,note,tutorial,review,suppinfo}
1828 /asbcd6
1829 ⟨∗ancham
1830 \ProvidesFile{achemso-ancham.cfg}
1831 [2024-01-30 v3.13g achemso configuration: Anal. Chem.]
1832 \def\acs@type@list{article,note,suppinfo}
1833 \SectionNumbersOff
1834 /ancham
1835 ⟨∗bichaw
1836 \ProvidesFile{achemso-bichaw.cfg}
1837 [2024-01-30 v3.13g achemso configuration: Biochemistry]
1838 \setkeys{acs}{
1839 abbreviations = true,
1840 biblabel = brackets,
1841 biochem = true,
1842 }
1843 \SectionNumbersOff
1844 \def\acs@maketitle@extras@hook{%
1845 \par
1846 \acs@title@short@print
49
1847 }
1848 \g@addto@macro{\maketitle}{\newpage}
\acs@author@fnsymbol
Some changes to do with footnotes: symbols are different and symbol number
one can only be used for the title.
1849 \def\acs@author@fnsymbol#1{%
1850 \ensuremath{%
1851 \ifcase #1 *\or
1852 \dagger\or
1853 \ddagger\or
1854 \S\or
1855 \parallel\or
1856 \perp\or
1857 \P\or
1858 \|\or
1859 \bot\or
1860 \#\or
1861 @\or
1862 \triangle\or
1863 \nabla\else
1864 #1%
1865 \fi
1866 }%
1867 }
1868 \def\@maketitle@title@hook{%
1869 \ifnum\acs@footnote@cnt>\@ne
1870 \else
1871 \global\acs@footnote@cnt\@ne
1872 \fi
1873 }
1874 /bichaw
1875 ⟨∗bcches
1876 \ProvidesFile{achemso-bcches.cfg}
1877 [2024-01-30 v3.13g achemso configuration: Bioconjugate Chem.]
1878 \setkeys{acs}{
1879 biochem = true,
1880 super = false
1881 }
1882 \SectionNumbersOff
1883 /bcches
1884 ⟨∗bomaf6
1885 \ProvidesFile{achemso-bomaf6.cfg}
1886 [2024-01-30 v3.13g achemso configuration: Biomacromolecules]
1887 \def\acs@type@list{article,comment,communication,note,review,suppinfo}
1888 \SectionNumbersOff
1889 \AtEndOfClass{\SectionsOn}
1890 /bomaf6
1891 ⟨∗crtoec
1892 \ProvidesFile{achemso-crtoec.cfg}
1893 [2024-01-30 v3.13g achemso configuration: Chem. Res. Toxicol.]
1894 \setkeys{acs}{
1895 abbreviations = true,
1896 biochem = true,
50
1897 keywords = true
1898 }
1899 \def\acs@maketitle@extras@hook{%
1900 \par
1901 \acs@title@short@print
1902 }
1903 \def\acs@type@list{%
1904 article,perspective,profile,review,suppinfo%
1905 }
1906 \SectionNumbersOff
1907 /crtoec
1908 ⟨∗chreay
1909 \ProvidesFile{achemso-chreay.cfg}
1910 [2024-01-30 v3.13g achemso configuration: Chem. Rev.]
1911 \def\acs@type@default{review}
1912 \def\acs@type@list{review}
The references section is numbered in Chem. Rev.
1913 \def\bibsection{\acs@section{\refname}}
1914 /chreay
1915 ⟨∗cmatex
1916 % \begin{macrocode}
1917 \ProvidesFile{achemso-cmatex.cfg}
1918 [2024-01-30 v3.13g achemso configuration: Chem. Mater.]
1919 \setkeys{acs}{keywords = true}
1920 \SectionNumbersOff
1921 \ifx\acs@manuscript\acs@manuscript@communication
1922 \AbstractOff
1923 \SectionsOff
1924 \fi
1925 /cmatex
1926 ⟨∗cgdefu
1927 \ProvidesFile{achemso-cgdefu.cfg}
1928 [2024-01-30 v3.13g achemso configuration: Cryst. Growth Des.]
1929 \def\acs@type@list{%
1930 article,communication,perspective,suppinfo%
1931 }
1932 \SectionNumbersOff
1933 \ifx\acs@manuscript\acs@manuscript@communication
1934 \SectionsOff
1935 \fi
1936 \setlength{\acs@tocentry@height}{8.9 cm}
1937 \setlength{\acs@tocentry@width}{4.6 cm}
1938 /cgdefu
1939 ⟨∗enfuem
1940 \ProvidesFile{achemso-enfuem.cfg}
1941 [2024-01-30 v3.13g achemso configuration: Energy Fuels]
1942 \def\acs@type@list{article,review,suppinfo}
1943 \SectionNumbersOff
1944 /enfuem
1945 ⟨∗esthag
1946 \ProvidesFile{achemso-esthag.cfg}
1947 [2024-01-30 v3.13g achemso configuration: Environ. Sci. Technol.]
1948 \def\acs@type@list{article,feature,perspective,review,suppinfo}
51
1949 \SectionNumbersOff
1950 /esthag
1951 ⟨∗estlcu
1952 \ProvidesFile{achemso-estlcu.cfg}
1953 [2024-01-30 v3.13g achemso configuration: Environ. Sci. Technol. Lett.]
1954 \def\acs@type@list{letter,review,suppinfo}
1955 \SectionNumbersOff
1956 /estlcu
1957 ⟨∗iecred
1958 \ProvidesFile{achemso-iecred.cfg}
1959 [2024-01-30 v3.13g achemso configuration: Ind. Eng. Chem. Res.]
1960 \setkeys{acs}{biblabel = brackets}
1961 \SectionNumbersOff
1962 /iecred
1963 ⟨∗inoraj
1964 \ProvidesFile{achemso-inoraj.cfg}
1965 [2024-01-30 v3.13g achemso configuration: Inorg. Chem.]
1966 \SectionNumbersOff
1967 \ifx\acs@manuscript\acs@manuscript@communication
1968 \AbstractOff
1969 \SectionsOff
1970 \fi
1971 \setkeys{acs}{doi = true}
1972 /inoraj
1973 ⟨∗jaaucr
1974 \ProvidesFile{achemso-jaaucr.cfg}
1975 [2024-01-30 v3.13g achemso configuration: JACS Au]
1976 \def\acs@type@list{spotlight,account,article,communication,letter,perspective,suppinfo}
1977 /jaaucr
1978 ⟨∗jafcau
1979 \ProvidesFile{achemso-jafcau.cfg}
1980 [2024-01-30 v3.13g achemso configuration: J. Agric. Food Chem.]
1981 \setkeys{acs}{keywords = true}
1982 \def\acs@type@list{article,suppinfo}
1983 \SectionNumbersOff
1984 /jafcau
1985 ⟨∗jceda8
1986 \ProvidesFile{achemso-jceda8.cfg}
1987 [2024-01-30 v3.13g achemso configuration: J. Chem. Ed.]
1988 \setkeys{acs}{keywords = true}
1989 \SectionNumbersOff
1990 \def\acs@type@list{article,suppinfo}
1991 \SectionNumbersOff
1992 /jceda8
1993 ⟨∗jceaax
1994 \ProvidesFile{achemso-jceaax.cfg}
1995 [2024-01-30 v3.13g achemso configuration: J. Chem. Eng. Data]
1996 \def\acs@type@list{article,suppinfo}
1997 \def\refname{Literature Cited}
1998 \SectionNumbersOff
1999 /jceaax
2000 ⟨∗jcisd8
2001 \ProvidesFile{achemso-jcisd8.cfg}
2002 [2024-01-30 v3.13g achemso configuration: J. Chem. Inf. Model.]
52
2003 \def\acs@type@list{article,suppinfo}
2004 \SectionNumbersOff
2005 /jcisd8
2006 ⟨∗jctcce
2007 \ProvidesFile{achemso-jctcce.cfg}
2008 [2024-01-30 v3.13g achemso configuration: J. Chem. Theory Comput.]
2009 \def\acs@type@list{article,suppinfo}
2010 \setkeys{acs}{maxauthors = 0}
2011 /jctcce
2012 ⟨∗jmcmar
2013 \ProvidesFile{achemso-jmcmar.cfg}
2014 [2024-01-30 v3.13g achemso configuration: J. Med. Chem.]
2015 \def\acs@type@list{article,letter,perspective,suppinfo}
2016 \SectionNumbersOff
2017 \setlength{\acs@tocentry@height}{5.5cm}
2018 \setlength{\acs@tocentry@width}{21cm}
2019 /jmcmar
2020 ⟨∗jnprdf
2021 \ProvidesFile{achemso-jnprdf.cfg}
2022 [2024-01-30 v3.13g achemso configuration: J. Nat. Prod.]
2023 \renewcommand*{\abstractname}{ABSTRACT}
2024 \renewcommand*{\acknowledgementname}{ACKNOWLEDGEMENT}
2025 \renewcommand*{\suppinfoname}{ASSOCIATED CONTENT}
2026 \SectionNumbersOff
2027 \renewcommand*{\acs@abstract}{%
2028 \quotation
2029 \textbf{\abstractname :}%
2030 }
2031 \AbstractOn
2032 \ifx\acs@manuscript\acs@manuscript@communication
2033 \AbstractOff
2034 \SectionsOff
2035 \fi
2036 \def\refname{REFERENCES}
2037 \captionsetup{
2038 labelfont = bf,
2039 labelsep = period
2040 }
2041 /jnprdf
2042 ⟨∗joceah
2043 \ProvidesFile{achemso-joceah.cfg}
2044 [2024-01-30 v3.13g achemso configuration: J. Org. Chem.]
2045 \ifx\acs@manuscript\acs@manuscript@communication
2046 \AbstractOff
2047 \SectionsOff
2048 \fi
2049 \floatstyle{plaintop}
2050 \restylefloat{scheme}
2051 \floatstyle{plain}
2052 \renewcommand*\acs@type@list{article,communication,note,perspective,review,suppinfo}
2053 /joceah
2054 ⟨∗jpcafh
2055 \ProvidesFile{achemso-jpcafh.cfg}
2056 [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. A]
53
2057 \def\acs@type@list{article,suppinfo}
2058 \setkeys{acs}{
2059 etalmode = truncate,
2060 maxauthors = 10
2061 }
2062 \SectionNumbersOff
2063 \captionsetup[table]{labelfont=bf,textfont=bf}
Title
2064 \g@addto@macro{\maketitle}{\newpage}
2065 /jpcafh
2066 ⟨∗jpcbfk
2067 \ProvidesFile{achemso-jpcbfk.cfg}
2068 [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. B]
2069 \def\acs@type@list{article,suppinfo}
2070 \setkeys{acs}{
2071 etalmode = truncate,
2072 maxauthors = 10
2073 }
2074 \SectionNumbersOff
2075 \captionsetup[table]{labelfont=bf,textfont=bf}
2076 \g@addto@macro{\maketitle}{\newpage}
2077 /jpcbfk
2078 ⟨∗jpccck
2079 \ProvidesFile{achemso-jpccck.cfg}
2080 [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. C]
2081 \def\acs@type@list{article,suppinfo}
2082 \setkeys{acs}{
2083 etalmode = truncate,
2084 maxauthors = 10
2085 }
2086 \SectionNumbersOff
2087 \captionsetup[table]{labelfont=bf,textfont=bf}
2088 \g@addto@macro{\maketitle}{\newpage}
2089 /jpccck
2090 ⟨∗jpclcd
2091 \ProvidesFile{achemso-jpclcd.cfg}
2092 [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. Lett.]
2093 \setkeys{acs}{
2094 etalmode = truncate,
2095 maxauthors = 10
2096 }
2097 \def\acs@type@default{letter}
2098 \def\acs@type@list{letter}
2099 \SectionNumbersOff
2100 \captionsetup[table]{labelfont=bf,textfont=bf}
2101 \g@addto@macro{\maketitle}{\newpage}
2102 \renewcommand{\acs@tocentry@print}[1]{%
2103 \gdef\acs@tocentry@text{#1}%
2104 }
2105 \renewcommand*{\acs@abstract@extras}{%
2106 \begingroup
2107 \acs@tocentry@print@aux
2108 \endgroup
54
2109 \acs@keywords@print
2110 \newpage
2111 }
2112 \setlength\acs@tocentry@height{2in}
2113 \setlength\acs@tocentry@width{2in}
2114 /jpclcd
2115 ⟨∗jprobs
2116 \ProvidesFile{achemso-jprobs.cfg}
2117 [2024-01-30 v3.13g achemso configuration: J. Proteome Res.]
2118 \setkeys{acs}{keywords = true}
2119 \def\acs@type@list{article,review,suppinfo}
2120 \SectionNumbersOff
2121 /jprobs
The J. Am. Chem. Soc. configuration is rather more complicated as there is the
need to construct a “galley-like” layout for communications.
2122 ⟨∗jacsat
2123 \ProvidesFile{achemso-jacsat.cfg}
2124 [2024-01-30 v3.13g achemso configuration: J. Am. Chem. Soc.]
2125 \SectionNumbersOff
2126 \ifx\acs@manuscript\acs@manuscript@communication\else
2127 \expandafter\endinput
2128 \fi
Everything from here onward applies only to communications. Some adjustments
are now made using the existing tools.
2129 \setkeys{acs}{
2130 email = true,
2131 layout = twocolumn
2132 }
2133 \SectionsOff
2134 \acs@layout@nine
abstract (env.) The abstract appears at the start of the document, with lines around it.s
2135 \renewenvironment{abstract}{%
2136 \hrule
2137 \vspace{2 mm}%
2138 \sffamily
2139 \noindent
2140 \emph{\textbf{Abstract:}}%
2141 }{%
2142 \vspace{2 mm}%
2143 \hrule
2144 \vspace{6 mm}%
2145 }
\acksize
\affilsize
\authorsize
\emailsize
\capsize
\refsize
\suppsize
\titlesize
To keep things logical, the size macros are given names related to their function.
Some of these are new, some are defined in the class.
2146 \def\affilsize{%
2147 \@setfontsize\affilsize\@ixpt\@xpt
2148 }
2149 \def\acksize{%
2150 \@setfontsize\acksize\@ixpt\@xipt
2151 }
55
2152 \def\authorsize{%
2153 \@setfontsize\authorsize{10.5}{12.5}%
2154 }
2155 \newcommand*\capsize{%
2156 \@setfontsize\capsize\@viiipt\@ixpt
2157 }
2158 \def\emailsize{%
2159 \@setfontsize\emailsize\@viiipt{15}%
2160 }
2161 \newcommand*\refsize{%
2162 \@setfontsize\refsize{7.5}{7.5}%
2163 }
2164 \def\suppsize{%
2165 \@setfontsize\suppsize{8.5}{10.5}%
2166 }
2167 \def\titlesize{%
2168 \@setfontsize\titlesize\@xiipt{13}%
2169 }
2170 \let\footnotesize\refsize
2171 \let\captionfont\capsize
\emailfont A slight font change.
2172 \def\emailfont{\sffamily}
\ps@plain
\ps@jacs
The header styles are done the hard way, to keep down the number of packages
loaded.
2173 \def\ps@plain{%
2174 \let\@mkboth\@gobbletwo
2175 \let\@oddhead\@empty
2176 \def\@oddfoot{%
2177 \reset@font
2178 \sffamily
2179 \textbf{\thepage}%
2180 \hfil
2181 }%
2182 \let\@evenhead\@empty
2183 \let\@evenfoot\@oddfoot
2184 }
2185 \def\ps@acs{%
2186 \def\@oddfoot{%
2187 \reset@font
2188 \sffamily
2189 \textbf{\thepage}%
2190 \hfil
2191 }%
2192 \def\@evenfoot{%
2193 \reset@font
2194 \hfil
2195 \sffamily
2196 \textbf{\thepage}%
2197 }%
2198 \def\@oddhead{}%
2199 \let\@evenhead\@oddhead
2200 }
56
2201 \pagestyle{acs}
\acs@space@pre@title
\acs@space@post@title
\acs@space@post@author
\acs@space@post@address
\acs@space@post@email
Length adjustments for the title.
2202 \setlength\acs@space@pre@title{16mm}
2203 \setlength\acs@space@post@title{0mm}
2204 \setlength\acs@space@post@author{0mm}
2205 \setlength\acs@space@post@address{0mm}
2206 \setlength\acs@space@post@email{-1mm}
2207 \setlength\acs@maketitle@width{152.4mm}
\acs@contact@details Contact details are different here.
2208 \def\acs@contact@details{%
2209 Received \today; E-mail: \acs@email@list
2210 }
\acs@maketitle@extras No keywords or abbreviations for J. Am. Chem. Soc..
2211 \let\acs@maketitle@extras\relax
Getting the floats correct is a difficult task “by hand”; using the caption package
makes this a lot easier.
2212 \floatstyle{plaintop}
2213 \restylefloat{scheme}
2214 \floatstyle{plain}
2215 \DeclareCaptionLabelSeparator{perquad}{.\quad}
2216 \captionsetup{
2217 singlelinecheck = off,
2218 labelfont = {bf,it,sf},
2219 textfont = sf,
2220 labelsep = perquad
2221 }
2222 \captionsetup[figure]{textfont=rm}
\acs@table
\table
A patch or \table.
2223 \newcommand*\acs@table{}
2224 \let\acs@table\table
2225 \def\table{%
2226 \capsize
2227 \acs@table
2228 }
The bibliography has to be adjusted.
2229 \AtBeginDocument{%
2230 \def\bibsection{%
2231 \@startsection
2232 {section}
2233 {1}
2234 {\z@}{\z@}{2.5mm}%
2235 {\normalfont\acksize\bfseries}
2236 {\hrule\nobreak\vspace{1.2mm}\noindent\refname}%
2237 }%
2238 \let\bibfont\refsize
2239 \setlength{\bibhang}{0.61cm}%
2240 \setlength{\bibsep}{0mm}%
57
2241 }
2242 /jacsat
2243 ⟨∗langd5
2244 \ProvidesFile{achemso-langd5.cfg}
2245 [2024-01-30 v3.13g achemso configuration: Langmuir]
2246 \def\acs@type@list{article,letter,suppinfo}
2247 \SectionNumbersOff
2248 /langd5
2249 ⟨∗mamobx
2250 \ProvidesFile{achemso-mamobx.cfg}
2251 [2024-01-30 v3.13g achemso configuration: Macromolecules]
2252 \SectionNumbersOff
2253 \setkeys{acs}{doi = true}
2254 /mamobx
2255 ⟨∗mpohbp
2256 \ProvidesFile{achemso-mpohbp.cfg}
2257 [2024-01-30 v3.13g achemso configuration: Mol. Pharm.]
2258 \setkeys{acs}{keywords = true}
2259 \def\acs@type@list{article,suppinfo}
2260 \SectionNumbersOff
2261 /mpohbp
2262 ⟨∗nalefd
2263 \ProvidesFile{achemso-nalefd.cfg}
2264 [2024-01-30 v3.13g achemso configuration: Nano Lett.]
2265 \setkeys{acs}{keywords = true}
2266 \def\acs@type@default{letter}
2267 \def\acs@type@list{letter}
2268 \SectionNumbersOff
2269 /nalefd
2270 ⟨∗orlef7
2271 \ProvidesFile{achemso-orlef7.cfg}
2272 [2024-01-30 v3.13g achemso configuration: Org. Lett.]
2273 \def\acs@type@default{communication}
2274 \def\acs@type@list{communication}
2275 \SectionNumbersOff
2276 \setkeys{acs}{layout = twocolumn}
2277 \RequirePackage{xcolor}
2278 \definecolor{orglett}{RGB}{128,0,0}
2279 /orlef7
2280 ⟨∗oprdfk
2281 \ProvidesFile{achemso-oprdfk.cfg}
2282 [2024-01-30 v3.13g achemso configuration: Org. Proc. Res. Dev.]
2283 \def\acs@type@list{article,highlight,review,suppinfo}
2284 \SectionNumbersOff
2285 /oprdfk
2286 ⟨∗orgnd7
2287 \ProvidesFile{achemso-orgnd7.cfg}
2288 [2024-01-30 v3.13g achemso configuration: Organometallics]
2289 \SectionNumbersOff
2290 /orgnd7
58
9 Index
Numbers written in italic refer to the page where the corresponding entry is
described; numbers underlined refer to the code line of the definition; numbers
in roman refer to the code lines where the entry is used.
Symbols
\! . . . . . . . . . . . . . 1524
\# . . . . . . . . . . 833, 1860
\. . . . . . . . . . 1522, 1526
\? . . . . . . . . . . . . . 1523
\@Esphack . . . . . . . 1155
\@abbreviations . . .
. . . . . 546, 557, 559
\@address@i . . . . . . 853
\@affil@i . . . . . . . . 889
\@afterindentfalse
. . . . . . . 1060, 1071
\@afterindenttrue .
. . . . . . . 1059, 1070
\@arabic 1382, 1383, 1384
\@auxout . . . . . . . . . 284
\@bsphack . . . . 174, 1145
\@checkend . . . . . . 1205
\@citex
223, 224, 1531, 1532
\@currenvir
1154, 1186,
1191, 1193, 1323
\@dblarg . . . . 1063, 1064
\@empty . . . . . . . 332,
557, 564, 658,
675, 694, 962,
965, 971, 985,
1002, 1203, 1370,
1510, 2175, 2182
\@esphack . . . . . 206, 210
\@evenfoot . . 2183, 2192
\@evenhead . . 2182, 2199
\@firstofone . . . 123, 127
\@firstoftwo . . . . . .
. 28, 393, 501, 1464
\@floatboxreset . . .
. . . . . . . 1041, 1042
\@fnsymbol . . . . 611,
664, 879, 880, 896
\@for . . . . . . . . 770, 1285
\@gobble . . . . . 325, 1201
\@gobbletwo . . . . . 2174
\@ifclassloaded . . . . 10
\@ifpackageloaded .
. . . . . . . 1450, 1544
\@ifstar 1063, 1074, 1078
\@ifundefined . . 148, 451
\@ignorefalse . . . . 1157
\@ixpt . . . 1279, 1340,
2147, 2150, 2156
\@keywords 546, 564, 566
\@listI . . . . . 1343, 1357
\@listi . . . . . 1343, 1357
\@m . . . . . . . . 1063, 1526
\@makeother . . . . . . 183
\@maketitle . . . . . . 597
\@maketitle@title@hook
. . . . . . . 597, 1868
\@mciteNatbibCiteCmdList
. . 1423, 1424, 1428
\@mciteSubRef . . . . 1431
\@mcitereflabelprefix
. . . . . . . . . . . 1431
\@minus . . 1344, 1346,
1349, 1358, 1360
\@mkboth . . . . . . . . 2174
\@namedef . . . . . . . . 144
\@nameuse . . . . . . 38,
103, 117, 688, 738,
819, 863, 873,
903, 923, 987, 993
\@ne . . . 343, 346, 370,
400, 418, 423,
439, 481, 507,
684, 702, 723,
745, 755, 848,
860, 861, 867,
868, 883, 887,
890, 899, 910,
919, 942, 945,
946, 981, 1869, 1871
\@nil
1464, 1466, 1501, 1514
\@oddfoot 2176, 2183, 2186
\@oddhead 2175, 2198, 2199
\@onelevel@sanitize 192
\@onlypreamble . . . .
. . 336, 352, 385,
492, 527, 536,
545, 550, 555,
1092, 1096, 1102,
1108, 1170, 1175
\@plus . . . . . . . 1344,
1345, 1346, 1349,
1358, 1359, 1360
\@restonecolfalse .
. . . . . . . 1226, 1244
\@restonecoltrue . .
. . . . . . . 1224, 1242
\@roman 344, 347, 371,
374, 377, 403,
424, 426, 441,
444, 447, 451,
452, 455, 457,
478, 482, 484,
510, 521, 530,
539, 688, 716,
734, 738, 746,
765, 771, 782,
788, 863, 869,
873, 903, 911,
923, 944, 951,
983, 984, 987, 993
\@secondoftwo . . . . .
. 30, 395, 503, 1464
\@secpenalty . 1062, 1073
\@sect . . . . . . 1063, 1064
\@setfontsize . . . . .
1279, 1340, 1353,
1356, 2147, 2150,
2153, 2156, 2159,
2162, 2165, 2168
\@ssect . . . . . 1074, 1075
\@startsection 1055,
1066, 1090, 1094,
1113, 1256, 2231
\@tempa . . . . . . . 190,
191, 192, 194,
198, 203, 262,
268, 271, 274,
278, 279, 388,
404, 414, 467,
494, 511, 770,
772, 960, 962,
963, 966, 967,
971, 973, 978,
985, 986, 990,
991, 1002, 1003,
1004, 1153, 1154,
1285, 1286, 1322,
1323, 1392, 1393,
1396, 1397, 1410,
1412, 1424, 1425
59
\@tempb 402, 404, 509,
511, 960, 963,
965, 967, 1411, 1412
\@tempcnta . . . . 390,
400, 403, 407,
415, 427, 440,
453, 458, 468,
472, 479, 496,
507, 510, 514,
677, 684, 688,
697, 703, 710,
716, 734, 738,
747, 765, 771,
782, 788, 857,
859, 860, 863,
865, 866, 867,
869, 873, 881,
890, 899, 900,
903, 905, 919,
920, 930, 942,
943, 944, 951,
979, 981, 982,
983, 984, 987, 993
\@tempcntb . 416, 423,
424, 426, 430,
469, 882, 910,
911, 914, 923,
931, 933, 945, 946
\@tempskipa . . . . . .
1058, 1060, 1062,
1069, 1071, 1073
\@tempswafalse . . . .
. . . . 389, 495, 1284
\@tempswatrue . . . . .
. . . . 405, 512, 1287
\@thanks . . . . . . 655,
658, 661, 662,
675
\@title . . . . . . . 329, 613
\@unusedoptionlist 1370
\@viiipt 1279, 2156, 2159
\@xiipt . 1353, 1356, 2168
\@xipt . . . . . . 1337, 2150
\@xpt . . . 1353, 1356, 2147
\\ . . . . . . . . . . . . . . 650
\{ . . . . . . . . . . . . . . 185
\} . . . . . . . . . . . . . . 186
\^ . . . . . . . . . . . . . . 197
\| . . . . . . . . . . 831, 1858
A
\abbreviations . . . . 546
\abovecaptionskip 1348
\abovedisplayshortskip
. . . . . . . 1345, 1359
\abovedisplayskip .
. . . . . . . . 1344,
1347, 1358, 1361
\abstract 1132, 1167, 1172
abstract (env.) . . . 2135
\abstractname . . . . .
. . 1623, 2023, 2029
\AbstractOff . . . . . 5,
1166
, 1299, 1922,
1968, 2033, 2046
\AbstractOn 5, 1166, 2031
acknowledgement
(env.)
. . . . . 5, 1118, 1307
\acknowledgementname
. . . . 1119, 1124,
1327, 1329, 2024
\acksize . . . . . 1325,
1335
,
2146
, 2235
\acs@abbreviations@print
. . . . . . . 556, 1014
\acs@abstract . . . . .
. . 1131, 1172, 2027
\acs@abstract@end .
. . . . . . . 1131, 1168
\acs@abstract@extras
. . . . . . . 1009, 2105
\acs@abstract@iffalse
. . . . . . . . . . . 1131
\acs@abstract@print 1221
\acs@abstract@start
. . . . . . . 1131, 1167
\acs@abstract@text
. . . . . . . 1222, 1236
\acs@activate@biblabel
. . . . . . . . . . . . 108
\acs@address@list .
. . . . . . . . 631, 839
\acs@address@list@auxi
. . . . . . . . . . . . 839
\acs@address@list@auxii
. . . . . . . . . . . . 839
\acs@affil@alt@cnt
. . . . . . . . . 337,
481, 482, 485,
497, 514, 726,
754, 849, 886, 893
\acs@affil@alt@list
. . . . . . . . 894, 909
\acs@affil@alt@lista@aux
. . . . . . . . . . . . 909
\acs@affil@cnt . . . .
. . . . . 337, 346,
349, 370, 371,
374, 377, 407,
418, 425, 439,
440, 441, 444,
447, 723, 745,
789, 840, 848,
859, 866, 883, 905
\acs@affil@ifdup . .
. . . . . 367, 386, 436
\acs@affil@ifdup@aux
. . . . . 386, 417, 470
\acs@affil@list . . . 877
\acs@affil@list@aux 877
\acs@affil@marker@cnt
. . 340, 746, 748,
751, 755, 756,
759, 772, 773,
777, 787, 789,
790, 794, 858,
861, 862, 868,
872, 887, 888,
889, 900, 901,
902, 920, 921, 922
\acs@affil@swap 368, 412
\acs@affil@swap@aux 412
\acs@alsoaffil@find 434
\acs@altaffil@foot@aux
. . . . . . . . 912, 918
\acs@altaffil@ifdup
. . . . . . . . 477, 493
\acs@altaffil@ifdup@aux
. . . . . . . . . . . . 493
\acs@author@affil .
. . . . . . . . 691, 732
\acs@author@affil@also
. . . . . . . . 692, 764
\acs@author@affil@also@aux
. . . . . . . . . . . . 764
\acs@author@affil@alt
. . . . . . . . 693, 781
\acs@author@affil@alt@aux
. . . . . . . . . . . . 781
\acs@author@affil@aux
. . . . . . . . . . . . 732
\acs@author@cnt . . .
. . . . . 337, 343,
344, 348, 366,
430, 435, 451,
452, 455, 457,
475, 478, 484,
520, 521, 529,
530, 538, 539,
599, 678, 697,
702, 703, 709,
710, 914, 943, 982
60
\acs@author@fnsymbol
. . . . . 611, 664,
722, 751, 759,
777, 794,
797
,
862, 872, 880,
1849
\acs@author@fnsymbol@aux
. . . . . . . . . . . . 797
\acs@author@fnsymbol@loop
. . . . . . . . . . . . 797
\acs@author@fnsymbol@loop@aux@i
. . . . . . . . . . . . 797
\acs@author@fnsymbol@loop@aux@ii
. . . . . . . . . . . . 797
\acs@author@fnsymbol@loop@aux@m
. . . . . . . . . . . . 797
\acs@author@fnsymbol@loop@aux@Q
. . . . . . . . . . . . 797
\acs@author@fnsymbol@symbol
. . . . . . . . . . . . 797
\acs@author@footnotes
. . 682, 721, 749,
750, 757, 758,
774, 775, 791, 792
\acs@author@list
624,
676
\acs@author@list@and
. . . . . . . . 686, 701
\acs@author@list@comma
. . . . . . . . 689, 701
\acs@author@list@main
. . . . . . . . 679, 682
\acs@author@star
690,
715
\acs@author@star@aux 715
\acs@autonote . . . . . 213
\acs@bib@file . . . . .
. . . . . 201, 247,
260, 261, 265, 288
\acs@bib@message 247
, 261
\acs@bib@name . . 247, 260
\acs@bib@write . . . . 253
\acs@bib@write@aux 253
\acs@biblabel@brackets
. . . . . . . . . . . . 129
\acs@biblabel@fullstop
. . . . . . . . . . . . 129
\acs@biblabel@period 129
\acs@biblabel@plain 129
\acs@bibliography .
. . . . . . . . 168, 291
\acs@bibliographystyle
. . . . . . . . . . . 1441
\acs@bibstyle 1434, 1445
\acs@collect . 1180, 1276
\acs@collect@aux . 1180
\acs@collect@begins
. . . . 1178, 1189,
1199, 1201, 1203
\acs@collect@begins@
. . . . . . . . . . . 1180
\acs@collect@body 1180
\acs@collect@content
1176
,
1176
, 1184,
1192, 1195, 1210
\acs@collect@empty@toks
. . . . . . . 1177, 1188
\acs@collect@toks .
1176
, 1181, 1182,
1185, 1188, 1219
\acs@contact@details
. . . . 639, 671, 2208
\acs@email@list . . .
. . . . 672, 926, 2209
\acs@email@list@aux 926
\acs@email@list@font 926
\acs@endabstract . .
. . . . . . . 1131, 1173
\acs@etal@firstonly 96
\acs@etal@truncate . 96
\acs@etal@truncatefalse
. . . . . . . . . . . . 106
\acs@etal@truncatetrue
. . . . . . . . . . . . 107
\acs@floatboxreset 1041
\acs@fnsymbol@org . 877
\acs@footnote@cnt .
. . . . . 340, 615,
748, 756, 773,
790, 858, 888,
901, 921, 1869, 1871
\acs@iffalse . . . . . 1165
\acs@ifundefined . .
. . . . . . . 24, 35,
98, 112, 716, 733,
765, 782, 869,
911, 944, 983, 984
\acs@journal . . . . . .
. . . . 80, 1363, 1365
\acs@keyval@bool . .
34
, 51, 54, 57, 60,
63, 66, 69, 72, 75, 78
\acs@keywords@print
. . . 556, 1018, 2109
\acs@killabstract 1299
\acs@killsecs . . . . 1300
\acs@layout 80, 1393, 1397
\acs@layout@nine . .
. . . . . . . 1337, 2134
\acs@layout@shared
. . 1307, 1394, 1398
\acs@layout@ten . . 1337
\acs@maketitle@extras
. . . . . . . 1022, 2211
\acs@maketitle@extras@hook
. . 1022, 1844, 1899
\acs@maketitle@suppinfo
. . . . . . . . 613, 648
\acs@maketitle@width
. . . . 575, 606, 2207
\acs@manuscript . . .
. . 80, 649, 1286,
1292, 1295, 1372,
1375, 1379, 1796,
1921, 1933, 1967,
2032, 2045, 2126
\acs@manuscript@communication
. . . . . . . . . 138,
1921, 1933, 1967,
2032, 2045, 2126
\acs@manuscript@letter
. . . . . . . 138, 1796
\acs@manuscript@note
. . . . . . . 138, 1372
\acs@manuscript@review
. . . . . . . 138, 1375
\acs@manuscript@suppinfo
. . . . 138, 649, 1379
\acs@maxauthors . 80, 278
\acs@niib@after@text
. . . . . . . . . 154,
162,
172
, 207, 211
\acs@niib@create . .
. . . . 143, 313, 1451
\acs@niib@no@write
. . . . . . . . 178, 209
\acs@niib@text . . . .
. . . . . 155, 163, 173
\acs@niib@write 176, 181
\acs@niib@write@aux@i
. . . . . . . . . . . . 181
\acs@niib@write@aux@ii
. . . . . . . . . . . . 181
\acs@nmv@activate . 213
\acs@number@list
673,
957
\acs@number@list@aux@i
. . . . . . . . . . . . 957
\acs@number@list@aux@ii
. . . . . . . . . . . . 957
\acs@par . . . . 1305, 1332
\acs@section . . . . . .
1048
, 1104, 1119,
61
1122, 1127, 1228,
1257, 1329, 1913
\acs@sections@none
. . . . . . . . 1077,
1098, 1099, 1100
\acs@sections@none@aux
. . . . . . . . . . . 1077
\acs@setkeys . . . . . 1298
\acs@space@post@address
. . . . 575, 634, 2202
\acs@space@post@author
. . . . 575, 627, 2202
\acs@space@post@email
. . . . 575, 642, 2202
\acs@space@post@title
. . . . 575, 619, 2202
\acs@space@pre@title
. . . . 575, 604, 2202
\acs@startsection .
. . . . . . . 1056, 1094
\acs@startsection@alt
. . . . . . . 1067, 1090
\acs@startsection@orig
. . 1048, 1113, 1256
\acs@subsection . . .
. . . . . . . 1048, 1105
\acs@subsubsection
. . . . . . . 1048, 1106
\acs@table . . . . . . 2223
\acs@title@footnote
. . . . . . . . 612, 653
\acs@title@footnote@check
. . . . . . . . 614, 653
\acs@title@short 329
, 572
\acs@title@short@print
. . . 556, 1846, 1901
\acs@tocentry@height
. . . . . . . . 1265,
1272, 1274, 1752,
1936, 2017, 2112
\acs@tocentry@print
. . 1238, 1276, 2102
\acs@tocentry@print@aux
. . . . . . . 1238, 2107
\acs@tocentry@text
. . . . . . . 1238, 2103
\acs@tocentry@width
. . . . . . . . 1264,
1273, 1275, 1753,
1937, 2018, 2113
\acs@type@check . . .
. . . . . . . 1281, 1371
\acs@type@default .
1281
, 1302, 1911,
2097, 2266, 2273
\acs@type@list 1281,
1303, 1561, 1567,
1573, 1579, 1585,
1591, 1597, 1603,
1609, 1615, 1622,
1628, 1634, 1640,
1646, 1652, 1658,
1665, 1671, 1677,
1689, 1695, 1706,
1713, 1719, 1725,
1731, 1737, 1743,
1750, 1758, 1764,
1770, 1782, 1789,
1794, 1803, 1815,
1827, 1832, 1887,
1903, 1912, 1929,
1942, 1948, 1954,
1976, 1982, 1990,
1996, 2003, 2009,
2015, 2052, 2057,
2069, 2081, 2098,
2119, 2246, 2259,
2267, 2274, 2283
\acs@validtype . . . 1301
\acs@warning 5, 22, 36,
99, 113, 354, 360,
382, 462, 489,
524, 533, 542,
600, 736, 843,
934, 1085, 1141,
1291, 1364, 1444
\active . . . . . 1136, 1146
\addpenalty . 1062, 1073
\addvspace . . 1062, 1073
\advance 343, 346, 370,
400, 418, 423,
439, 481, 507,
684, 748, 756,
773, 789, 790,
860, 861, 867,
868, 888, 899,
901, 910, 919,
921, 942, 945, 981
\affilfont . . . . 591, 630
\affiliation . . . . 4, 365
\affilsize 587, 629, 2146
\aftergroup . . . 393,
395, 1010, 1394, 1398
\alsoaffiliation 4, 434
\altaffiliation . 4, 474
\and . . . . . . . . . . . 4, 353
\arabic . . . . . . . . . 1381
articletitle (option) . 6
\AtBeginDocument . .
. . . . . 213, 258,
291, 297, 328,
1047, 1308, 1385,
1449, 1555, 2229
\AtEndDocument . . . .
. . . 287, 1236, 1240
\AtEndOfClass . . . . .
122, 123, 1125, 1889
\AtEndOfPackage 126, 127
\author . . . . . . . . 4, 342
\authorfont 591, 591, 622
\authorsize 587, 621, 2146
B
\begin . . . . . 605, 606,
607, 1200, 1213,
1261, 1264, 1916
\begingroup . 26, 182,
345, 387, 413,
466, 476, 660,
663, 928, 958,
1109, 1112, 1135,
1190, 1255, 1391,
1461, 1482, 2106
\belowdisplayshortskip
. . . . . . . 1346, 1360
\belowdisplayskip .
. . . . . . . 1347, 1361
\bfseries . . . . 594, 2235
\bibfont . . . . . . . . 2238
\bibhang . . . . . . . . 2239
biblabel (option) . . . . . 7
\bibliography . . . . . 291
\bibliographystyle
. . 1437, 1439, 1441
\bibnote . . . . . . . . .
7, 143, 143, 232, 243
\bibnotemark . . . . 7, 143
\bibnotetext . . . . 7, 143
\bibnumfmt . . . . 129,
130, 131, 132, 1388
\bibsection . . . . . .
. . 1124, 1913, 2230
\bibsep . . . . . . . . . 2240
biochem (option) . . . . . 7
biochemistry (option) . 7
\bot . . . . . . . . . 832, 1859
C
\c@figure . . . . . . . 1382
62
\c@footnote . . . . . . 615
\c@scheme . . . . . . . 1383
\c@table . . . . . . . . 1384
\capsize . . . . 2146, 2226
\captionfont . . . . . 2171
\captionsetup . 2037,
2063, 2075, 2087,
2100, 2216, 2222
\catcode . . . . . . 185,
186, 197, 1136,
1137, 1138, 1139,
1146, 1147, 1462
\centering . . . . . . 1043
chaptertitle (option) . 6
chart (env.) . . . . . 5, 1028
\chartname . . . . . . 1034
\citation . . . . . . . . 285
\cite . . 154, 159, 225,
226, 237, 238,
1529
\citenum . . . . . . 232, 243
\citenumfont . 1387, 1402
\ClassWarning . . . . . . . 5
\closeout . . . . . . . . 288
\columnsep . . . . . . 1319
\csname . . . . . . . . . .
27, 344, 347, 371,
374, 377, 403,
424, 426, 441,
444, 447, 452,
455, 457, 478,
482, 484, 510,
521, 530, 539,
734, 746, 771,
788, 951, 1191, 1193
D
\dagger . . . . . . 827, 1852
\ddagger . . . . . 828, 1853
\DeclareCaptionLabelSeparator
. . . . . . . . . . . 2215
\DeclareRobustCommand
. . . . . 152, 157, 161
\def . . . . . . 85, 88, 91,
94, 129, 130, 131,
132, 149, 154, 190,
191, 194, 214, 293,
342, 353, 359,
388, 401, 414,
467, 494, 508,
597, 685, 821,
929, 978, 980,
1042, 1126, 1153,
1189, 1198, 1213,
1222, 1302, 1303,
1322, 1338, 1339,
1352, 1381, 1392,
1396, 1407, 1410,
1411, 1431, 1436,
1443, 1478, 1483,
1519, 1561, 1567,
1573, 1579, 1585,
1591, 1597, 1603,
1609, 1615, 1622,
1623, 1628, 1634,
1640, 1646, 1652,
1658, 1665, 1671,
1677, 1689, 1695,
1706, 1713, 1719,
1725, 1731, 1737,
1743, 1750, 1758,
1764, 1770, 1782,
1789, 1794, 1803,
1815, 1827, 1832,
1844, 1849, 1868,
1887, 1899, 1903,
1911, 1912, 1913,
1929, 1942, 1948,
1954, 1976, 1982,
1990, 1996, 1997,
2003, 2009, 2015,
2036, 2057, 2069,
2081, 2097, 2098,
2119, 2146, 2149,
2152, 2158, 2164,
2167, 2172, 2173,
2176, 2185, 2186,
2192, 2198, 2208,
2225, 2230, 2246,
2259, 2266, 2267,
2273, 2274, 2283
\define@key 50, 53, 56,
59, 62, 65, 68, 71,
74, 77, 84, 87, 90,
93, 97, 108, 111, 1409
\definecolor . . . . . 2278
\do . . . . . . 183, 771, 1285
\document . . . . . . . 1027
\doi . . . . . . . . . . . . . . . 6
doi (option) . . . . . . . . . 6
\dospecials . . . . . . 184
\doublespacing . . . . 328
E
\edef . . . . . . 262, 986,
990, 1184, 1192,
1199, 1424, 1428
\else . . . . . . . 29, 177,
217, 269, 272,
276, 280, 324,
376, 381, 394,
406, 446, 461,
488, 502, 513,
523, 532, 541,
557, 564, 659,
678, 694, 702,
725, 753, 805,
814, 816, 842,
852, 885, 943,
964, 965, 971,
982, 989, 1002,
1061, 1072, 1160,
1207, 1214, 1225,
1232, 1243, 1249,
1290, 1328, 1405,
1415, 1427, 1438,
1472, 1497, 1514,
1863, 1870, 2126
\email . . . . . . . . . 4, 519
email (option) . . . . . . . 3
\emailfont 591, 637, 2172
\emailsize 587, 636, 2146
\emergencystretch 1311
\emph . . . . . . . 1783, 2140
\end . . . . . . . 643, 644,
645, 1148, 1186,
1198, 1200, 1208,
1214, 1266, 1268
\endabstract . . 1009,
1134, 1168, 1173
\endcsname . . . . . . .
27, 344, 348, 371,
374, 377, 403,
424, 426, 441,
444, 447, 453,
456, 457, 479,
483, 485, 510,
521, 530, 539,
734, 747, 771,
788, 951, 1191, 1193
\endgroup 26, 193, 350,
397, 420, 471,
487, 666, 668,
939, 975, 1115,
1117, 1155, 1164,
1204, 1269, 1400,
1467, 1489, 2108
\endinput . . . . . 15, 2127
\ensuremath . . 798, 1850
environments:
abstract . . . . . 2135
acknowledgement
. . . . . 5, 1118, 1307
63
chart . . . . . . . 5, 1028
graph . . . . . . . 5, 1028
scheme . . . . . . 5, 1028
suppinfo 5, 1118, 1307
tocentry . . . . 5, 1276
etalmode (option) . . . . . 6
\everypar . . . 1061, 1072
\expandafter . 26, 27,
28, 30, 176, 178,
193, 194, 216,
218, 255, 323,
325, 344, 347,
371, 374, 377,
401, 402, 405,
408, 424, 426,
431, 441, 444,
447, 452, 455,
471, 472, 478,
482, 484, 498,
501, 503, 508,
509, 512, 515,
521, 530, 539,
639, 661, 679,
698, 746, 770,
787, 799, 804,
806, 815, 841,
851, 884, 894,
906, 915, 949,
950, 954, 998,
1110, 1161, 1182,
1191, 1193, 1201,
1215, 1219, 1287,
1445, 1471, 1473,
1498, 1501, 1515,
1519, 1546, 2127
F
\fax . . . . . . . . . . . 4, 528
\fbox . . . . . . . . . . . 1262
\fi . 31, 169, 179, 219,
256, 269, 272,
276, 280, 326,
334, 379, 383,
396, 409, 410,
429, 432, 449,
463, 490, 499,
504, 516, 517,
525, 534, 543,
561, 568, 601,
640, 651, 669,
680, 696, 699,
705, 706, 712,
713, 728, 729,
761, 762, 807,
814, 816, 837,
844, 848, 849,
854, 891, 892,
895, 907, 916,
938, 948, 955,
969, 970, 974,
995, 999, 1006,
1016, 1020, 1057,
1060, 1062, 1068,
1071, 1073, 1148,
1159, 1162, 1209,
1216, 1227, 1234,
1245, 1251, 1288,
1296, 1330, 1374,
1378, 1390, 1395,
1399, 1408, 1418,
1429, 1440, 1474,
1499, 1500, 1513,
1516, 1528, 1547,
1798, 1865, 1872,
1924, 1935, 1970,
2035, 2048, 2128
\floatname . . . . . . .
. . 1029, 1031, 1033
\floatplacement . . .
. . . . . . . 1037, 1038
\floatstyle
1039, 2049,
2051, 2212, 2214
\footnote . . . . . . . . 612
\footnotemark . . . . . 654
\footnotesize . . . . 2170
\footnotetext . . . . .
. 655, 889, 902, 922
\frenchspacing . . . .
623, 1519, 1520, 1527
\futurelet . . . . . . 1492
G
\g@addto@macro . . . .
655, 1009, 1026,
1027, 1848, 2064,
2076, 2088, 2101
\gdef . . 330, 331, 344,
371, 374, 377,
441, 444, 447,
482, 521, 530,
539, 547, 552,
1140, 1152, 1239,
1463, 1466, 2103
\geometry . . . . . . . 1312
\global . . . . 333, 343,
370, 439, 481,
615, 1157, 1219,
1222, 1484, 1871
graph (env.) . . . . . 5, 1028
\graphname . . . . . . 1034
H
\hfil . . . 2180, 2190, 2194
\hrule . . 2136, 2143, 2236
I
\if@filesw . . . . 175, 254
\if@ignore . . . . . . 1156
\if@nobreak . 1061, 1072
\if@noskipsec 1057, 1068
\if@restonecol 1230, 1247
\if@tempswa 392, 500, 1290
\if@twocolumn 1223, 1241
\ifacs@abbreviations
. . . . . . . . 41, 1013
\ifacs@articletitle
. . . . . . . . . 41, 269
\ifacs@biochem . 41, 1435
\ifacs@chaptertitle
. . . . . . . . . 41, 272
\ifacs@doi . . . . . 41, 276
\ifacs@email . . . . 41, 638
\ifacs@etal@truncate
. . . . . . . . . 96, 280
\ifacs@hyperref . 41, 322
\ifacs@keywords 41, 1017
\ifacs@super . . . 41, 1403
\ifcase . . . . . . 826, 1851
\ifdim . . . . . . 1060, 1071
\iffalse . . . . 1150, 1165
\IfFileExists . . . . 1421
\ifin@ . . . . . . . . . . 1426
\ifNAT@super . . 215, 1545
\ifnmv@cite . 1468, 1470
\ifnum . . . . . . . . 166,
366, 407, 424,
430, 435, 475,
497, 514, 520,
529, 538, 599,
678, 697, 702,
703, 709, 710,
723, 726, 745,
754, 803, 814,
816, 840, 847,
848, 849, 859,
866, 883, 886,
893, 905, 914,
933, 943, 946,
982, 1497, 1526, 1869
\ifx . 27, 332, 373, 404,
443, 511, 557,
64
564, 649, 658,
694, 962, 965,
971, 985, 1002,
1154, 1203, 1214,
1286, 1323, 1372,
1375, 1379, 1393,
1397, 1412, 1496,
1510, 1514, 1796,
1921, 1933, 1967,
2032, 2045, 2126
\ignorespaces . . . . 1158
\immediate . 201, 260,
261, 265, 284, 288
\in@ . . . . . . . . . . . . 1424
\input . . . . . . . . . . 1368
\InputIfFileExists 1363
\intextsep . . . . . . 1349
\itshape . . . . . . . . . 591
J
\jobname . . 168, 252, 294
journal (option) . . . . . 3
K
\keywords . . . . . . . . 546
L
\LARGE . . . . . . . . . . . 590
\large . . . . . . . . . . . 588
\lastskip . . . . . . . 1480
\latin . . . . . 6, 297, 1783
layout (option) . . . . . . 3
\leavevmode . . . . . .
. . 1057, 1068, 1479
\let 122, 123, 126, 127,
162, 183, 223, 224,
225, 237, 292,
333, 596, 611,
612, 664, 675,
879, 880, 896,
960, 963, 1041,
1047, 1049, 1051,
1053, 1055, 1066,
1090, 1094, 1098,
1099, 1100, 1104,
1105, 1106, 1113,
1132, 1134, 1148,
1149, 1167, 1168,
1172, 1173, 1191,
1256, 1295, 1299,
1300, 1306, 1324,
1343, 1357, 1370,
1442, 1495, 1505,
1506, 1512, 1531,
1532, 1533, 2170,
2171, 2174, 2175,
2182, 2183, 2199,
2211, 2224, 2238
\LoadClass . . . . . . . . . 4
\long . . . . . 190, 1198,
1213, 1222, 1339,
1352, 1463, 1466
\loop . . . . . . . . . 859, 866
M
\maketitle . . . 1026,
1027, 1848, 2064,
2076, 2088, 2101
\MakeUppercase . . . 1004
manuscript (option) . . . 3
\mathchardef . 1518, 1521
maxauthors (option) . . . 6
\MessageBreak 12, 18,
100, 114, 356, 362,
737, 935, 1142,
1292, 1365, 1550
N
\nabla . . . . . . . 836, 1863
\natmovechars . . . . .
. . . . . 8, 1501, 1556
\newcommand 5, 22, 25,
34, 80, 81, 82, 83,
106, 107, 120, 129,
130, 131, 132, 138,
139, 140, 141, 142,
143, 165, 172, 173,
181, 189, 200, 209,
222, 236, 248,
252, 253, 259,
365, 386, 399,
412, 422, 434,
465, 474, 493,
506, 519, 528,
537, 546, 549,
551, 554, 556,
563, 570, 587,
588, 589, 590,
591, 592, 593,
594, 595, 647,
648, 653, 657,
671, 676, 682,
683, 701, 708,
715, 720, 732,
744, 764, 769,
781, 786, 797,
802, 810, 813,
818, 824, 825,
839, 846, 856,
877, 878, 898,
909, 918, 926,
927, 941, 957,
977, 1008, 1012,
1022, 1025, 1034,
1035, 1036, 1046,
1048, 1050, 1052,
1054, 1056, 1067,
1077, 1084, 1089,
1093, 1097, 1103,
1124, 1130, 1131,
1133, 1165, 1166,
1171, 1178, 1179,
1180, 1197, 1212,
1218, 1221, 1238,
1254, 1271, 1277,
1278, 1281, 1282,
1283, 1298, 1301,
1305, 1307, 1335,
1336, 1337, 1351,
1434, 1441, 1459,
1460, 1469, 1476,
1477, 1487, 1491,
1494, 1504, 1508,
1509, 1529, 1530,
1543, 1556, 1783,
2155, 2161, 2223
\newcount . . . . . 337,
338, 339, 340, 341
\newcounter . . . . . . 148
\newenvironment . . .
. . 1118, 1121, 1276
\newfloat 1028, 1030, 1032
\newif . . . . . . . . . 41,
42, 43, 44, 45, 46,
47, 48, 49, 96, 1468
\newlength . . . . 575,
577, 579, 581,
583, 585, 1272, 1273
\newpage . . 602, 1226,
1233, 1244, 1250,
1848, 2064, 2076,
2088, 2101, 2110
\newtoks . . . . 1176, 1177
\newwrite . . . . . . . . 247
\nmv@activate 1529, 1546
\nmv@after . . . . . . .
. . 1476, 1483, 1488
\nmv@cite
225, 229, 237,
240, 1533, 1537, 1540
\nmv@citefalse
1484, 1539
\nmv@citetrue . 228, 1536
\nmv@citex 224, 1469, 1532
65
\nmv@citex@end 1487
, 1495
\nmv@citex@get@next
. . . . . . . . 1485,
1491
, 1506, 1512
\nmv@citex@loop . . .
. . . . . . . 1494, 1512
\nmv@citex@moving .
. . . . . . . 1471, 1477
\nmv@citex@nat . . . .
223, 1473, 1483,
1529
\nmv@citex@next 1491,
1496, 1505, 1510
\nmv@citex@punct . .
. . . . . . . 1492, 1494
\nmv@citex@punct@aux
. . . . . . . 1501, 1509
\nmv@citex@punct@undouble
. . . . . . . . . . . 1494
\nmv@citex@sfac . . .
. . . . . . . 1497, 1518
\nmv@ifmtarg . . . . . .
227, 239, 1459, 1535
\nmv@natbib@detect
. . . . . . . 213, 1543
\nmv@xifmtarg . . . . 1459
\nobreak . . . . . . . . 2236
\nocite . . . 167, 231, 242
\noexpand . 664, 1113,
1186, 1193, 1424
\noindent . . . 2139, 2236
\normalfont . . . . . 2235
\normalsize . . . . . .
. 587, 589, 1239,
1335, 1336, 1339,
1340, 1342, 1352,
1353, 1355, 1356
\null . . . . . . . . . . . . 603
\number . . . . . . . . . . 799
O
\onecolumn . . 1224, 1242
\openout . . . . . . . . . 260
options:
articletitle . . . . . 6
biblabel . . . . . . . . 7
biochem . . . . . . . . . 7
biochemistry . . . . . 7
chaptertitle . . . . . 6
doi . . . . . . . . . . . . . 6
email . . . . . . . . . . . 3
etalmode . . . . . . . . 6
journal . . . . . . . . . 3
layout . . . . . . . . . . 3
manuscript . . . . . . 3
maxauthors . . . . . . 6
super . . . . . . . . . . . 6
\or 826, 827, 828, 829,
830, 831, 832,
833, 834, 835,
1851, 1852, 1853,
1854, 1855, 1856,
1857, 1858, 1859,
1860, 1861, 1862
P
\P . . . . . . . . . . 829, 1857
\p@ . . . . . 1344, 1345,
1346, 1348, 1349,
1358, 1359, 1360
\PackageInfo 11, 17, 1549
\PackageWarning . . . . 22
\pagestyle . . . 598, 2201
\par . . . 560, 567, 573,
617, 625, 632,
853, 863, 873,
972, 1015, 1019,
1058, 1069, 1306,
1324, 1845, 1900
\parallel . . . . . . . 1855
\parindent . . . . . . 1320
\perp . . . . . . . . . . . 1856
\phone . . . . . . . . . 4, 528
\plainref . . . 1046, 1431
\printbibnotes . . . . 143
\ProcessOptionsX . . 137
\protected@edef . . .
. . 721, 749, 757,
774, 791, 966, 1003
\providecommand
298, 1423
\ProvidesClass . . . . . . 2
\ProvidesFile . . . . .
. . . . 1559, 1565,
1571, 1577, 1583,
1589, 1595, 1601,
1607, 1613, 1619,
1626, 1632, 1638,
1644, 1650, 1656,
1662, 1668, 1675,
1682, 1693, 1704,
1711, 1717, 1723,
1729, 1735, 1741,
1748, 1756, 1762,
1768, 1773, 1787,
1792, 1801, 1808,
1818, 1830, 1836,
1876, 1885, 1892,
1909, 1917, 1927,
1940, 1946, 1952,
1958, 1964, 1974,
1979, 1986, 1994,
2001, 2007, 2013,
2021, 2043, 2055,
2067, 2079, 2091,
2116, 2123, 2244,
2250, 2256, 2263,
2271, 2281, 2287
\ProvidesPackage 8, 1456
\ps@acs . . . . . . 595, 2185
\ps@jacs . . . . . . . . 2173
\ps@plain . . . . 596, 2173
Q
\Q . . . . . . . . . . . . . 1462
\quad . . . . . . . . . . . 2215
\quotation . . . . . . 2028
R
\ref . . . . . . . . . . . . 1046
\refname . 1127, 1913,
1997, 2036, 2236
\refsize . . . . 2146, 2238
\relax
27, 162, 166, 185,
186, 197, 260,
288, 343, 365,
366, 370, 373,
390, 400, 407,
415, 416, 418,
423, 425, 430,
434, 435, 439,
440, 443, 468,
469, 472, 475,
481, 496, 497,
507, 514, 520,
529, 538, 599,
677, 678, 684,
697, 702, 703,
709, 710, 723,
726, 745, 747,
748, 754, 755,
756, 772, 773,
788, 789, 790,
881, 882, 883,
886, 887, 888,
890, 893, 899,
900, 901, 905,
910, 914, 919,
920, 921, 930,
931, 933, 942,
943, 945, 946,
979, 981, 982,
1058, 1069, 1137,
1138, 1139, 1147,
66
1310, 1311, 1324,
1344, 1345, 1346,
1347, 1348, 1349,
1358, 1359, 1360,
1361, 1462, 1480,
1485, 1496, 1505,
1518, 1521, 2211
\renewcommand . . . . .
. . 226, 238, 329,
1382, 1383, 1384,
1387, 1388, 1414,
1417, 1534, 2023,
2024, 2025, 2027,
2052, 2102, 2105
\renewenvironment .
. . . . . . . 1321, 2135
\repeat . . . . . . . 864, 875
\RequirePackage . 33,
314, 315, 323,
1404, 1406, 1420,
1422, 1458, 2277
\reset@font . . . . . .
. . 2177, 2187, 2193
\restylefloat . . . . .
. . 1040, 2050, 2213
\romannumeral . . . . . 815
S
\S . . . . . . . . . . 830, 1854
scheme (env.) . . . . 5, 1028
\schemename . . . . . 1034
\section . . . 558, 565,
571, 1049, 1098, 1104
\SectionNumbersOff 5,
1089
, 1672, 1679,
1690, 1708, 1765,
1784, 1797, 1805,
1814, 1833, 1843,
1882, 1888, 1906,
1920, 1932, 1943,
1949, 1955, 1961,
1966, 1983, 1989,
1991, 1998, 2004,
2016, 2026, 2062,
2074, 2086, 2099,
2120, 2125, 2247,
2252, 2260, 2268,
2275, 2284, 2289
\SectionNumbersOn .
. . . . . 5, 1089, 1377
\SectionsOff . 5, 1097,
1300, 1373, 1720,
1745, 1751, 1759,
1923, 1934, 1969,
2034, 2047, 2133
\SectionsOn . . . . . .
. 5, 1097, 1376, 1889
\setcitestyle 1413, 1416
\setkeys 109, 133, 302,
1298, 1380, 1562,
1568, 1574, 1580,
1586, 1592, 1598,
1604, 1610, 1616,
1621, 1629, 1635,
1641, 1647, 1653,
1659, 1664, 1670,
1678, 1684, 1696,
1707, 1714, 1726,
1732, 1738, 1744,
1775, 1795, 1804,
1810, 1820, 1838,
1878, 1894, 1919,
1960, 1971, 1981,
1988, 2010, 2058,
2070, 2082, 2093,
2118, 2129, 2253,
2258, 2265, 2276
\setlength . 576, 578,
580, 582, 584,
586, 1274, 1275,
1319, 1320, 1752,
1753, 1936, 1937,
2017, 2018, 2112,
2113, 2202, 2203,
2204, 2205, 2206,
2207, 2239, 2240
\sf . . . . . . . . . . . . . 926
\sfcode . . . . . . 1522,
1523, 1524, 1526
\sffamily
592, 594, 672,
1259, 2138, 2172,
2178, 2188, 2195
\singlespacing
1260, 1308
\skip@ . . . . . . . . . . 1480
\space . 203, 263, 268,
271, 274, 275,
278, 355, 361,
687, 704, 967, 1444
\spacefactor . . . . . 1497
\stepcounter . . . 153, 158
\string . . . . 202, 203,
204, 266, 282,
285, 355, 361, 1444
\subsection . . . . . .
. . 1051, 1099, 1105
\subsubsection . . . .
. . 1053, 1100, 1106
super (option) . . . . . . . 6
suppinfo (env.) . . . .
. . . . . 5, 1118, 1307
\suppinfoname . . . . .
. . 1122, 1124, 2025
\suppsize . . . 1335, 2146
T
\table . . . . . . . . . . 2223
\tableofcontents . 1109
\textbf . . . . . . . . . .
1327, 2029, 2140,
2179, 2189, 2196
\textit . . . . . 1407, 1417
\textsuperscript . . 695
\textwidth . . . . . . . 586
\thanks . . . . . . . . 4, 353
\the . . . . . . . 150, 166,
349, 427, 453,
458, 472, 479,
485, 665, 1114,
1182, 1185, 1219
\thebibnote . . . . . . 143
\thefigure . . . . . . 1382
\thepage . . . . . 1371,
2179, 2189, 2196
\thescheme . . . . . . 1383
\thetable . . . . . . . 1384
\title . . . . . . . . . 4, 329
\titlefont . . . . 591, 609
\titlesize 587, 610, 2146
tocentry (env.) . . 5, 1276
\tocentryname 1257, 1277
\tocsize . . . . 1258, 1278
\today . . . . . . . . . . 2209
\toks@ 661, 665, 1110, 1114
\tolerance . . . . . . 1310
\triangle . . . . 835, 1862
\tw@ . . . . . . . . . . . . . 709
\twocolumn . . . . . . .
. . 1231, 1248, 1309
U
\unskip . . . . . . . . . 1481
\url . . . . . . . . . . . . . 949
\UrlFont . . . . . . . . . 929
V
\value . . . . . . . . 150, 166
\vbox . . . . . . . . . . . 1265
\vspace . . . . . . . 604,
619, 627, 634,
67
642, 1326, 2137,
2142, 2144, 2236
W
\write . 201, 261, 265, 284
X
\xdef
347, 426, 452, 455,
478, 484, 662, 1111
Z
\z@ . . . . . . . 166, 366,
390, 415, 416,
435, 468, 469,
475, 496, 497,
520, 529, 538,
599, 677, 678,
722, 726, 754,
840, 849, 850,
857, 865, 881,
882, 886, 893,
930, 931, 933,
979, 1060, 1071,
1345, 1359, 2234
10 References
[1] This note text will be in the bibliography.
[2]
Coghill, A. M., Garson, L. R., Eds. The ACS Style Guide, 3rd ed.; Oxford
University Press, Inc. and The American Chemical Society: New York, 2006.
68